The Source for Java Technology Collaboration
User: Password:



Pete Morgan

Pete Morgan's Blog

Java is on it's way out? Not from where I'm standing!

Posted by panaseam on October 05, 2006 at 02:18 PM | Comments (11)

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.

Happy hacking,

Pete


Bookmark blog post: del.icio.us del.icio.us Digg Digg DZone DZone Furl Furl Reddit Reddit
Comments
Comments are listed in date ascending order (oldest first) | Post Comment

  • I totally agree. It might me interesting to note that the poll you are referring to included Hibernate, which I would not consider "enterprise java". For our current project we use Hibernate extensively for object persistence, but hey, this project is good'ol J2SE.. and hey! Hibernate is the first one on the poll results... It would have been interesting to differentiate between Hibernate/EJB and Hibernate stand-alone.

    Posted by: krakerjaak on October 06, 2006 at 07:01 AM

  • "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#”."

    Isn't pass by reference intrinsic to how you use objects in Java? What I love is how people tout C# features like Properties, Interfaces, and Delegates. It reminds me of the PHP programmers out there that think classes are something new in the world. The languages take advantage of people who don't know object oriented yet. Properties are just like JavaBean properties which have been around much longer. Interfaces are nothing new. Delegates is just a glorified interface implementation. Just because delegates are not instantiated as an object, doesn't mean you cant implement an interface for the same class you are calling the delegate and pass
    this
    to whatever needs to call the interface implementation (or even use a static method). Who would want to get locked into the Microsoft platform anyway? They are going to obsolete it themselves with another technology in a few years and make sure it is not backwards compatible. So then everybody has to pay for new training, new platforms, licences, etc. Does not seem very economical to me.-Dave

    Posted by: david_siefert on October 06, 2006 at 07:34 AM

  • I agree. One of the things that are the most irritating when someone come with some sort of "Java is dead" rant is that they never look at the big picture. Java is an excellent platform, you don't find everything you need in one place the same way you do in Java in other platforms, and often they lack very basic things.

    I have the impression there is a big mass of people that isn't self-confident and is affraid of "missing something important". So they just jump on the latest bandwagon and repeat rants they hear somewhere else like parrots.

    Posted by: thiagosc on October 06, 2006 at 09:36 AM

  • Nice post. I like when you acknowledge the emergence and ACCEPTANCE of Mono on Linux as opposed to Java. I have posted multiple times on various blogs about this, never getting a satisfactory response. Yours does not provide one either, but at least someone is talking about it.

    Posted by: hchaudh1 on October 06, 2006 at 11:06 AM

  • I'm confused. Java HAS pass by reference does it not? If I pass an Object to a method am I not passing it by reference?

    All objects in Java are passed by reference. All primitive types by value.

    Posted by: dog on October 06, 2006 at 11:46 AM

  • Hmmm I posted a comment here this morning and it seems to have been (accidently?) removed... weird.

    Posted by: krakerjaak on October 06, 2006 at 11:53 AM

  • Oh no ok that's fine sorry for the clutter.

    Posted by: krakerjaak on October 06, 2006 at 11:54 AM

  • I did not vote in this poll, but I am myself a desktop java developer. I usually pick up contracts on the net and locally. I will probably get shot here for saying this, but I do most of (what little I do) my web development in php. I have started learning a little j2ee, but have not done anything with it.

    I was learning C++ and getting ready to start trying to make money doing so, but wanted to program for multiple platforms. I looked into Kylix, and was very impressed, but it lacked Mac support at the time (may still). Then, I discovered java and awt. I liked it, but I soon after discovered swing and loved it. For my learning I took a small project from a local guy, and much longer than it should have taken later, I had earned cash from programming.

    I completely agree with you that java is "top of the pile". With derby, I can easily do a small integrated DBMS in little time, and make it easy to use for average Joe Computer. I have also worked on projects in java that had to do with hardware accelerated graphics and opengl. In fact, a friend and I are toying with some jogl code to see if we can get a game project started.

    I see a bright future for java, especially on the desktop. Hopefully the future will come with deployment improvements. :-) I remember a few years back that there was a big stink that C/C++ was soon to be on its way out, and it is still alive and kicking today. Bottom line, a great language will be around for years to come, and probably won't suffer from a sudden death.

    :)

    Posted by: drslinky1500 on October 06, 2006 at 03:29 PM

  • Java is nearly a one-stop-shop for devs, that's why I love it and haven't had to use anything else. The problem is deployment - nobody has a recent version of java - it doesn't come with Windows. WebStart needs serious enhancements.... I've never used such a user-unfriendly technology. Why can't it tell the user the reason why it can't install java when they haven't got admin access to install it or ports are restricted - Web Start just shows: "Error" - GREAT!!!

    Posted by: commanderkeith on October 08, 2006 at 07:21 AM

  • Mono's lacking a lot of stuff yet. I don't think there's any GUI like WinForms. Mono's a fun toy for someone who understands the CLR, Linux, & the .NET platform, but I'd like to hear about some businesses that have successful Mono solutions.

    Unfortunately Microsoft is prone to frequent paradigm shifts. Like dumping VB for C#, creating multiple scripting languages versus Javascript (VB Script, ECMA Script, JScript), etc. I don't know that Mono will be able to keep up with the next Microsoft paradigm shift - .NET 3.0.

    Posted by: phlogistic on October 08, 2006 at 09:02 AM

  • Java is just not a language, but a whole eco-system .
    That eco-system supports ( will support ) whole lot of features ,
    languages , platforms etc .

    I too thought about migrating to other languages when i read about these " super cool " , " highly productive languages " like "RUBY", "PYTHON" and leaving Java behind .

    But these languages 're already being incorporated in Java Platform .
    Java support massive critical system performance which these lang still don't .

    The community is one the biggest , most vibrant and creative .

    And in the end -- everytime i see something new that makes my jaw drop , it's never in .NET, Python or Ruby , it's always in JAVA.

    Posted by: nocturnal on October 08, 2006 at 09:21 PM



Only logged in users may post comments. Login Here.


Powered by
Movable Type 3.01D
 Feed java.net RSS Feeds