Its 1997. Is there a reason to choose Java over Scala?
There is a growing buzz around the blogs (including this one) about Scala, and wondering if Scala is a better Java. I don't think the goal of Scala is to be a better java, but its easy to see how that statement is made, since Scala has a lot of features folks want in a language, yet compiles to .class files and can be used almost seamlessly in an existing java project.
I was asked why someone would choose Scala over java. I thought about it a bit, and came up with a different twist on the question.
Say it is now 1997, and Sun has made the decision that a virtual machine is the future. In this version of 1997, two proposals have been made for the new language to run on this new virtual machine. One is java (the current version) and the other is Scala (also the current version). What reasons, if any, would there be to choose Java over Scala? I asked myself this question yesterday, and still havent come up with a single reason.
Can anyone think of a reason to choose java over Scala, if you just examine the features of each language? The reason i reference 1997 in the question, is to throw out the IDE and 10 year history that java has. Imagine both languages are new to the scene and you have to choose one (and no, the choice of ruby, python, etc arent valid..i want to keep this focused on just these 2 languages). I honestly can't think of a reason I would pick java if both are starting from a clean slate. That is hard to admit for someone who has been a hardcore java fanboy for 10 years. At the same time, it is exciting to see a language like Scala gaining some momentum, as I am increasingly joining the camp of those would would like to replace all their java work with it.
NOTE: This wasnt made to start a flame war. 100% of my job is java based. I am actually hoping for some solid, in-depth, NON-FLAMING, answers to this question.
