Back to newsletter 091 contents | All Javva's articles
As usual, I didn't go to JavaOne - along with more than 99.9% of you who also didn't. No doubt you couldn't go for the same reasons as me - money and time (though since time is money, it's all the same. In my case, I couldn't afford either). I'm sure that just like me, you would love to go but have to make do with the blogged reports.
My overall impression of JavaOne from the blogs I read is that:
There were no "spectacular" shows or announcements. Personally, I think this is good, we should be focusing on what we have already, not looking for some new soundbytes. But it appears that the rabble get restless without something to jump up and down about, so we had a number of blogs bemoaning the lack of a spectacular. Some people felt this indicated Java was not progressing, or was even dying. From this I gathered that some bloggers will leap on any excuse too say Java is dying - yet again.
You could look at the facts - the increases in the number of Java devices, the increases in the number of Java programmers, the increases in the number of major Java projects and sites, the ... ah, but I forget, to the average "Java is dying" blogger these matter much less than their view that Java is dying.
Do me a favor. There is no current competition to Java. I wish there was, Java is not what I would choose as the ultimate language. But come on, let's have a look at the supposed competition. Those sad "dynamic" languages - they are scripting languages and all their supporters are all so uppity about the word "scripting" that they have a cry every time the word "scripting" is used. "Please, please, don't call our lovely language a scripting language, that makes it rubbish. No, it's a dynamic fast development language". I've used "dynamic" languages for years. To write scripts. They suck at pretty much anything else because they are dynamic - which means that you can screw with them in ways that makes the code unmaintainable. Wonderful for all those "look at me, look at me, look at me now" WTF code drivelers who can show you their WTF code doing nutter operations in five different (and all unmaintanable) ways. The first time someone put a 4GL interface onto one of these (Rails), the losersphere went mental "LOOK! look! I can do really simple stuff quickly!" And when you say: how about making that simple stuff a bit more complex, because your lovely site actually gets a few people and begins to become successful, you suddenly find that "OMG, I can't. It's unmaintainable. Hang on, though, I can rewrite the whole site in something else, so all is not lost".
What else is there? C and C++? Come on. You are kidding, right? Yes, I know there are die hard saddo's with their "hey everything that matters is written in C - look, operating systems and device drivers and, um, all the old stuff. And if you can't play with pointers, you can't really write code". All the world's most bugridden software is C and C++ code. If you want to guarantee that you will bury ugly nasty bugs that will kill your system in the most obscure and difficult way to find, write it in C, or it's unbelievably ugly sister C++.
Which leaves C#. And let's face it, C# is not actually competition, it's just a Java clone. Microsoft had a stamp-their-foot tantrum when they found they couldn't steal Java and make it their own, so they copied it, rebranded it, and are still trying to get all those microsofties out there to use it. One day, they might get successful and C# might generate some pseudo-competition.
Finally, there is the RIA argument - Flash, AJAX, Silverlight, JavaFX, blah, blah, blah. Yo, dudes, these are all crap at the moment. It's not so much that these compete against each other - they are all more of a "which is the least revolting to use for our client?" option. This isn't competition, this is torture. If any of them improve enough to put the others out of their misery, we'll work with it (after the champagne celebrations die down).
So come on bloggers, before you start bemoaning the Java market, show me the competition. No, not your imaginary six foot rabbit wannabe competition. Show me something that is actually maintainable, more productive, less bug-ridden, and has the potential to be as fast. And supports multi-core highly concurrent apps from the ground up, and is actually popular enough to be supported (anywhere in the top ten languages will do). And don't drivel on about your current fave dynamic language. Yeah sure it's great for a little project and glue scripts. But it's only maintainable in a large project if you lock a guru in a cell to do that, and never let them leave your company. You show me a large-scale system based on a dynamic language, and I'll show you a system that won't outlive the guru who is keeping it patched.
So all in all quite an interesting JavaOne - not for the conference content, but for making me realise Java is still the core language you need to know. And still without serious competition.
BCNU - Javva The Hutt.
Back to newsletter 091 contents