I was reading this entry by Ted Neward on IBM’s Developer Works analyzing if Java’s demise is imminent.
Like it or not, Java is now competing with languages which are faster, less verbose along with the positives of functional programming like closures, monads, etc.
So whats Java’s defense?
1. Java Virtual Machine(hell yeah!)
2. Java libraries – although there’s one too many, no other language even comes close in providing multiple tools for every possible situation.
3. Third and most importantly, I think Java language is going to survive because of the multi-paradigm languages which will run on the JVM (scala, groovy, Jaskell, Jruby, Jython, etc).
These multi-paradigm languages are going to succeed because they are less verbose, have most of the features which the functional programming crowd approves of, easy to learn syntax and we don’t have to give up our favorite editor! This is great news for us.
As soon as IDE support for these languages improves, I believe there will be a big wave of adoption of these languages.
One thing this does imply is that we cannot stay content in just knowing Java along with a few frameworks, we have to stretch ourself go through the learning curve and learn these languages, if not, its Java’s demise which is imminent, but its the Java Programmer’s.
April 23, 2008
I’ve been wanting to do this for a long time, somehow kept pushing it forward, but yesterday, decided to sit down and set up SVN and Trac for all the little projects I’ve been working with….I’m really surprised how simple it was to set up, I bought 500 mb space from http://svnrepository.com/
Lot of people recommended svnrepository.com to me and I’m glad I took their advice, really cheap too, about 4 $ per month for 500 mb space. More than anything, its how fast I was able to set everything up that impressed me… Now I have to figure out how to provide restricted access to specific projects in my repository.
February 29, 2008
I went to the “Feel of Java – Revisited” talk by James Gosling today,given at Sun Microsystems in Santa clara, CA. Went as a part of the Advanced Programming Language principles class taught by Dr. Cay Horstmann at San Jose State University.One of the reasons we went was in expectation the talk to be about the new features which are on the table as prospects to get into Java 7 and the future of Java as a whole. However, James Gosling made it clear right at the start that he wont be talking about that, as all the talk about conflicting proposals is better left to others…instead, he took a totally different stream and spoke about his evolution and how it all led to the the invention of Java as a programming language, and so on.
During the Q and A part, Gosling said that he didn’t care too much about Java as a language, because he feels the jvm as a platform for all the various languages now running on top of it, seems to be a great direction to head in, as there is only so much you can manipulate a language like Java which is applied in so many domains.So its almost impossible to design a lot of good and worthwhile features to the language without breaking already existing code.
I am happy and sad to hear that Gosling and many others in the industry feel that Java’s time as a language is ending and Java as a platform on which various functional languages run seems to be the future. I’m happy that I am learning these functional languages, and sad that a language I love is the the target of so much bashing by others, but oh well, a lot of stuff out there is over exaggerated about the short comings of Java, but then again, a lot of stuff is true.
Also, whats my opinion of BGGA closures for java? Although pretty immature, I feel the CICE proposal is simpler, cleaner syntax and useful resource management proposal. Again, dont see a lot of places where I would use BGGA closures…but then again, my judgment is colored by my limited skills?