Wednesday, November 22. 2006Is Java Dead?There is a lot of talk about dynamic languages (specifically ruby) these days and as a result, one question that keeps coming up is "does this mean that Java™ is dead?".
To my mind, the answer to that is an emphatic "no". Java™ is not dead and will in fact be around for a long time to come. What I do believe to be true is that the Java™ language is past its peak. I believe that the market for the Java™ language is now starting to decline and will continue to do so as we go forward. This does not mean that Java™ is about to disappear or that it is any less relevant than it has been. What it means is that the market for the Java™ language is going to be slowing shrinking over time. The Java™ Virtual Machine (JVM) on the other hand, does not appear to have reached its peak yet. I fully expect that other languages running on the JVM will become more of the norm going forward. JRuby in particular is getting a lot of attention these days although it is by no means the only alternative language running on the JVM. The key that seems to be triggering the "is it dead" question seems to be a confusion between usefulness and excitement. Java™ is no longer exciting although it is certainly still useful. People are seeing huge productivity improvements with dynamic languages like ruby and this is very exciting. The buzz obviously goes with the excitement and so its easy to see why there isn't a lot of talk about Java™ these days. It's worth noting that the dynamic languages aren't just "buzz". There are very real benefits to using a dynamic language and I think this trend towards more dynamic is a very positive one for the industry. Having said that, there are still times when Java™ is the more appropriate language choice. Trackbacks
Trackback specific URI for this entry No Trackbacks
Comments
Display comments as (Linear | Threaded)
One thing to note is that comparing Java to a scripting language like python, perl, or ruby is like comparing apples and oranges. They really were intended for different purposes. That's why it's good to know them all... you'll always have the proper tool for the job.
I disagree about the last comment. Ruby above all is a language, currently define as agile in RubyConf 2006 according to Matz.
Try to find out now a proper place of application is just to limit it. Java had its time, now the time is for Ruby. If you go depper, you are going to realize that by now Ruby is already everywhere, spreading, JRuby, RubyCLR, ...etc even in mobile platforms such as Symbian. Why? I do not know of any other language that considers the programmer in its developing process. The author of Ruby, Yukihiro Matsumoto, tells us that he set out to create a language that would “make programmers happy.” Ruby optimizes for humans first, compilers and the frameworks next. It’s been a constant search for how they could make the development process more in tune with what makes programmers happy, since software development is not a manufactured thing but done by human beings. I don't believe that there is any one programming language that is appropriate in all situations. While I really like working with Ruby and would choose to use it in many situations, I don't believe that it is the best choice for every task.
As for Ruby being designed for people, it isn't unique in this. Smalltalk, for example, was designed to teach kids how to program. It is deliberately simple to use and yet is extremely powerful. Ruby has borrowed many of the features from Smalltalk for exactly this reason. >I do not know of any other language that considers the programmer in its developing process.
Aside from Python. Ever seen the parse tree for that? Add Comment
|