Re:C# is now a better language than Java
by stcredzero on Saturday August 01, 2009 @04:52PM
(#736654)
IMHO right now Java should be considered a legacy language, and Java programmers either assigned to maintenance or those who are good, retrained
Why? If they are producing value where they are in a legacy language, why retrain them? If they are really good programmers, they will retrain themselves out of curiosity.
Good old computer languages are like comic book characters. They keep getting declared dead, but someone keeps bringing them back!
Now, whether Java is a good language is debatable. More relevant to the company is if it's a good project. If it is a good project producing quality output and value, leave it alone! There's no sense in changing languages just because it's a "new" technology. (In quotes because a lot of that stuff was developed in the 60's, and 70's by Bell, Xerox, and IBM R&D anyhow.)
There's no need to chuck away the old code if you stay on the JVM, remember. You can develop the new functionality in Scala, Groovy, Jython, Clojure, whatever you want. It's not about rewriting existing code, it's about getting a competitive advantage when writing new code.
Ouch.
Then it was Java's turn. Their speaker hadn't prepared any examples, and he'd never used .NET. I scented blood in the water. This was going to be fun. It went something like this:
Him: Java is cross platform! Me: So what? We only use one platform for all Java, the Ops guys insist on it. Him: Java is used by lots of large companies including X, Y and Z Me: All of whom write their major products in C and C++ Him: You can use lots of languages on the JVM! Me: So the best thing about Java is that you don't have to use it? Is that all you got?
Then he prepared his killer blow:
Him: Java is not Microsoft! Me: Haha, OK you got me there. No wait, there's Mono...
IMHO right now Java should be considered a legacy language, and Java programmers either assigned to maintenance or those who are good, retrained (not necessarily in C#, there's Scala for example). The JVMs are generally good and if you need a VM language on Unix then worth considering (tho' there are other VMs out there). Personally, I would advise against starting a new project in Java.