Version 2 (modified by ibboard, 11 years ago) (diff)

--

Why .Net and not my language of choice?

I've been [url=http://forums.hiveworldterra.co.uk/viewtopic.php?p=7478#p7478]asked beforeurl about why I chose .Net/C# for WarFoundry. The following is a reproduction of my answer, plus any other reasons I think of at a later date.

Why .Net and not Java?

While I use Java every day at work, mainly through the powerful Eclipse IDE, I didn't want to use Java for several reasons:

  1. Java interfaces are damned ugly and don't integrate well with the desktop. The only solution is SWT, which is desktop specific and greatly increases the size of the download.
  2. Compiling Java down to a single JAR file involves the many joys of explaining to people either a) how to run a Java app from the command line b) or getting them to set up an association with .jar files. Based on other experience with computer game add-ons, there are more people than you'd think who have problems with even basic instructions.
  3. People using Java may still have Microsoft's Java JVM, which may cause problems (any time I've had an app not run under Windows it has been because of the MS JVM)
  4. .Net with System.Windows.Forms has no portability issues that I know of, it just doesn't look so pretty outside Windows.
  5. Java is a "one language, one VM" system, where as with .Net WarFoundry will be written in C# and other people can write plugins (like the Rollcall plugin) in any .Net language they wish.
  6. If you wrote it in Java then you could put it on PDAs if you wrote an alternate interface, since a standard app interface would be too big. Something similar should be possible with .Net as MS has the .Net Compact Framework for WinCE PDAs and it's probably possible to install Mono on a PDA (there's mention here which seems to imply a standard install works fine).