Java is on it's way out? Not from where I'm standing!
I've just been musing over the current java.net poll What do you prefer for enterprise Java persistence? and noticed that out of a total of 1425 votes cast 107 voted for "I don't develop enterprise Java". I am one of those 107.
Now I know the poll is about enterprise Java so you may get a slightly higher response rate from people that do develop enterprise Java, but this roughly indicates that 92.5% of java developers do enterprise Java development and 7.5% don't. Yes I also know the old saying about â€œlies, damn lies and statisticsâ€ and I can't help wondering how many of those developers also do desktop application development.
The reason for my interest in these numbers lies in the fact that in my nosing around the internet I often see posts by the â€œJava is deadâ€ brigade, and whilst I have never tried quantifying anything, they also seem predominantly enterprise related rants.
To get to my point, I honestly think that Java, from my desktop only perspective, is â€œtop of the pileâ€. To my mind Java encapsulates such a high percentage of whatever I need to do the job that I actually don't have to look elsewhere to get the job done. Swing is being improved all the time plus you have the innovative work of people like Kirill Grouchnikov, or you can use SWT if you prefer. And all this is platform independent! So from my vantage point Java is very much alive and kicking.
On the desktop you only really need one tool, an IDE, beyond that, with Java you have all you need to get developing. Yes you may prefer to use, for example third party widget libraries or re factoring tools etc., but you don't have to have them to be productive. Lets face it you could do without an IDE if you want. Yes just J2SE JDK, an editor and off you go!
I know Java gets knocked as a desktop environment as well, but quite frankly, unless you are a â€œ ' softyâ€ and want to be ensnared in the "net", what other languages give you all you need in one package? Yes I am aware of the Mono project, but I don't get a warm comfortable feeling about it, I still feel that "net" closing round me!:-) We all know nothing is perfect, there is always room for improvement but all too often whingers make statements like â€œC# has pass by reference so Java should have it too, otherwise I'll just have to move over to C#â€. <rant>Well all I can say is if a dumbass like me can emulate the whole VB core language in Java, including, pass by ref, GoTos, weird operator precedence and pretty well every other VB strangeness then â€œJava don't need changingâ€ and certainly not to keep some lame brain troll from â€œdefecting to C#â€!</rant>
In the enterprise scenario, part of the problem, as I see it, is that if all or most of your development is geared around a browser at the client end, it isn't so much what the language does or doesn't give you in itself, but more about the tools and frameworks that are available for your chosen language. So often the ranters don't distinguish between the way Java enterprise solutions are created and the language they are created in. I have even seen Ajax used as a reason why Java is doomed. That is a weird view since I thought you can â€œdo Ajaxâ€ in Java, but then what do I know? I wonder how many posts on non-Java sites there are praising Java? Not many I guess. Why? Because real Java developers know they are on to a good thing and don't waste their time trying to convince â€œnon believersâ€. The language is only as good as the people who use it! Enough said!
So from a lowly, part time, desktop bod to all you real Java developers I say ignore the trolls, let them get on with their latest â€œnext best thingâ€ you know you've already found it and its called Java.