To view parent comment, click here.
To read all comments associated with this story, please click here.
Well, if you're a Unix guy and you're going to be developing on Unix then my first instinct is to say you might want to use Java. You have two very good open source IDEs and a mature J2SE.
Let me tell you what I see as the pros and cons of both platforms
Java Pros:
-excellent crossplatform support and excellent crossplatform tools
-a huge amount of open source code
-many choices on the server side (not sure if you'd be interested in that)
Java Cons:
-Surprisingly limited developer interest among the open source desktop crowd
-Swing is pretty damn fugly on Linux/Unix
-As stated before, probably will never be a major factor on the client. I still hold out hope that Sun will make some architectural changes to the VM in order to make it more language neutral and also develop(or adopt) a nice RAD language that plays nicely with the JVM and class libraries
.NET pros:
-Coming from a C++ background I prefer the C# language and the class libraries. Your mileage might vary coming from a straight C background.
-A better virtual machine. The CLR is more powerful than the JVM and even languages like C++ can be compiled down to IL. Then you have languages like Boo, IronPython, VB, and even a Ruby.NET compiler coming out hopefully soon. There are other languages for the JVM, but they've never seemed to have a whole lot of traction - even though Scala is a very interesting language.
-Will be a factor on the desktop for many years to come just for the mere fact that most windows development will be done targetting the CLR/IL. There even seems to be much more thick client development in at least the Gnome world compared to Java because of Mono.
.NET cons:
-Mono will always be a second-class citizen compared to .NET even though Novell/Ximian have produced a lot of goodcode. I don't know how close they are to the full .NET 2.0 suite as of now.
-Bad IDE support
Java actually might be the better fit for you, but if you want crossplatform, fun gui development have you taken a look at Ruby? It has nice gtk+ bindings, and runs good on windows. I think the Qt/Ruby bindings are shaping up nicely too.
P.S. The gtk+ bindings for Mono should run pretty well on Windows too...and actually look better than Swing.
Thanks Lumbergh,
My aim is to learn, language is not a constraint. After your comments, specially that CLR is more improved than JVM, I googled for GTK+ on windows and found gaim, grisbi as very good looking UI Applications.
"
-Bad IDE support
"
Either way, I am not too comfortable with IDEs.
Going ahead with C#.
Thanks again for the advice.
ava Cons:
-Surprisingly limited developer interest among the open source desktop crowd
Mainly due to Java or rather the Sun JDK not being available they way other frameworks are, i.e. easily installable through the usual installation mechanism.
Open source desktop developers want to specify the framework as a dependency which can be installed by a single command or listed as a package dependency in the application's package.
Fortunately the ongoing improvements on GNU/Classpath solve that problem for a growing number of use cases.





Member since:
2005-10-20
Sorry, I got a little confused. I am a plain unix/C programmer with no experience on GUI design.
I was starting (a hobby project ) a desktop application and was planning to use Java for it, main reason that the same code will work on my Windows partetion too. I had also considered using mono, but decided against it as some of my friends work on Java and I can get some help from them, not even a single friend of mine uses mono.
My confusion is if .Net is better than Java then I can be the first one to learn mono and use the same base code ( -UI) to make it run on windows..
Please suggest