Richard has posted 3 posts at DZone. View Full User Profile

Is Java Dying? No Way!

06.05.2008
| 8703 views |
  • submit to reddit

After reading several blogs and comments on the demise of Java, I felt compelled to post some interesting facts.


Only a small percentage of developers go to conferences like JavaOne. These people constitute the majority of those who read, write and comment on blog sites and they are the first-adopters of new technologies and languages. These people are enthusiastic evangelists of new and cool technologies fueling, for example, the rise of Dynamic languages (which I applaud). But these same folks can be vocal complainers, ignoring possible work-arounds of existing features in languages such as Java, and predicting the death of Java. For many developers, these dire predictions can inspire fear for their jobs, compelling some to prematurely drop Java, further perpetuating the rumor that Java is indeed dying.


Maybe there are too many frameworks? Maybe Generics were an overly complex feature to introduce and maybe Closures will be too? It is hard for Sun to sustain the velocity of new features every year, and maybe this is a good thing that they do not. – It gives people breathing space.


It is impressive that Java has been consistently popular for over 12 years (Ruby was created in 1995, but only really became popular once David Heinemeier Hansson released Ruby on Rails in 2004). In our industry it’s impossible to predict how something will be used in a decade and maybe we shouldn’t try. Have Sun got carried away with the popularity of Java and tried to make it into something it wasn’t designed to be, creating an overly complex beast? Are these proponents of Java-Death simply Java gurus that who are just seeking perfection?


Do I think Java is dying? – No way! Each programming language goes through changes: it’s all aboutevolution. [Most] people do not program in Assembler anymore. The next generation of languages will build on the limitations (mistakes?) of the past and be more suited to the hardware and designs of the future. For example, concurrent programming is very difficult to manage in Java so maybe laguages such as Fortress will be indicative of things to come. With multi-core processor machines the norm, the industry will demand that future software development take better advantage of this hardware advance.


So here are a few facts:

  • The JavaOne Program Office announced that there were around 15,000 attendees at JavaOne this year. (There was also a lot of negative discussion regarding JavaOne, but this criticism was really about the show rather than Java–see my comment on Jason Lee’s: Postmortem on JavaOne 2008)
  • One of the most impressive announcements at JavaOne was that Sun have made a 68% performance increase running Java 5.0 against Java 6 update 10. On the same hardware (showing their commitment, at least, to the JRE)
  • Released only last month, Effective Java 2nd Ed by Josh Bloch is ranked #291 of TOTAL book sales at amazon.com and #8 in the Computers & Internet sub-section
  • Without too much analysis (i.e. just typing in the following keywords in Dice.com) current vacancies for the following are:

            Java     15,337
            Ruby    818
            C++      7,633
            C#        7728
            Python  1,395
            Perl     5,463
            Cobol  1,131
            Assembler 196


        - I was just interested in these last two ;-)


Note that I haven’t even commented on the millions (billions?) of dollars organizations have spent on applications written in Java. Are they about to drop and rewrite these applications in the next generation of languages?

Originally from http://www.enerjy.com/blog/?p=296

Published at DZone with permission of its author, Richard Sharpe.

(Note: Opinions expressed in this article and its replies are the opinions of their respective authors and not those of DZone, Inc.)

Comments

Mike P(Okidoky) replied on Thu, 2008/06/05 - 4:30pm

I'm surprised to see such a high Perl number.

Steven Baker replied on Thu, 2008/06/05 - 5:59pm

Most companies will indeed not drop Java so quickly, but new small companies created by backyard developers will likely not even use Java at all.

Which to me, makes sense, but makes me sad. 

Mike P(Okidoky) replied on Thu, 2008/06/05 - 6:07pm in response to: Steven Baker

It does not make any sense to me at all to drop Java or to pick an alternative.  How is anything out there better than Java?

phil swenson replied on Thu, 2008/06/05 - 7:30pm

I think zynasis is correct... small companies and startups are definitely trending towards ruby, python, and other more productive languages...

