janslow/qlab-from-csv

Change language from Ruby to a language which allows

Closed this issue · 1 comments

Ruby requires 3rd party tooling and interpreters to be installed and it's not massively easy to build a single archive with a Ruby gem and all it's dependencies, so internet access is required.

Show machines should have minimal software installed and often no internet connection, so Ruby is not ideal. Limiting the selection to languages which would allow self contained applications (and that I am comfortable I can create the app with), we have the following choices:

  • C - Can be packaged as an OS X App and run without any 3rd party libraries. However, quite hard to maintain and involves a lot of boilerplate and reinventing the wheel.
  • Java - A JAR file and it's dependencies can be packaged as an OS X app with a JRE, making it self contained. However, it also requires a fair amount of code for simple tasks and the JRE is quite large.
  • Swift - The new kid on the block. A compiled language which will run on it's own on OS X. It's designed by Apple for OS X/iOS, so all the tooling is available to create a self contained app.

C is immediately discarded, because it's C.

Java is an option, but I'm going to go with Swift. Java has the advantage of me knowing it quite well, but Swift should produce a much simpler codebase which can be maintained by others.

Finished in 1.0. in Swift.