Stop the Insanity
Aug 31st, 2007 by phil
Russell Beattie makes a pretty good argument that Java needs an overhaul. For the most part, I can’t argue with what he is saying. The Java language needs to come to grips with the changing ways that people write software and provide a more productive platform on which to build. This isn’t something that can be addressed merely by adding one or two features, there needs to be a questioning of base assumptions.
And if there isn’t? The Java language will become the next Cobol. Of course, Cobol is still in use today, but for reasons of perceived necessity and not by choice. And if that happens? Well, things will suck for the programmers who still have to work in Java, but the world will move on. There are plenty of interesting programming languages out there that offer a viable alternative to Java.
Erlang is one such language, but Russell doesn’t think much of it:
Really, that right there should be a clear indicator of how ill regarded Java development has become that people are willing to embrace the insanity that is Erlang in order to avoid using it.
This is where I part company with Russell. I think he takes Java’s success or failure too seriously. It is a tool — a tool that many are beginning to feel is inadequate for the job at hand. So, those people are looking at other tools like Erlang, Haskell and Ruby. It is a good thing when developers seek to use the best tool for the job.
I don’t think Erlang is gaining in popularity as a reaction against Java. I think Erlang is coming to prominence now because developers are beginning to realize that they can use multiple languages when it makes sense. That there may be things broken in the mainstream languages that other languages do better. In this case Erlang handles concurrency and reliability in a way that is more elegant than Java. The fact that Erlang is different than Java doesn’t make it insane, it makes it useful.
Java is in something of a downhill slide, but I can’t really get worked up about it. There are plenty of good languages out there and the success or failure of Java doesn’t really mean much to me. It is, after all, just another tool in my toolbox. What do you think? Is Java in decline? Is Erlang insane? Does it matter?





Re: Stop the Insanity…
A few weeks ago Phil Toland wrote Stop the Insanity about the “rise” in popularity of languages other than Java. (but it didn’t pop up in my feed reader until today) Last year it seemed you couldn’t turn around without……
Russel Beat-ties writes the he uses C# a lot on Linux, but I don’t know what’s the fundamental difference between java and C#, except that Java is really a cross-platform language, although the .NET stack is first a windows platform (Mono is not complete and will never be, mainly because MS will aways add up to .NET).
As of Ruby, Erlang, and other languages, it seems that people always discover a new cool language that is killing Java, each time more dynamic than the other. First it was Python, now the same people are talking about Ruby, next time Erlang… What is good about java is the fact that: * it is more a platform than a language !! For example, if you want to use Python on the Java platform, or Ruby, or javascript you can, and it’s working great. * you have tons of open-sourced APIs that you can use, much more than in these new cool languages. * it’s really easy to build reusable code in java, despite some people are saying. OK, the main java language is strongly typed, but I personally think that this is necessary for everything else than small projects * Azureus is not using Swing, and I always found that the IBM SWT was not the good approach to Java graphics. It had success mainly because Awt was very limited, and Swing performance was poor at the beginning, which is not the case anymore, and since a long time now ;-)
[…] wrote last month about the decline of the Java programming language in a post called Stop the Insanity. The gist of the post is that the Java language has stagnated and this stagnation will eventually […]