tags:

views:

107

answers:

3

Ok, so I have a thread that is already similar to this, related to jobs and languages but this is a more direct question. For windows UI programming, do you prefer Java or C#? On that note, one must consider the life of a language. How long will java last versus c#? And again, what is more widely used for windows UI programming between the two? What would you suggest to someone for windows ui programming?

+3  A: 

You must take into account one thing: Java has been around more time than C#, however, there is one big thing in favor of C#, that is developed by Microsoft. The competition is pretty tied up.

On one side, Java has an outstanding community of users and gurus and many years of development, which C# lacks, but is fighting.

On the other side, C# is being lead by Anders Heilsberg, the father of Delphi, one of the most outstanding languages that we've ever seen. C# started very junior, but added generics in 2.0 and many other cool stuff later, like lambdas. Also, now we have WPF, and added to that, they are Microsoft, so they know the hidden tweaks to give you performance and pretty stuff together.

In every argument sides must be taken, and I choose C#, by this and many other reasons. Anyways, you should hear more opinions before taking a choice of your own.

Best regards, David

David Conde
What makes you think C# lacks a user community?
Joel Coehoorn
Fully agreed, maybe 5 years ago yeah, but it's definately catching up.
Firoso
I never said C# didn't had a good user community, all the contrary, it keeps growing and growing happily!! As I said, I'm a huge fan of C#
David Conde
+3  A: 

Disclaimer: I work for Microsoft, thus I am obviously biased in my opinion. Also, I have not looked at Java in the latest few years (say from about 2003 :-)), so I might be missing some big developments in there.

Java's attempts to be platform-neutral lead to somewhat weak support of platform-specific functionality. C# on the other hand is very well suited towards Windows-specific UI development. The framework is constantly evolving along with any new functionality introduced by newer versions of the OS. In addition, Novell's efforts with Mono have produces also native bindings for OS X and Linux, which is additional bonus in my opinion.

Franci Penov
I think this sums up pretty much what I was going to say - if you're doing Windows UI programming, use what's best for Windows and what is developed by the people who understand Windows the best. (But, yes, Franci, you're right...there have been some major changes to Java since 2003. ;-)) +1
JasCav
I really hope Mono goes well, it would give C# and MS based programmers a huge boost in the community, there are many linux based programmers yearning for a language like c#
David Conde
A: 

Learn WPF. Nothing out there matches it for UI development as far as I can tell.

My opinion is based upon my ability to deliver quality UI quickly, and to enjoy doing it. Your mileage may vary.

WPF definitely has a learning curve associated with it. Once I got my head around it, I found other UI frameworks lacking. I include Flex, Swing and DOM/DHTML programming in this. I fully acknowledge that I am no longer a guru in the Java world, having not programmed much Java in anger for a few years.

A note on your question --- UIs are generally developed with frameworks. This has little to do with C# (as a language) or Java (as a language). Your question would be better titled as ".NET or Java for UI Programming".

Drew Noakes