Back to newsletter 108 contents
How many sad pronouncements am I going to see, year after year, stating yet again that "Java is Dead". Honestly, our industry is stuffed with blithering idiots who can't seem to analyse anything objectively. It's really startingly simple: if people are using something else in rapidly increasing numbers and very few new projects are using Java, then it will be "Dead". If, on the other hand, it is still the most popular language by many measures, has the most job openings of any language, and the number of projects using it is ever increasing, then it is very not dead.
It's instructive to compare Java with C and with Smalltalk. Back in 1997 I was still occasionally teaching Smalltalk even though for my own development work I had already been using Java for a year and a half. One of my students asked whether Smalltalk was dead, and my answer was yes. It was obvious. Smalltalk job openings had decreased rapidly; new projects that would previously have used Smalltalk had shifted over to using Java very quickly; it was clear that Smalltalk programmers were very quickly also shifting to Java, complaining as they went about the lovely IDEs they were losing, but still moving. The hype surrounding Java was stratospheric - indeed thinking about it, I can't recall hype like that for any language previously or subsequently to that, though hype surrounding C++ and Objective-C maybe came closest.
Now compare that obvious death of Smalltalk against C. C has been declared "dead" for decades now - and yet is still going strong. There were even a few years when C programmers were shifting en masse to a "replacement" language - C++ - only for a lot of them to then say "yuck, I'm going right back to C" (please note, I'm not biased towards or against either of these two languages. That's what happened. C++ is popular, but it didn't take over from C).
I've said it before, and no doubt I'll say it again: Java is not an ideal language. There is much that is wrong with it. It's not the best language out there; but sadly there isn't any best language out there. Java is one of the least worst. It reduces a lot of mistakes that other languages allow you to make more easily. It produces very maintainable programs even for very large code bases, something the weekend programmers never seem to get with their devotion to their unmaintainable scripting languages. It can handle almost any job thrown at it. It comfortably works for small projects and very large projects (hundreds of developers, millions of lines of code); for small programs and very large systems; for low latency and high throughput applications; and for fast single-threaded and for hugely concurrent programs; for apps on phones, for high frame-rate games and for huge mega-successful transactional websites. The tool and framework support for Java is immense. As such, it is easily the most sensible language to develop in for a majority of projects, and consequently it is used in a great many projects and that is not decreasing.
Sure, the weekend programmers rave on about Ruby, or Scala, or some other flavour of the year language. But honestly, when the next big language comes along, you won't be arguing whether it is "taking over from Java". You'll be way too busy re-skilling yourself and enjoying the new one to even think about whether Java is dead.
Now on with this month's newsletter. We have all our usual Java performance tools, news, and article links. Javva The Hutt rants about Kitchen Sink Dweebs; there's a new cartoon at fasterj Guarding log messages; and, as usual, we have extracted tips from all of this month's referenced articles.
Java performance tuning related news.
Java performance tuning related tools.
Back to newsletter 108 contents