Just read HackerNews and you will get a view into the startup mentality.

 Big companies are much less apt to ditch Java in favor of the latest and greatest... they wait for maturity and low risk before adopting new technologies.  For greenfield, new products - maybe.... but probably not.

Mike P(Okidoky) replied on Thu, 2008/06/05 - 8:59pm in response to: phil swenson

How come though.  Both Ruby and Python are horrible to read, and I suspect don't work well in development teams especially with a few not so experienced developers on those teams.

If I was funding a company, I'd feel a lot more comfortable having all the assets and technology Java based as opposed to taking the word of some rebel geeks.

Steven Baker replied on Thu, 2008/06/05 - 9:32pm

mike, it's because it's those rebel geeks that get sick of working for the man, and start their own companies.

their the same people who write their own MVC frame works (to show off?) which end up being horrible for anyone else using them. 

Mark Unknown replied on Thu, 2008/06/05 - 9:41pm

Not that are not those that are, but I don't know of any small companies that are doing Ruby, Python, etc. I usually see them still using ASP and VB6 and Access. Some have moved to VB.Net/C#/ASP.Net. Mostly because that is what they know or the think it is good. If they are pure web dev, then toss in PHP.

I do small company work (and larger) and i have chosen to go with Java. Why?

1. The volume of APIs, frameworks, Tools, etc.

2. I don't just do web work.

3. I've done/do Microsoft technologies and 4GLS (which are much like Ruby and the like) and, in the long run Java is more productive.

I just don't see why it is assumed Ruby is "more productive" than Java. It is a big "depends". For the development I do, and it runs the gamut, Java is more productive.

There is more to development than web sites. And better paying and more interesting.

 

Alex(JAlexoid) ... replied on Fri, 2008/06/06 - 12:52am in response to: Mike P(Okidoky)

Well Slashdot still needs to support their infra :)

Roland Carlsson replied on Fri, 2008/06/06 - 1:19am

If we take a look at the Tiobe index (www.tiobe.com) java show a continious decline since they started to do their messurments. When reading all this "java is dead"-articles I wonder if what we can somehow predic when java dies. Since 2002 when java was rated at 27% it's now down to 20 %. (Notice the drop at 2004 when google changed their routines so the 27% figure could be a lot of air).

 Another point that is that none of the jvm-languanges is in the top 20 even remotly showing any intresset by the masses.  It's the "aggressive bloggers" who says they are great. They still have to prove themself as a Java-replacement in the jvm.

 The point about startups are probably the most true of what might be the beginning of the end of java. Facebook etc are not running java and might be an unmaintanable mess (in a java-developers mind) but they managed to get large anyway (becase of a great idea). So if anything is going to kill java it is the fact that non (asaik) of the new large popular web2.0 sites are maded by an experianced java-developer in java. 

So is javas proven stability, development speed over a few years worth anything. I'd probably say it's worth a lot less for the startups than for a bank. Are we java-developers to boring to have these great ideas to create the next web2.0 thing?

Reza Azizi replied on Fri, 2008/06/06 - 3:01am

As a software developer, I'm not going to replace a true Object Oriented language like java to any script one like Rail.

I think you must think about replacing desktop applications by web and next killing java. Web2 is fantastic but it's only about User Interface and it's always depend to desktop application, I don't think that any software developer like to develop a complex server with pyton or rail. :D So every programming language is suitable for a field and theres is no specific language that can resolve all software programming problems.

by the way, if any one still like to kill java, so please kill M$ C# too. they are in the same field.

Onur Ersen replied on Fri, 2008/06/06 - 3:24am in response to: Roland Carlsson

[quote=rc83302]

The point about startups are probably the most true of what might be the beginning of the end of java. Facebook etc are not running java and might be an unmaintanable mess (in a java-developers mind) but they managed to get large anyway (becase of a great idea). So if anything is going to kill java it is the fact that non (asaik) of the new large popular web2.0 sites are maded by an experianced java-developer in java.

[/quote]

I agree with you Roland on all over these.

I think it's also something about fast development and maintenance of other platforms over Java.Java's stability and robustness makes it superior but most of the time maintenance and improvement costs stands bigger as all we know.

If someday somebody releases a masterpiece developed using Java (at least for community that we see test and appreciate) then we all have to  retract what we say anyway :)

 ONur.

D Fens replied on Fri, 2008/06/06 - 6:50am

Java is slowly dying as long as there exists a barrier for hobbyist to start using Java instead of PHP for web development.

This barrier is Java web hosting. It's too hard, too expensive, too rare, unless you're in an enterprise environment.

Tunde Adeyemi replied on Fri, 2008/06/06 - 7:10am

I very much agree with you. People fail to realize that Java's ubiquity is increasing daily. It might not work for some, but it sure works for others. If Java doesn't have a future, companies like Google and Adobe will not base their future technologies on the Java platform. By this, I mean Adobe Flex SDK and even Adobe Flex Builder was built with Java and also Android that we are all looking forward to see it's implementation is also written with Java, so if Java delievers for these people and also runs large-scale applications like linkedIn and Yahoo, need we say more?

Tunde Adeyemi replied on Fri, 2008/06/06 - 7:53am

Java isn't dying. But we're all confused as to where Sun is taking us to with JavaFX. We hope Java wouldn't become another VB that was dumped for .NET. What I think Sun should have done is to create good tools - I mean very good tools, not built on the Netbeans of course; or extend existing tools. I'm not saying Netbeans is not good, though it's now fast, it's still not as fast as we want it to be, though it's on its way. Right now, we need tools can that accelerate the adoption of Java, so whatever it will take to get the job done would be cool. Or better still, I believe Sun has taken a good initiative, in making designers continue with the tool that they are good at and are productive in, like Photoshop and Illustrator and leave the coding side of things to developers. The demo that was showcased in the recent JavaOne conference where a designer used Photoshop to pimp up a design and then export as JavaFX Script was really cool. Sun needs to put a force behind this to ensure that almost everything you create within this tools is exported in the JavaFX script created. What I really think Sun should have done was to just make creating RIAs easier with Java probably by using the same tools - Photoshop , Illustrator and the likes - that export JavaFX script to export Java or XML that can be consumed by helper classes incorporated into the JDK. Flash is doing great stuffs in creating beautiful and stunning 3D interfaces and movies today with ActionScipt, not by creating another new language, but by building on what they have. They didn't have to create a new language that is declarative or something to be able to do 3D which it wasn't built for in  the first place, but they innovated and the community created libraries like Papervision3D, FlashSandy, Away3D, WOWEngine, Tweener and a host of all others to make this possible.

 

Well to cut the long story short, Sun has come this far with the JavaFX publicity and can just do away with it now even if they aren't on the right path. What we need know now as Java developers is where we are headed with JavaFX, what are the stakes of we developers in this, because, a lot of Java developers are not being carried along with whats really happening and who JavaFX is for. What I don't understand is why Sun is creating a wrapper around the existing API (around Swing of course) to create RIAs, when there are still lots of improvements we are expecting in the base API provided for our use. We should take things as they appear to be and not confuse people with technology. Like someone said and I quote, most of this JavaFX craze as been seen more on Powerpoint slides than in implementation. I once tried playing around with JavaFX awhile back, say like 6 months ago or so, and wasn't impressed with it's performance at all then, though coding declaratively is great with JavaFX, but performance was really an issue then. I'd also like to make a special note of the Census benchmark carried out by James Ward (an Adobe Flex Evengelist), and also Joshua Marinacci of Sun, where Josh said the JavaFX implementation of the Bubbles demo was faster than that of Flash. I find that hard to believe becuase even when Flash is being used to fake 3D, it performs excellently well beyond what can be accomplished with JavaFX. We should be able to copy good concepts from others and build on it to move forward (sort of the Microsoft way), rather than refusing to accept the fact that some things are currently not the way they ought to be. See FlashSandy for instance, it borrowed it's Scenegraph concepts and has been doing excellently well with it.

 

So my suggestion to Sun, please let us know what the plans really are as regards the future direction of Swing, Java and JavaFX. Are you leaving everything you've stood for in the Java world for JavaFX or what, we'd like to know?

 

Then on a final note, I'm still curious as to why Hans Muller, Scott Violet and Chet Haase left Sun within a period of a year. Isn't something wrong somewhere? I'm still pondering on this. Then I'd also like to ask Amy Fowler if she actually tried disposing off the copy of the Flex Book Chet gave her. We shouldn't ignore the fact that some technologies are doing well, even if we have our own competing products. let's just accept the fact of life and improve  what we have. Also, we'd love to see more real world examples of JavaFX, than we have been seeing. Most of the demos I saw in the presentation slides of the recently concluded JavaOne conference appear silly and stupid to me. We want more real world uses. The best one I've seen so far was that of the video site, - is it JavaPolis, or something -  all other are just crappy demos. Also of note was the JavaFX version of Motorola's website that Chris Oliver spoke about awhile back on his blog, which performed excellently well when I ran it on my desktop back then. Flex Showcase houses more real world uses of Flex, than what we've been seeing with JavaFX. Thats my take for now on Java & JavaFX.

phil swenson replied on Fri, 2008/06/06 - 9:01pm

Just a few points:

1) scripting just means it's interpreted, not non-OO.  In fact Ruby is more OO than Java (no primitives)

2) http://news.ycombinator.com/ (hacker news, which is a Y Combinator new site visited primarlity by startup coders) - Right now on the first two pages I see mention of the following languages: ruby, PHP, python, erlang.  no java, no .net (not to say they never show up) 

3) Java is huge, and it's going to stay huge.  BUT:  I follow startups all the time on Tech Crunch, Hacker News, Oreilly Radar, 37 Signals, TechStars, etc and Java doesn't get a lot of mindshare.. the cutting edge people have largely moved on.  Do you own research if you don't believe me.   

 Why?  Paritally because java is old so it doesn't seem as cool.  And there is a lot of cruft leftover from the old days (primitives, overly complicated APIs, etc)... Also java is slow to change.  This is necessary of course, with so many customers dependent on Java they have to be conservative.  Newer techs release new versions very quickly.... with more risk of course, but small companies are more apt to take risk.  I also think all the java compelxity (XML everywhere, crazy complex apis) has created a backlash. 

 Don't get me wrong, I still code most of the time in Java.... but if I were starting a new company I probably wouldn't.

Mark Unknown replied on Fri, 2008/06/06 - 9:46pm

Phil, 

Great, so you see lots of startups using Ruby, PHP, etc. How many stay started? And how many of them is it because it was a good idea and not the tool?

Other than a few of the big names, I bet most of them are "look what I can do" (Stuart - MadTV) kinds of people and not those who understand what it trully takes to build a maintainable, changable and customizable application.  Few do. The biggest complaint is hosting. From my hosting experience, if you can have your app hosted by the typical hosting company, you probably aren't doing much - and you can have it.  Sorry but this sort of stuff won't kill Java.

 Why would you not use Java?  What kind of aps would you build?  Just Web apps? How about apps that need to do batch updates and messaging and BI and desktop clients?  Like I said, I am envolved in startup companies.  My own and 1 that is not my own. I build them with Java. The wealth of APIs and tools is just too compelling to leave for the kewl tools. People who jump to Ruby and etc are not cutting edge (some are). They've fallen off the edge and hit their head.  

 Do i use "Scripting" languages? Sure - Drools, Javascript and Groovy.  But they play a supporting role.

 

Mike P(Okidoky) replied on Wed, 2008/06/25 - 4:13pm

> scripting just means it's interpreted...

What *IS* the definition of a scripting language, really?  A script might get compiled.  In fact, Rhino, which is the Javascript implementation that comes with Java, does compile to byte codes, which in turn becomes machine code, albeit not the most efficient code, but still.

To me, a scripting language is a convenience language that allows to plug and play with components without having to recompile the lower level building blocks.

 

Gar Labs replied on Tue, 2011/08/23 - 10:53am

Java isn't going anywhere. It will stay forever. -GAR Labs

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.