the blog for developers

Is Java dead?

Is Java finally dead? There has been much discussion about the end of Java. As a developer, do you need to care? How do you need to change your decisions in the case that Java is dead? I have pounding this question for the last several years, beginning with my adventures into Ruby at the end of the 90s. I hope to give a thorough representation of my thoughts here.

In a very interesting thread on LtU Sean McDirmid wrote:

The Java death watch continues. Its future is tied up with Sun, which continues not to make money, and in this economy… JavaFX was late and didn’t make the splash it needed to make. Can Scala (or Clojure I guess) save the JVM? And who would take over the Java mantle if Sun imploded, IBM?

while Ross Smith is adding:

I think Sun will be widely recognised as doomed, if it isn’t already dead, by the end of 2009, and they’ll take Java (and the JVM) down with them.

A lot has happened since then: Orcale is buying Sun, the JRuby team has jumped ship to Engine Yard. 2009 has not yet ended, we will see if that prediction holds true.

Searching for java is dead with Google, one gets

Results 1 – 10 of about 8,620,000 for java is dead.

Dead indeed. Or at least lots of people think it is or will die 2009.

Update: Because some readers mistook googling for scientific research, as pointed out googling for “java is dead” results in ” Results 1 – 10 of about 170,000 for “java is dead”

For a start we first need to explore what “dead” means, and in particular what dead means for Java. What dead means to you as a developer. After that I will look into the potential successors and why they are better than Java – or not. Looking into the question “why should Java die” I want to make some prediction about Javas future and especially about some future Java programming style.

What does dead mean?

Let’s begin with some thoughts on what Java means. . Most people mean different things when they talk about Java. There are mainly three parts:

  • Java, the language
  • Java, the libraries (JDK)
  • Java, the virtual machine

So does “Java is dead” mean the language, the libraries or the virtual machine? Contrary to the commentors on Lambda the Ultimate the Java VM is safe. There are considerable efforts to open source the virtual machine beside the language. Indeed with the beginning of the Java language summit it looks stronger than before. Should Sun as a company die, Oracle drop Java or stop development on the VM, most probably some other players with their VM implementations or the OpenJDK community would jump in.

The VM as a platform has grown enormously in 2008 and 2009. Lots of people talk about JRuby as Rails for the enterprise – Engine Yards has pledged support. Scala is an object-functional language on the VM with a strong following and a lot of momentum in 2009. Both Scala and JRuby are established on the JVM, but there are newcomers. Clojure stirred up the Lisp community and the Java community in 2008 and made a lot of buzz in 2009. Just in time for christmas last year Ola Bini released Ioke, what he described as a mixture of Smalltalk, Ruby and Lisp. It looks like a more dynamic Ruby to me after some hours of playing around with it. Great feat. And recently Noop has been released.

Or does “Java is dead” mean the language? What does it mean to be dead for a programming language? Perhaps that it is no longer the default choice for projects? Default choice for what projects? It is obviously not any longer the default choice for web-sites and web startups. For some years this has been Rails, and with good reasons. Though I think a Wicket/WebBeans/Seam/JPA stack is as fast for development as Rails, Rails is a good choice for rapid development for a VC demo. The problems are down the road some years – or so I hear form some CTOs – and Grails might be a safer choice with the easy possibility to go to Java for your stable layer later.

The only large – and lets say profitable and growing – startup that uses Java is LinkedIn. Although some internal systems at FaceBook (Cassandra) and other sites run Java in their core, Twitter runs parts of it’s services in Scala. They show that it can be done. Contrary the German LinkedIn competitor XING is written in Rails.

With Rails and Python moving into the Enterprise, is Java no longer the default choice for new projects there? Not that I know of. Perhaps some grass root projects go with Rails, the default choice still is Java, C or C# depending on your enviroment. Beside some funny view on enterprise applications:

It’s been 10 years and there are still no compelling client side or desktop apps in Java and all the compelling server apps (sorry enterprise apps don’t count as compelling!) are done in PHP, Python, Ruby, Perl, Smalltalk et al.

I can’t see companies move their programmers and default choice to Ruby, Erlang, Python, Lisp or OCaml. As this would mean polyglott programming and as Alex Ruiz writes:

I haven’t seen any practical evidence yet to convince me this is a good idea.

For you as a developer, does dead mean you can’t get any more jobs in Java development? Looking at Dice


java Job Trends graph

java Job Trends java jobs

shows that Java jobs are still high, with a significant increase in 2008. The German news website Heise News showed the same for project work, a more than 89% increase since the beginning of 2007:

203 in Q1 2007

384 in Q3 2008

Is Java dead because other languages are better?

With a different angle we can discuss the death of Java in the view of it’s potential successors. As a matter of fact a language cannot die without successors, otherwise noone could develop any software. People suggest a lot of successors, some of them are:

  • Ruby
  • Python
  • Groovy/Grails
  • Scala
  • Fan
  • Erlang
  • OCaml
  • Ioke
  • Factor

Not all of them – although excellent and interesting languages – share the same goals as Java and fit into the same place. Ruby and Python seem currently not enterprise ready, mostly because of tools, skills and deployments. This might change in the future, we’re not there yet. OCaml and Factor are interesting and capable, but too far away from the procedural mainstream that is the C legacy. Most prospects have the JVM languages, Fan, Groovy, Scala, Ioke. Fan doesn’t seem to have succession ambitions, Ioke is specially designed as a testing ground for ideas. Scala and Groovy seem to battle it out as successors. Scala has momentum and hype, companies use it in enterprise environments – and it’s also my current favorite. Groovy looks stronger, it made some inroads silently in the enterprise and with Spring having bought the Grails committers – and now VMWare having bought Spring – it’s better positioned than before.

Those successors need to be better than Java, otherwise it would me a folly to replace Java with high costs and gain nothing. What does better mean?

  • Faster to write?
  • More cost efficient?
  • Higher maintainability, cleaner code?
  • Shorter code?

Most of them are faster to write because they have shorter code. As I’ve shown, Java is 1.7x – 4x bigger than Python in lines of code, but does that mean Java is dead?

Most comparisions take 5 to 10-year-old brownfield, legacy Java projects with hundreds of developers – many of them average – and compare them with 2-year-old Rails projects, where the initial developers – most of them excellent – are still on board. For a real comparison one would need to compare state of the art frameworks, Webbeans/Wicket, Stripes/JPA with rapid development frameworks like Rails and Django. I’ll spare this comparison perhaps for another post in the future, but would be happy if someone does a decent comparison. I consider this question open.

A Java successor needs to go through the enterprise. There is the main beef, the most money and the most developers. To die a language needs to die there. Enterprise software is used for longer periods of time, with many developers working on it. The longer time periods mean higher turn-over during the life-time. Were are the problems in the enterprise and how could successors solve them in better ways?

Enterprise pain points

  • Maintenance
  • Readability
  • Reuse

Do the potential successors solve those pain points better than Java? Partially. Some of them have richer reuse models, some of them have better readability and are less noisy. But I also consider this question open – from my experience with many languages those problems aren’t solved. Perhaps because many language designers today disdain the enterprise. Scala is a sweet spot for me, it gains on those issues but doesn’t introduce new problems.

Goals of Java and does Java no longer meet its goals?

What have been the goals of Java? Those are linked intrinsically to the success, so we need to take a look at them, and if those goals no longer represent what people need. Those goals are many, but the main ones seem to be:

  1. Solve problems of C++
  2. Internet capable
  3. Standard library – JDK
  4. Automatic Memory Management – GC
  5. No error prone pointer operations
  6. Enterprise-Ready – a goal that evolved after some time (easy to use, low entry, big departments)
  7. Easy concurrency in the language

I can’t see that those goals are no longer valid, or Java does no longer fulfill them. The goals are valid, and fulfilled. Only concurrency is the item which is highly discussed and can be an issue. Concurrency is the future. Concurrency can be an issue as the early lock and synchronize system of Java proved to be too difficult. The new trend is multi-core. Is Java unfit for massive multi-core machines? Java in later editions added easier concurrency with concurrent lists, queues and fork and join and is fit for multi-core machines. No worries at least for me that Java misses this trend.

One requirement to a language wasn’t seen as important in 1995 as it is today: Rapid development and rapid turnaround. Java still falls flat, even with JRebel which allows seamless reloading of classes, RAD web frameworks like Wicket and splendid IDEs. Rails, Django and PHP are better and have a faster turn around. Period. Java is lacking here, and reloading changes look to be the biggest problem with Java development today. Maven deployments are a pain after you’ve worked with Rails or PHP..

Faster turnaround has higher productivity. Which means more money. If Java doesn’t solve this – Java might be on the way to extinction.

Why should it die, what should we learn?

Java might die, because the drawbacks beside turnaround have gotten too big. Lots of concepts have been proven to be bad ideas.

  • Inheritance: outside of frameworks, inheritance is inflexible, leads to tight coupling and is plain bad. Composition is most often a better choice. As are mixins and traits
  • Noisy syntax: Lately there has been the enlightenment that too much noise in a language is a bad thing. Java is especially noisy in closures (anonymous inner classes) and generics.
  • Null / NPE: Null as the default for object references was a billion dollar mistake. An object should by default need a value. Otherwise NPEs will proliferate through your code. Newer languages prevent nulls or make the null behavior the non default one
  • Design patterns: Many design patterns are a good thing, but some of them are just covering inefficiencies in an only-OO language like Java
  • List processing: As shown by functional languages, list processing should not be done in loops. Many operations in applications are just that: get a list, transform the list, filter the list and return a list. Javas new for loop is better than the old – but solves the wrong problem. Java should have native support for easy list processing, not via the – best we have – constructs in Google Collections.

Those are valid concerns and one wishes Java would die for those. But the Java community is working on fixes – although as can be seen with the discussion on Closures in Java 7 sometimes too slow. I consider those problems painful, but not big enough that they will lead to Javas imminent death. They could lead to a death by thousand cuts.

Java Future and what does this mean for you

From what I’ve written  I come to the conclusion that Java is not dead. It’s not fundamentally flawed, it still meets it’s goal, there is interest in Java, no really clear successor has emerged, the platform evolves, the JVM shines, new languages flourish and new projects are started in Java.

But just because Java is not dead doesn’t mean it has a future. Developers need to open their eyes and learn new languages. I’m really disappointed in interviews when candidates show no interest in programming beside Java. So for you as a developer: no worries. As a student: You still need to learn Java to have a high probability to get a job – with the conditions you like. For you as a manager or CTO: have a plan ready for when the Java era ends.

It’s too early for a requiem. But if Java dies, what can we learn? Before and foremost one needs to learn from Javas success and eventual decline. The points I’ve written about, wrong concepts, enterprise pain points and what Java did right need to be remembered.

Is Java dead because no-one talks about it anymore?

Thanks for bearing with me through this long post, we now come to an end. Jitter about Java has significantly gone down. My blogging on Java has gone done. My twittering on Java has gone down. Some years ago everyone was talking about Java, now it’s mainly enthusiasts. Java is a none-hype. It’s not as bad as COBOL, but a lot like C and C++. Is a language dead when none talks about it anymore? You decide. In the end the only question that really matters: Is Java dead for me? Would I start a project in Java? I would have in 2008. Would I in 2009? Probably not, I’d use Scala.

About the author

stephan Stephan Schmidt has been working with internet technologies for the last 20 years. He was head of development, consultant and CTO and is a speaker, author and blog writer. He specializes in organizing and optimizing software development helping companies by increasing productivity with lean software development and agile methodologies. Want to know more? All views are only his own. You can find him on Google +

You can leave a Reply here. Of course, you should follow me on twitter here.

You can share this post!
Do you want to tell others about this article? Use the social bookmark icons to submit this artice to the service of your choice. Thanks.

51 Comments 144 Tweets 40 Comments 1 Other Comment

Leave a reply.

Comments

Anonymous

No Java is certainly not dead and is more alive than Ruby, Scala, Groovy, or any of the languages that run on the JVM. The only people who think Java is dead are the vocal minority that happen to like languages that nobody uses or cares about. If any of those languages catch on, they will declare that language dead and move onto the next obscure language. Meanwhile, Java will continue to evolve and will remain king.

I think C# should have been in your list of successors to Java.

Anonymous

Now that I actually read some of your article I see that you say that Java is actually not dead, is not fundamentally flawed, that there is still a lot of interest in it, etc. I agree that it is healthy to explore other languages, I just hate it when people assume that their favorite language or web framework is better than Java then declare that Java is dead. There are still millions of Java developers that actually like Java, want to see Java continue to evolve, and will continue to use it as the default choice on new projects for startups and enterprise use.

Why can’t we all just get along? I don’t like Ruby but I don’t write blogs about how Ruby is so 2006 or that it has been forgotten now that Scala and other shiny new languages have emerged. I have lost a lot of respect for Ruby programmers because they are so completely hostile towards Java and anyone who doesn’t like Ruby.

The next language I’m going to learn is JavaFX Script.

@Ricky: From my experience, although C# has been on the market for a long time, very very few have migrated from Java to C#.

I can only speculate about the reasons, but would assume: 1.) Not too different (yes some more nice language features, but not enough to switch) 2.) Only a little less noisy 3.) Far fewer open source libraries and tools 4.) Constrained deployment options. I think most OPS are not very happy with Windows as a platform and consider Mono on Linux as unproven – far worse in any case than Java/Tomcat/Linux.

Do you have different experiences about people migrating to C#? For what reasons?

Oliver Schrenk

I don’t wont get into the the debate if Java is dead or not. I just wanted to add that mint.com uses Java in its backend as does last.fm (at least to my knowledge).

While last.fm is a little older (founded 2002) both are huge and are profitable. If that seems too old, consider that LinkedIn was launched in May 2003.

Casper Bang

@stephan: That’s besides the point though. For all practical purposes, C# is a much improved Java (properties, events, lambda, inference etc). If “migration” is your benchmark, you can not include an exotic and complex language like Scala in your list which only appeals to the top 5-10%. Also, if you notice, many critics of JDK7 make references to the usability/features of C#.

Java is dead in an innovation sense, Sun has made that very obvious and plan to make $ on JavaFX instead. So while Java certainly is not going anywhere… it’s also not going anywhere!

Siegfried

I think, that when SUN fails, google would continue the development of the JVM. Most of the best Java-Coders are working for google.
Last week they announced noop (http://code.google.com/p/noop/), so i dont think that Java would vanish in the next years.

You left checked exceptions off of your “bad ideas” list. Intentional?

-m

While I agree that Java is slowly dying, your numbers are greatly exaggerated.

When searching google for phrases like this, please add quotes: “Java is dead” actually only has 172.000 hits.

Hmm, but what about Java’s use on cell phones? While smartphones are getting more popular, they’re not reachable by everyone. Last I knew, lots of phones still used Java (and thankfully, few use Brew), mine included (though I hear it’s US counterpart uses Brew – first time I heard of it!).

“[Java] is obviously not any longer the default choice for web-sites and web startups. For some years this has been Rails, and with good reasons.”

Do you have any citations to support this? All the statistics I could find about programming language usage/popularity clearly and dramatically indicate that PHP has been the default choice, not Ruby. It’s not even close.

So, do you think C# would suffer the same fate as Java?

mike

Should your scientific research via Google search have been “”java is dead”" as opposed to “java is dead”? or, potentially “”java is dead” OR “is java dead”" in which case you get hundreds of thousands, not millions of results.

at the end of the day, i would say know. most of my friends are java coders and they work in the financial sector, which is heavily dependant on enterprise java. if money makes the world go round it will make sure that it keeps making java go around.

Wow! This is the most thorough exploration of “Java is dead” that I have read, and your conclusions seem very reasonable to me. (FWIW, people at work have mostly been using Groovy [on the backend/JVM & frontend prototyping] and C# [on the frontend/ASP.Net] for new work.) The comparison between Java’s level of “life” and that of C++ will become closer and closer. What in turn will supplant Java? We don’t know yet.

Java is nowhere close to being dead, inasmuch as it is finding a space where it is likely to sustain itself for a very large period of time. I suspect in many ways as C sustains the plumbing for Systems Programming, Java will continue to sustain in many cases the plumbing for application programming especially for the stacks written on the JVM.

Is Java the language dead ? It will find a space for itself wherein it will continue to be strong and may even be irreplacable. However this space is unlikely to be the application programming space which currently occupies the market share of a lot of development activities and developers. What is clearly apparent is that it is losing mindshare fast, and consequently it could lose some amount of marketshare as well. However even if that were to happen, it would require a significant amount of time since it is far easier to change a technology than the installed base of developers competent with such a technology.

FWIW I had written a post on a similar topic (but covering some very different points) a year back Java : the perpetually undead language.

Anecdotally, I’ve seen many enterprise shops migrate internal app development to .NET from Java, so C# is a valid entry in the list.

@Casper: How can a language be a successor when it has been around for years and noone is using it as a successor? What did change 2009?

@dnene: Thanks for your insights. I carry this post around with me for some years now, and removed around 50% this weekend to be able to finish and publish it finally. Much more needs to be said, but I have no more energy for this topic.

[...] 21 September 2009 Posted by manniwood in Java. trackback Stephan Schmidt’s Is Java Dead? is a perceptive look at how Java is not dead, but how it is nonetheless not the only language one [...]

@Oliver: Thanks for the info on last.fm and mint.com

@Siegfried: Good point on Google, did forget them – how could I?

@fogus: I’m not sure on checked exceptions. Some months they are on my “bad idea” list and I am with Hejlsberg, sometimes I think runtime exceptions are not the solution. But I’m not totally convinced of Either et al. either.

@Keilaron: I think Android is a valid point in case – with other Java applications I wasn’t ever able to install and successfully run one on one of my phones. Might perhaps be me though.

@Gordon: You might be right about PHP, especially taking a look at the TIOBE language index where PHP is rising and rising. Perhaps Rails startups haven been louder in the past.

@Mike: “Should your scientific research via Google search”

No-one would mistake a Google query for scientific research.

@Dean: Good to know – haven’t seen that here in Germany.

@Dean: Oh, and gratulations on “Programming Scala” – best book so far.

ab

“…does Java no longer meet it’s goals?”

Its goals, not it’s goals.

@ab: Thanks, fixed.

Etienne

Hi Stephan,

as Ricky suggested, C# should have been there – in my opinion. You are right when you say that the two are very different in terms of background philosophy/culture (open source vs. proprietary). However, both languages have very similar syntax (a Java coder can learn C# VERY fast) while the C# technology is much more innovative than what happens in the Java space right now, I think.

I am working with both on a regular basis for now almost 2 years. To put it short, both have features/weaknesses (Eclipse rocks, Visual Studio sucks, ASP.NET rocks, JSF sucks) and share most of the “enterprise application development” space, I think.

It is true that someone that is used to Java & open-source technologies (Linux, BSD, Apache, etc) will most likely not switch to super-proprietary Windows/IIS/.NET combo. But, as a programmer, I like to think that someone mastering both technologies won’t be afraid to choose a technology for its qualities rather than because he thinks “the other choice” sucks, without knowing much about it.

That being said, Java is definitely not dead. The innovation just won’t come from Sun or the JCP I think. They moving too slow, so third parties are taking over. Check out what SpringSource is doing, nice innovation. And, on the other side of the fence, Microsoft labs are developing .NET technologies very fast (compared to Java, that is).

Just my 2 cents :-).

Great post. IBM also has a very good, although a bit old, article on Java’s Death: “Dead like COBOL” (http://www.ibm.com/developerworks/java/library/j-cobol.html?S_TACT=105AGX02&S_CMP=EDU).

Interestingly enough, this is linked from Scala’s site (http://www.scala-lang.org/node/960).

Don’t expect Java to lose significant mind share for the next 5 years at least, let alone die. Only the enthusiasts (which is a minority) is worrying about Java’s death right now, and not without reason. The enterprises are happy running Java — when Java is replaced they will simply follow suit. It ultimately depends upon how well a new language delivers and gets adopted, which would eventually replace Java.

euromix

Java is not dead, what is dead is the idea that one system can solve all problems in the world.

for example, java has tons of mature middleware that can be certified in big corporate project.
rails does not, it has the bare minimum.

but rails allows to build medium size project an order of magnitude faster than java big guns.

there is no magic, you can drive faster with a small mini car in a city and you can carry more with a 16 wheeler.

i prefer several tools for different jobs.

Great article – thanks. Long-time user of Java, later .Net, back to Java for App Engine. Will check out Scala.

Typo here: “the early lock and synchronize system of Java proofed to be too difficult”

proofed -> proved.

Hey, and I also had an Amstrad CPC-464 and an Amiga 500 :) Still have the 500 in storage…

Dan Sickles

From a language perspective, C# should be included. From the JVM perspective, C# (and F#) doesn’t play (yes, some shops are migrating to other platforms). Is the JVM dead? No. Is a language dead if it cannot, or will not (BDFLs..), evolve due to it’s own legacy? Maybe. Maybe alive/dead binary thinking is not very useful here.

As for developer inertia, I run in to an awful lot of blub when I talk about Scala.

mike

@stephan: i know mate, it’s called tongue in cheek ;)

point remains, when you narrow the query to “java is dead” or “is java dead” you get far fewer results than just searching for articles that contain the words “java” “is” and “dead” as opposed to the phrase.

@Richard: Hehe, a color or a green CPC-464?

@Richard: Thanks. Fixed, I think this was done by the spell checker. Or I forgot to safe.

James White

I left this comment on another site that referenced your article (http://mpwoodward.posterous.com/):

Interesting commentary on the state of Java. I agree with many of your points and find the article to be a pretty balanced assessment on the state of Java. I do think you should have included Flex/Flash in the list of potential successors. I know it is not as popular with the JVM crowd as say JRuby, Scala, etc. but Flex is a solid way to develop both web and desktop applications. Especially if you put something like Java behind it. I particularly found the point about Java being an OO-only (Object Oriented) language interesting. Especially since it seems that since Java became the thing, any language that was not OO was considered inferior. However, there is a place for OO and there is a place for procedural coding. Not everything needs to be an object.

I believe Java as a language will be around for while, but I think that Sun really missed the boat when they made the web development process as complex as they did. I’m sure Java purist will point out the IDEs and all the different tools they have to help write much of the boiler plate code and speed up the process. But ultimately why should the process be some complex in the first place?

IMHO, Java still has a place as an enterprise application language or back-end language for someone looking to add strength to apps that require very heavy lifting behind the scenes may utilize Java, but I think that as the new languages evolve this issue will go away to the degree that Java may eventually become looked at as COBOL is looked at today, a useful language in some instances, but not what you start up a site on today.

Java, the language, in its current form, IS dying. Let’s be honest. The language needs an overhaul. A lot of smaller projects are making runs to try and make this happen in order to make the language a little bit more expressive. I see the language forking at some point in the future. Java, the language, needs to break backward compatibility and let the language mature. As it stands now, it’s too verbose and you have to say a lot to get things done. I was really disappointed by the lack of changes accepted for 7. I thought that the climate was perfect for core language changes to be introduced for 7.

I don’t think the JVM is dead.

[...] take a few things from this blog post on “Code Monkeyism” and discuss: “Searching for java is dead with Google, one [...]

@James: “Flex/Flash in the list of potential successors.” Yes missed that one. You still need a language on the server though for at least delivering REST. Could be Javascript. Which brings me to Javascript. Have been a fan of server side Javascript (e.g. Helma server) for some time, and although it is available for years, still no breaktrough. So I dropped it from the text.

“[...] since Java became the thing, any language that was not OO was considered inferior.”

This is highly subjective but: I’m not convinced that modeling large business domains and talking to business users is productive in functional languages. And I know it doesn’t work with procedural ones.

“[...] much of the boiler plate code”

Today there isn’t much boilder code in Java – for example see Adam Bien.

http://www.adam-bien.com/roller/abien/entry/ejb_3_1_and_rest

But it’s still noisier than many other languages.

I was about to say the chance of Java dying is the same that COBOL or ForTran have of dying (none!). Then I thought a bit better, and I’ll posit something else:

The chance of Java dieing is the same chance C has of dying.

And that is something else altogether. While C still has a huge place, C++ and Objective C have eroded its space much faster than I’d have believed. Still, it won’t cease to be important to a lot of people, as the same applies to Java.

But one can ask a completely different question, which people will often equate with “Is Java dying?”. That question is:

Is Java losing its proeminence?

I won’t answer that question directly. I’ll point, instead, to something Paul Graham (I think) once mentioned. First, people identify themselves with groups, institutions, beliefs, etc. By “identify” I mean the people will see attacks on these things as personal attacks.

Second, as long as these things are secure in their position, attacks against them are ignored as being silly.

Third, when an institution/belief/etc is being seriously threatened, then people react. And react precisely as one would expect people to react to a personal attack: impulsively, irrationally (as in, without pausing to consider pros and cons), and with force out of proportion. For example, see the inquisition — which only went all-out at a time when the Church was really being threatened.

Fourth, read the replies to your blog.

Well I completely agree with @Alejandro Java as a language has to grow and grow fast with newer languages such as Scala. But I think still that teams would prefer Java for a large enterprise projects rather than PHP or Ruby.

No language ever dies. Saying that Java is dead is like saying C died. Newer languages are replacing Java but it doesn’t mean that it is a “semicolon” for Java. What about Pascal ???

And JVM is surely not dead and will not die soon unless until someone would develop a platform good enough to replace JVM everywhere.

Jim

C# is not a successor to Java, it’s not cross platform, there is no official release of the .NET framework for Linux. Mono sucks, but it kind of runs c# in Linux, but until MS releases a Linux client then C# will never take Java.

bob

In addition to mint and others http://www.shoeboxed.com uses Java too. I have not used scala, but I have used ruby on rails in high through put projects and scalability is a pain. The lack of multi-threading is a killer. IMHO the beauty of java has really been that it has been enterprise ready and what worked in 1.x worked in 1.(x+1). That is not the case at least with rails. Therefore at least in the Rails/Java debate, user rails for vc demos, but that is it.

Alex

I’m using Java 2D and Swing to write quite a good looking and responsive music notation and playback program

artsrc

I think the “enterprise ready” comment is interesting. Have you worked in a large enterprise? What was the worst infrastructure they used? The reality is that enterprises put up with outdated junk as infrastructure that is orders of magnitude worse than anything anyone blogs about. Because they have large investments in that junk.

If the job of tooling is to allow developers to efficient create applications, then Ruby has better tooling that Java. Just write the same application with Rails and SpringMVC and see how long each one takes.

Deploy an application with Java on an enterprise Java application server, and do the same with PHP.

artsrc

Jim,

What is your beef with Mono, is there something you tried to do with it and failed? What are your concerns?

I don’t a great deal of personal experience, but it is part of Gnome with two application written with it, and seems well supported and reasonably robust.

I tried writing a small application with it, and found C# a mostly improved Java.

I think you managed to nail it. The question is not “Is Java dead?” but “Is Java dead for me?”. For some that might be true. For others it might be the total opposite and Java is more prominent in their workspace than ever.

When Java started, it was REALLY ambitious. From enterprise servers to credit cards, everything should run Java. That era is over, and a sober attitude has settled, which I think is good.

The question could also be formulated; “Is the Java hype dead?”, and to that I think most people would answer “Yes”. It is no longer the sexiest thing you can work with, and it is these fashion programmers that are very vocal on their proclamation that Java is dead or that the language needs an overhaul.

I personally don’t think Java needs much overhaul (some, yes), but instead the many “wisdoms” and “patterns” that we are coding with are just plain wrong and greatly contributes to the “noise”, and this *could* be fixed within Java without the massive investment of a new programming language.

The investment side of Java is greatly under-estimated by the fashion programmers. The amount and quality of tooling, libraries and most importantly knowledge among the developers are immense, something that will take decade to replace. That alone should raise the question “Why?” and one should (as was the case of C++ to Java transition) look for evolutionary small steps and not massive replacement. Re-writes (so to speak) don’t pay off unless the benefits are 1-2 magnitudes greater, which none of the contenders can show at the moment (except for prototypes and smaller projects where maintenance crew equal one guy’s head).

@bob: “[...] enterprise ready and what worked in 1.x worked in 1.(x+1).”

This was/is one of the major features of Java Sun got right in the past.

“Java is dead” gives me 171 000 hits, not the millions you talk about. I think the mistake you did was to search for the term without the quotes around them. That just identifies pages with the words “java”, “is” and “dead” on the same page.

Casper Bang

@stephan: When I argue for C# as the successor to Java, it’s obviously in a language capacity. Nothing changed in 2009 but C# is a superset of Java and fixed a lot of issues.

The fact that we do not have C# on the JVM is down to politics and religion, I mean you have every other arcane little language there. And over on the other side, Mono runs Java very well.

I am not saying C# is going to have to take Java’s place on the JVM, I’m saying that you’re leaving out an important piece of the puzzle in your list. Fan for instance (which happens to be my favorite) is heavily influenced by C#.

I can’t hear it any more – telling about “Java is dead”!

I did pretty intensive analysis about what should be my future in development and decided to go with Java.

Language features or verbosity is just one point. It also must be readable, easily learnable by the people coming after us, there must be libraries, good IDE, GUI designers etc.

I do quite each month read about a new programming language – today it was “Surinx” – see http://blog.headius.com/2009/08/introducing-surinx.html

I read a lot about Scala including a lot of things still not supported in IDEs and so on. I think, people try to reinvent the wheel again and again even without understanding why several older things have been implemented as they have been implemented.

I go totally conform with all the developers designing the Java language who think very well before implementing something new. It should not happen that such an important thing as the Java language become bloated and unstable. – Nobody thinks about C(++) introducing significant language changes.

I do software development since the early eightees and I have seen a lot coming along. Java is not dead, it’s just some “hypies” talking about it’s dead – nothing more! In my opinion talking about Java dying is just a hype.

msp

I think it’s tough to compare these languages because they inherently attract somewhat different cultural groups.

Ruby/Groovy/JRuby and Scala are all pulling in the young, trendy folks who don’t have years of experience invested in Java on their resume.

C#, while having a solid crowd of hardcore windows platform devs is also heavily crowded with older VB programmers, who again, have a lot of time invested in “where they are” (read: Microsoft-teet-suckling). Unfortunately, that means a huge bunch of these peeps may be getting a lot of work done, but they can do it without really understanding OO. Look at the failure of webforms compared to the MVC model that’s come out somewhat recently.

Java on the other hand is still staffed to the gills with people who know what they’re doing because most of the frameworks are so wordy and over-thought that you have to know something about OO and patterns. I would argue that your Java guys tend to be a bit mightier in the CS background. So while the language is about cemented in stone and not very sexy in that regard, the community is still bringing plenty of good stuff.

I personally like the polyglot approach. Some languages like Ruby (with Rails specifically) are essentially domain specific and as such, you’re going to get a lot more bang right out of the gate. So why not use IronRuby or JRuby (or hell, just Ruby) for your web stuff, but use JavaFx or WCF+C# for your rich client.

Meanwhile, with web service contracts and other hooks, you can still share certain core functionality. Hell, you might even have some of that implemented in C for speed’s sake.

Use the right tool for the job instead of suffering vs a nail with yr tape measure. The polyglot approach also let’s you keep yr old timers rocking what they know and yr young turks happy with their shiny toys.

Just because there are better languages available doesn’t mean that they are going to replace java.

Look at history – COBOL and VB were hugely popular despite the existence of many better languages.

Corporations aren’t simply going to switch over their applications to a new language or platform just because it is better or even more popular; there is a huge investment in these legacy systems and it is almost always be cheaper and less risky to maintain them than to replace them with something written from scratch. It’s not just the initial investment in creating the software; it’s the infrastructure, support organizations, and procedures processes that exist around the software. These things do not just go away overnight. There are many companies out there running software on JDK 1.4 or earlier, despite the relative ease in switching to a newer JDK vs. switching to a whole new language or platform.

@Martin: “I did pretty intensive analysis about what should be my future in development and decided to go with Java.”

I still believe you need Java on your CV to be able to chose your job. At least if you live outside the valley.

“I read a lot about Scala including a lot of things still not supported in IDEs and so on. ”

IDE support (Eclipse, Netbeans, IDEA) is still subpar. Especially error checking and auto completion – and today I shouted at IDEA because it doesn’t understand Scala imports properly. But for me the benefits of smaller code outweight the Scala cons.

As a head of development though the largest hurdle for introducting Scala is the subpar IDE support.

turtlewax

I agree with Casper Bang.

I just dropped a massive Windows application onto a Linux/mono2.4 and it worked great. After doing a little testing I did change a couple lines of code. But the process was as smooth, if not smoother, than the equivalent process for a java application.

Also, I’d like to clarify that java is a valid option. It isn’t going away any time soon. I see no reason why both stacks can’t co-exist. When you combine mono,SWIG, and IKVM, you have a great framework for using java,C#, and C++.

Alex

The TIOBE index shows Java is still on top at 19.4%

http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html

So far, the music notation app I’m developing, using Java 2D and Swing, works flawlessly on Mac OS X and Windows XP with no platform-specific tweeks. Music playback is perfect on my ancient 867 MHz Mac!

Harrison

Interesting article. I don’t really agree with a whole lot of it though aside from your conclussion that Java is not dead.

Google around for most popular / most widely used programming language and all of the sites ive seen list java as #1. Here is one of them:
http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html

Far from dead. More along the lines of – ruling like a king.

One big thing I massively disagree with is that it was a huge mistake that java objects initial value is null. I think it is absolutely awesome. Exceptions are your friend. If something blows up – stack trace tells you exactly where the problem was. Fix it – good to go. Without exceptions you could spend hours to days trying to track down logic bugs.

Lets imagine that you wrote some complex math code and somewhere in there you forgot to initalize it (if you are using a good IDE it would flag it for you). You run the program – NPE. Stack trace tells you exactly where the problem is – fixed in less than a minute.

Now in a world Java world where all object had some non-null initial value: You run your code and oh… guess what? You didn’t get the output you expected. Or even worse you shipped it and then it causes major problems for the customer. Now you have to spend hours or possibly days trying to track down that damn logic bug.

No my friend, Java initializing objects to null is quite amazing and was a very intelligent design choice.

Now that Oracle is buying it, I think that Java’s replacement will be PL/SQL (don’t laugh just yet). Someone said “enterprises don’t care and will just buy the upgrade” and to an extent they are correct; at least some percentage will buy the upgrade to what ever Oracle offers. There is a large market of not very developer-savvy enterprises that buy all their stuff already. If you look at _nearly_ _all_ their “Java” Fusion Middleware products, under the hood there’s a stored procedure waiting for you !!! (ok you can laugh or cry now).

As for IDEs frameworks and “rapid” web development; I’ve had great successes with Tapestry 5, Jetty and Eclipse. You can edit the pages and reload the browser with restart and/or recompilation (eclipse of course is providing the incremental recompilation on save).

In the meantime, I think we are moving to a more polyglot universe. If you think about it, the ideas behind SOA (buy off Oracle) or REST (hooray!) are about enabling this sort of move by utilising standardised network transport layer protocols like HTTP and easily understood formats like JSON, HTML, XML etc. I think if you look at the “device enabled world” this becomes more apparent. I was just working on a project at a client that has a JBoss-enabled middle tier, with a quite large number of Windows CE devices “in the field” (ten of thousands) and a selection of .Net back office applications, all working happily together via web services.

“reload the browser with restart and/or recompilation” WITHOUT i meant WITHOUT of course.

Curt Adams

As an academic experiment Java is dead. In some respects it worked (no pointers, platform independence, garbage collection) and in some it didn’t (verbosity, checked exceptions). Some initial problems were fixed, at least partially (concurrency, generics). But the outcome is basically worked out and the research is over, with the exception of adding closures, which will be resolved soon.

As a production language Java is not dead. The legacy code issue is enormous, and it’s not just big enterprises. I write programs in Java to use in my “real” job (biology), have been doing so since 1998, and I would probably need about 2 years to learn a new language and packages and rewrite everything. I don’t have 2 years for that, and it wouldn’t make sense in a cost/benefit sense anyway. I doubt I’m alone in this situation.

I think, in addition, Java will have a big role for open source systems. You need access to a huge public library for open source, and you need a language that’s very widely known. It’s tough to do open source when 97% of programmers can’t write in your language. Being propriety (C#) isn’t good either, both practically and philosophically.

I think Java will be fine in production until massive multiprocessing becomes routine. I recently wrote a system that can convert something that generates a series of items but can’t do next() conveniently into an iterator via multiprocessing. And it works great – except that the entire exceptions system is based around the assumption of a von Neumann system where if you throw an exception it gets caught by the calling code. When the calling code is in another thread it doesn’t work and the exception goes (inappropriately) to the top. Combined with the lack of list processing, I don’t think Java can work in a massively multiprocessed system. So in a decade or so Java will become defunct for new work although the legacy issue will remain for quite a while.

No arguments with the article (I dont know enough about the Java space anymore to comment), but your google fu is not correct:

—-
Searching for java is dead with Google, one gets

Results 1 – 10 of about 8,620,000 for java is dead.

Dead indeed. Or at least lots of people think it is or will die 2009.

—-

Sorry, but that text:

java is dead

finds any documents with the words “java”, “is”, or “dead” in it, or any combination. I get about 15m results. No surprise – is and dead are VERY VERY common words.

What you most likely want is:

“java is dead”

or maybe:

+java +is +dead

ie, the WHOLE PHRASE, with quotes. I get about 170,000 results from the first, and 1.5m from the second (google UK). A lot, yes, but not 15m.

??

[...] Is Java dead?Nicht vom Titel täuschen lassen! Dabei werden die Aspekte sehr sachlich betrachtet und durchleuchtet. [...]

IL

I cannot wait for java being dead. Then I can enjoy its successor. But there’s no successor now!(Don’t tell me c#, I think Scala for .NET will be better, .NET is better but not c#, but it not goes far enough)
I will Erlang could be, because erlang vm is awesome. But the erlang language and Ericsson suck.
The problem is still concurrency. The successor must solve it and it will born for it! This is why I`m waiting for the successor.

dave

think for it

but what don’t you talk about Php ?
I’m a java programmer, I go to zend framework and I find it very good to run web2.0 projects

I think php is the default choice for startups, and has most chances to become the next star : all the public excited projects are in php : CMS (drupal), ecommerce, multiblog…
it seems for me all the best opensource is in php.
too bad “old” developpers don’t think about it :)

Whatever

No compelling server apps in Java – Hmm isn’t Adwords – the biggest money spinner on the planet done in Java – isn’t gmail done in Java? ( Java – to javascript via GWT ).

Isn’t tomcat and jetty java?

I think your quote about enterprise stuff being boring sum’s your view up – your not interested in shipping useful, valuable software, with perhaps more than a 5 minute life span – your interesting in playing with the technology for the technologies sake rather than what you can achieve with it – if you were more concerned with the end result then you may be less dismissive of Java.

When I see a resume with all the technologies under the Sun on there I see that as a danger sign of somebody who is more interested in playing than getting the job done.

@Whatever: Not sure if you understood what I wrote: “[...] funny view on enterprise applications [...]“

moritz

well what about javascript?
look at node.js, common js, ext.js
i think javascript has a brilliant future
works on most browsers and platforms, including mobile ones. i moved from compiled langages to untypes interpreted ones much better productivity!

Mugatu

I hope java dies. the sooner the better. I worked for large company where we bought huge sun servers just to run the slow as molasses java apps. Java is so inefficient it made Sun rich by forcing people to run huge servers so they could print “hello, world” on their large scale corporate infrastructure.

I surf in Firefox with Java turned OFF and I don’t notice it. Java isn’t being used on the web client side anymore, thank god !

Surf with Java = OFF !

Maddin

- I think it will be dead, because of the shitty VM and IL implementation (if someone looks under the hood – it’s a mess).
- Bad floating point support and so on.
- No language enhancements like in .NET like: anonymous methods, Lambda, LINQ etc.
- No good threading support like the parallel extensions in .NET.
- And it’s only single language.
- Bad speed – that’s the worse.

Java has indeed better multi-OS and platform support, but that’s only virtual.

If i have five different C++ compilers/linkers for 5 different platforms i code quite as fast as with Java (STL, Boost) and have practically the same platform independence and much more speed. If it comes to the internet it’s more difficult, but not all apps nowadays are i-net apps.

.NET is the way to go in the future. The only place where Java has qualification (i can think of) is when it comes in JSPs with Tomcat. That’s unbeatable.

When i looked the last open positions here in Germany i saw more open once for .NET than for Java!

Cheers

@Maddin: Everyone is entitled to his own opinion, you might resarch yours a little bit more though (threading, single language, bad speed).

Maddin

@stephan:
Richtig. Jedem Tierchen sein Pläsierchen:-)

Martin

mike

I know several programming languages, but not Java. Currently, I use C# on a daily basis. So in the near future, it looks like a ton of java code will be coming my way and I have to decide if I’m going to rewrite this stuff in C# or learn Java so I can support it as-is. What should I do?

@mike: Hard descision. Either way may be the best, depends. My only observation: rewrites take much longer than thought + most requirements which code follows are forgotten.

See http://www.joelonsoftware.com/articles/fog0000000069.html

But in your case, a rewrite might be the best (depends also on recruiting situation etc.)

dave

I come from Java. And I chose to develop w2.0 in PHP. Yes, PHP that you don’t talk :)

with now powerful frameworks (Zend Framework, Symfony) and ORM components (Doctrine) it’ll be more and more useful.

I don’t see a lot of excitings websites for public which are not in PHP. why Drupal is the best CMS and not a Java ?
perhaps Java developpers were too much proud, didn’t look outside.

but the world moves, and it moves from public applications, like facebook social (in PHP, isn’t it ?)

I think if you compare with PHP framework, you’ll see : quick to develop and host, professionnal with fullobject (if you want), MVC and ORM datas, big opensource tools and components, solutions all you can imagine. and for a beta prototype very cheap with all PHP providers
what else ? :)

I don’t say PHP will be the java successor.
and like all you I’m a little sad the Java I liked didn’t move quickly the world
but PHP is now a big challenger in big projects like social and others topublic entreprises (like medias, content managment – all best content managements are PHP)
and the fact you don’t even think to it shows how developpers of “old big” languages don’t easy open to outside ;)

jcoder55

the fact there’s no drive towards JDK7 and JDK evolution at all…

Anonymous2

I do not know for sure where Java is headed but I think even in the case of its gradual demise it will have a lot of inertia in the foreseeable future. There are just so many enterprise level frameworks and libraries for Java and so much time and effort was invested in them by the Java community. Also the JVM itself is a very valuable asset, it is very telling that all these new languages are emerging around it. By the way, my personal feeling is that Java has a superb concurrency support compared with many other languages. Java became somewhat clumsy and hard to master with all these new features, but I would not count on it going away any time soon. It is just no longer the hottest topic in the programming world, but, well, this happens when a language/technology matures

Anonymous2

2Maddin

No offence (actually it is Java developers who should be offended by your post), but your comments about Java are a bit dated. Maybe it was true for JDK 1.0 but a lot of time passed and you should brush up your knowledge a bit before posting such strong statements. Please, do not disinform the fellow readers.

>I think it will be dead, because of the shitty VM and IL implementation (if someone looks under the hood – it’s a mess).
http://www.ruby-forum.com/topic/205088

>- Bad floating point support and so on.
http://download-llnw.oracle.com/javase/6/docs/api/java/math/BigDecimal.html

>- No language enhancements like in .NET like: anonymous methods, Lambda, LINQ etc.
LINQ analog:
http://source.mysema.com/display/querydsl/Querydsl
http://source.mysema.com/display/querydsl/Similar+frameworks
New features present in Java since JDK 5.0 (by the way, the date says 2004)
http://java.sun.com/developer/technicalArticles/releases/j2se15/

- No good threading support like the parallel extensions in .NET.
Haven’t you heard of java.util.concurrent? Well, I did not see anything like it in other languages.
It is a rather high level concurrency library that allows you to write robust concurrent code.
http://www.javaconcurrencyinpractice.com/

>- And it’s only single language.
There are a lot of languages around JVM: Groovy, JRuby, etc.

>- Bad speed – that’s the worse.
Nonsense, huge enterprise web sites are written in Java. JIT compiler allows Java applications to run very fast.

Please, do not be offended. Let’s be friends=) I like C#, and honestly many features in Java 5.0 are a direct influene of C#
I just believe that you did not know the subject very well and there was no malicious intention from your side=)

@Anonymous2: you’re forgetting the quality bit. Linq, closures, even generics are done in a _much better fashion_ in .Net than Java, and this is something that’s fairly tough to argue with. The DSL example you present cannot really be compared to Linq because without C#’s expression trees, queries look really ugly.

Concurrency – seriously, let’s not go there. Take a look at TPL and PLINQ and Rx and _then_ tell me java’s concurrency support is OK. Seriously, it may be ‘good enough for some tasks’ but that’s not how I want it to be – I want it all.

And don’t get me wrong – I appreciate Java’s ecosystem and I think it has a future, but it’s no longer appealing for developers. Despite great tools (IDEA), the language itself is as good as dead. And I wish I could say Scala is the solution, but compared to C# and F#, it just doesn’t cut it. Nice ideas, cleaner syntax, lots of sugar, but still not good enough.

Anonymous177

“@Anonymous2: you’re forgetting the quality bit. Linq, closures, even generics are done in a _much better fashion_ in .Net than Java, and this is something that’s fairly tough to argue with.”
Linq and plinq are a great idea and brilliant to use. But I’m not hugely sure about closures and definitely not generics. Heck, C# doesn’t even have the super keyword when it comes to using generics, yes there’s fudges but for advanced generic stuff (which is very powerful when used correctly) that’s an awful limitation.
Besides which, up until .NET 4 Linq especially was often slower in C# than writing out the equivalent code by hand because the compiler was so bad at processing it. So while it was nice syntactically, if you wanted comparable performance it was all but useless.

“Concurrency – seriously, let’s not go there. Take a look at TPL and PLINQ and Rx and _then_ tell me java’s concurrency support is OK. Seriously, it may be ‘good enough for some tasks’ but that’s not how I want it to be – I want it all.”
Give me an example of a task it’s not good enough for that the parallel extensions framework is? Yes, there are a limited few, but at present it’s good enough for 95% of tasks, not just “some”. Besides which, there’s extra concurrency stuff coming in in Java 7. I can’t think of anything sensible that won’t work with Java 7′s concurrency library.

“Despite great tools (IDEA), the language itself is as good as dead. And I wish I could say Scala is the solution, but compared to C# and F#, it just doesn’t cut it. Nice ideas, cleaner syntax, lots of sugar, but still not good enough.”
C#, in my mind, is a hugely overpushed and overrated cookie. Some things it does very well, but a lot of the things it supports that people are crying makes it better (operator overloading for instance) is stuff that Java deliberately took out because it’s generally a bad idea. Yes, of course I can tie things in to Windows better with C# than I can with Java, that will come naturally. But forgetting the libraries, there’s so many low level bad design choices that have been made in C# it’s just awful to use for some things in comparison to Java. Making all classes final by default completely undermines the whole idea of OO, the naming conventions are hideous (no-one ever started method names with a capital until C# came along, why the heck did they change that?) there’s some features that make development a lot easier like checked exceptions that they left out altogether, and despite what people say about mono it is truly *awful*. It’s design takes a language that’s tied in heavily to Windows and tries to bodge it to work on Linux, nothing more – and if anyone’s done a remotely complex project using it then they’ll know this!

With the likes of Android, Java is if anything more alive than ever. Google use a huge amount of Java for pretty much all their applications and they’re hardly going anywhere soon. Now that Oracle have hold of it they’ll probably be pushing it hugely on the enterprise market as well. And it’s still being updated to the point where we’ve already got Java 7 and 8 confirmed and on the way.

Java is not dead, nor will it be in the near future. Since its beginnings there have always been languages come up hailing that they’ll overtake it, but in reality that won’t happen until a language appears that does everything that Java does already, but better. With the support and the infrastructure behind Java already, that’s unlikely to happen any time soon.

John

I realize this is a very old post, but a great post and splendid comments.

When it comes to polyglot programming…

I work in a shop where the polyglot approach works (and has, for at least a decade). But it takes work! The company developed & maintains a framework to support this and it takes discpline from the lesser developers (such as myself) who make use of the framework. It also requires the architect to choose just a small handful of languages/technologies!

In defense of polyglot development I think the gains are more visible outside of immediate development. For us, this is in the support level. Support managers are far more comfortable patching one or two text files of Tcl (which can be diffed) than installing a mystery binary.

What’s exciting is that Java 7 may make this architecture very natural. Java has one of the richest set of proven libraries, so aside from technical issues (still waiting on that realtime garbage collector) and perception, it seems crazy to throw it all away and start over.

The only real weakness I see is rich-client support.

scalaisking

java is dead in term of FOSS, due to intention of Oracle to monetize it. It no longer a good choice to be used in low budget project.

totochto

Nothing last forever, friends. But I suppose many will cling to the dying corpse of that monolithic collection of convoluted code that is known as Java for a while to come. I mean how long has it taken COBOL to join the trash heap of programming history, right? The colleges have been grinding out Java brainwashed graduates for over a decade and a half now, often with little or no understanding of other languages and programming paradigms. Just because something is in popular usage does not make it the best choice. I seem to reme,ber that the purpose of symbols in math and programming is to facilitate understanding of complex structures, not obfuscate them. I much prefer:

print “Hello, world!”

to

public class HelloWorld {

public static void main(String[] args) {
System.out.println(“Hello, World”);
}

}

But to each his own.

Very nice article and comments on future and current trends in java programming … really nice information and good topic.

Leave a Reply

What people wrote somewhere else:

Published blog post – my grand opus on the topic: “Is Java dead?” http://retwt.me/8I9s

This comment was originally posted on Twitter

Hope to put an end to this discussion in my head: “Is Java dead?” http://retwt.me/8I9s #java #scala #groovy #erlang

This comment was originally posted on Twitter

RT @tweetmeme Code Monkeyism: Is Java dead? http://retwt.me/8I9s

This comment was originally posted on Twitter

RT @codemonkeyism: Published blog post – my grand opus on the topic: “Is Java dead?” http://retwt.me/8I9s

This comment was originally posted on Twitter

RT @codemonkeyism Code Monkeyism: Is Java dead? http://retwt.me/8I9s

This comment was originally posted on Twitter

Code Monkeyism: Is Java dead? http://ff.im/-8sR5n

This comment was originally posted on Twitter

Is Java Dead?: Comments http://url4.eu/UJtA

This comment was originally posted on Twitter

RT @codemonkeyism Hope to put an end to this discussion in my head: “Is Java dead?” http://retwt.me/8I9s #java #scala #groovy #erlang

This comment was originally posted on Twitter

Interesting discussion. Is Java Dead? http://bit.ly/19EuFT

This comment was originally posted on Twitter

Is Java Dead? http://bit.ly/3lO2BZ

This comment was originally posted on Twitter

@codemonkeyism: “Would I start a project in Java? I would have in 2008. Would I in 2009? Probably not, I’d use Scala.” http://bit.ly/17pLgN

This comment was originally posted on Twitter

RT @codemonkeyism Is Java dead? http://retwt.me/8I9s

This comment was originally posted on Twitter

Is Java Dead? http://bit.ly/31ACE2

This comment was originally posted on Twitter

Is Java Dead? http://bit.ly/31ACE2 (via @newsycombinator)

This comment was originally posted on Twitter

is java a legacy from da bygone era??
read on
http://codemonkeyism.com/java-dead/

This comment was originally posted on Twitter

Oh, goodie. Another post about the Java death watch: http://is.gd/3wBbO

This comment was originally posted on Twitter

RT @newsycombinator Is Java Dead? http://bit.ly/31ACE2

This comment was originally posted on Twitter

Is Java Dead? http://ff.im/-8t10I

This comment was originally posted on Twitter

Reddit/p: Code Monkeyism: Is Java dead? http://bit.ly/3iTYLV

This comment was originally posted on Twitter

RT @cocoy: Is Java Dead? http://ff.im/-8t10I

This comment was originally posted on Twitter

@javeros is java dead? http://codemonkeyism.com/java-dead/ (via nycomb)

This comment was originally posted on Twitter

Code Monkeyism: Is Java dead? http://bit.ly/ean8U

This comment was originally posted on Twitter

RT: @codemonkeyism: Published blog post – my grand opus on the topic: “Is Java dead?” http://retwt.me/8I9s

This comment was originally posted on Twitter

Is Java dead ? interesting article : http://is.gd/3wD1a

This comment was originally posted on Twitter

recommended reading “Is Java dead?” http://codemonkeyism.com/java-dead/ (via @DarkSmith) #java #dead

This comment was originally posted on Twitter

Is Java Dead?… http://codemonkeyism.com/java-dead/

This comment was originally posted on Twitter

RT @cocoy: Is Java Dead? http://ff.im/-8t10I — I thought Java has been “open-sourced” already?

This comment was originally posted on Twitter

RT @codemonkeyism Code Monkeyism: Is Java dead? http://retwt.me/8I9s

This comment was originally posted on Twitter

RT @codemonkeyism Code Monkeyism: Is Java dead? http://retwt.me/8I9s

This comment was originally posted on Twitter

Is Java dead?: http://twurl.nl/lb5y4q (via @seantheflexguy)

This comment was originally posted on Twitter

Code Monkeyism: Is Java dead? http://ff.im/-8t8gX

This comment was originally posted on Twitter

RT @tekool: Is Java dead?: http://twurl.nl/lb5y4q (via @seantheflexguy)

This comment was originally posted on Twitter

Is Java dead? http://bit.ly/17pLgN

This comment was originally posted on Twitter

Wonderful article on the “Java is dead” topic: http://codemonkeyism.com/java-dead/

This comment was originally posted on Twitter

Interessanter Artikel auf Code Monkeyism zu der Frage: Is Java dead? http://ow.ly/qiRD

This comment was originally posted on Twitter

java is dead? http://codemonkeyism.com/java-dead/

This comment was originally posted on Twitter

RT @tweetmeme Code Monkeyism: Is Java dead? http://retwt.me/8I9s

This comment was originally posted on Twitter

Is Java dead? NO http://codemonkeyism.com/java-dead/

This comment was originally posted on Twitter

Really good read: Is Java dead?: http://twurl.nl/lb5y4q (via @tekool, @seantheflexguy)

This comment was originally posted on Twitter

RT @codemonkeyism Code Monkeyism: Is Java dead? http://retwt.me/8I9s

This comment was originally posted on Twitter

RT: Is Java dead?: http://twurl.nl/lb5y4q (via @seantheflexguy)

This comment was originally posted on Twitter

Is Java dead? – Code Monkeyism http://bit.ly/yj1Zq

This comment was originally posted on Twitter

Interesting post on the future of Java – http://bit.ly/19EuFT

This comment was originally posted on Twitter

is java dead? http://bit.ly/17pLgN

This comment was originally posted on Twitter

Read: “Code Monkeyism: Is Java dead?” http://codemonkeyism.com/java-dead/

This comment was originally posted on Twitter

RT @sordyl: Is Java dead? – Code Monkeyism http://bit.ly/yj1Zq

This comment was originally posted on Twitter

Is Java dead? http://twurl.nl/2mbicd

This comment was originally posted on Twitter

RT: @newsycombinator: Is Java Dead? http://bit.ly/31ACE2 yes yes its rotting now

This comment was originally posted on Twitter

Is Java Dead ? Article intéressant sur Java et son avenir : http://codemonkeyism.com/java-dead/

This comment was originally posted on Twitter

Is Java Dead? http://bit.ly/vlcFc #postrank #entrepreneur

This comment was originally posted on Twitter

JAVA is dead… What’s next? Here is a good summary http://budurl.com/shlk

This comment was originally posted on Twitter

RT @codemonkeyism: Published blog post – my grand opus on the topic: “Is Java dead?” http://retwt.me/8I9s

This comment was originally posted on Twitter

RT @newsycombinator: Is Java Dead? http://bit.ly/31ACE2 [good read

This comment was originally posted on Twitter

RT @codemonkeyism Code Monkeyism: Is Java dead? http://retwt.me/8I9s (via @mieky)

This comment was originally posted on Twitter

“Is Java dead!?” => http://codemonkeyism.com/java-dead/ via @dzone #java #jvm

This comment was originally posted on Twitter

“Is Java dead?” http://codemonkeyism.com/java-dead/

This comment was originally posted on Twitter

Is Java Dead?? http://bit.ly/TnYeH by @codemonkeyism #fb

This comment was originally posted on Twitter

new blog post: is #java dead? http://codemonkeyism.com/java-dead/

This comment was originally posted on Twitter

RT @iweb: Interesting discussion. Is Java Dead? http://bit.ly/19EuFT

This comment was originally posted on Twitter

“Is Java dead?” http://codemonkeyism.com/java-dead/ Maybe … I sure have a lot more fun in other languages …

This comment was originally posted on Twitter

Interessante articolo, per quanto agghiacciante per la mia carriera http://bit.ly/gEgIE

This comment was originally posted on Twitter

Asi první *rozumný* článek na téma (ne)mrtvosti Javy, který jsem četl: http://codemonkeyism.com/java-dead/

This comment was originally posted on Twitter

Good discussion on Java and it’s perceived demise. http://bit.ly/19EuFT

This comment was originally posted on Twitter

Published blog post – my grand opus on the topic: “Is Java dead?” http://retwt.me/8I9s (via @codemonkeyism)

This comment was originally posted on Twitter

Thorough, insightful. One of the best article I read for this topic. “Java is dead” http://bit.ly/OfBcW

This comment was originally posted on Twitter

RT: @dmajda: Asi první *rozumný* článek na téma (ne)mrtvosti Javy, který jsem četl: http://codemonkeyism.com/java-dead/

This comment was originally posted on Twitter

Is Java Dead: http://tinyurl.com/nhn3zb Stephan argues otherwise. As long as enterprise non-IT customers use it, Java should be fine.

This comment was originally posted on Twitter

Is Java dead? http://codemonkeyism.com/java-dead/

This comment was originally posted on Twitter

Is Java dead? http://bit.ly/19EuFT Interesting article that tries to set things straight about this overly exaggerated claim

This comment was originally posted on Twitter

Is Java Dead? http://bit.ly/7EJxy

This comment was originally posted on Twitter

@thinkberg RT: Is Java dead? http://twurl.nl/2mbicd

This comment was originally posted on Twitter

RT @codemonkeyism Code Monkeyism: Is Java dead? http://retwt.me/8I9s

This comment was originally posted on Twitter

Is Java Dead? by @codemonkeyism — Maybe not. Good discussion. http://bit.ly/19EuFT

This comment was originally posted on Twitter

#Read Java已死了吗?http://codemonkeyism.com/java-dead/ 同类俗文较多,这篇算是比较全面的讨论

This comment was originally posted on Twitter

RT @turingbook: #Read Java已死了吗?http://codemonkeyism.com/java-dead/ 同类俗文较多,这篇算是比较全面的讨论 // 补充一句,这篇不(仅仅)是讨论语言的。

This comment was originally posted on Twitter

RT @turingbook: #Read Java已死了吗?http://codemonkeyism.com/java-dead/ 同类俗文较多,这篇算是比较全面的讨论 // 补充一句,这篇不(仅仅)是讨论语言的。fav一下明天细看。

This comment was originally posted on Twitter

Just because Java is not dead doesn’t mean it has a future: http://codemonkeyism.com/java-dead/

This comment was originally posted on Twitter

Thanks–big issue with Flex/Flash is they don’t stand completely on their own like Java does, nor are they intended to. So I’m not sure you can point to Flex as a potential successor for Java when in the end Flex is a UI technology first and foremost. Comparing Flex to JavaFX would be a more apt comparison in my mind.I don’t think you’ll find much disagreement with the notion that Java as a language, particularly for web development, is more complex than it needs to be. That’s why things like Groovy and Grails exist. But as I point out in my subsequent post, it’s really the platform that’s the thing, which is why Groovy, JRuby, Jython, etc. target the Java platform, and why Adobe pushes Java-based technologies like BlazeDS and LiveCycle, not to mention Java as a language, to backend Flex applications.

I’d agree that given all the options I wouldn’t go with straight Java servlets and JSPs to build a web app today. But in terms of stability, ease of deployment, ubiquity, and the huge number of open source libraries available, there’s nowhere I’d rather be than on Java as a platform.

This comment was originally posted on Matthew’s posterous

Is Java dead? “Code monkeyism” blogs about it. He seems to be writing for monkeys though, as only they could understand. http://bit.ly/Texum

This comment was originally posted on Twitter

RT @psemme:Interesting post on the future of Java – http://bit.ly/19EuFT

This comment was originally posted on Twitter

RT @cocoy: Is Java Dead? http://ff.im/-8t10I

This comment was originally posted on Twitter

“Is Java dead?” http://bit.ly/Texum The answer is no. People who say yes haven’t ever set foot inside a large company.

This comment was originally posted on Twitter

RT @lisacrispin RT @aglover: Is Java dead? http://bit.ly/Texum Answer is no. People who say yes havent ever set foot inside a large company.

This comment was originally posted on Twitter

Is Java Dead ? should we Learn another Programming Langage ? Whats The next Big Java replacement ? => http://codemonkeyism.com/java-dead/

This comment was originally posted on Twitter

Gnome 3 Big Changes take a Look at : http://codemonkeyism.com/java-dead/

This comment was originally posted on Twitter

RT @codemonkeyism: Published blog post – my grand opus on the topic: “Is Java dead?” http://retwt.me/8I9s

This comment was originally posted on Twitter

http://icio.us/utqef3

This comment was originally posted on Twitter

RT @psemme Interesting post on the future of Java – http://bit.ly/19EuFT

This comment was originally posted on Twitter

RT @codemonkeyism: Published blog post – my grand opus on the topic: “Is Java dead?” http://retwt.me/8I9s

This comment was originally posted on Twitter

Interesting post on Javas status as a VM and a language. http://codemonkeyism.com/java-dead/

This comment was originally posted on Twitter

Interesting post on Javas status as a VM and a language. http://codemonkeyism.com/java-dead/ (via @dparnas)

This comment was originally posted on Twitter

Code Monkeyism: Is Java dead? http://codemonkeyism.com/java-dead/

This comment was originally posted on Twitter

Code Monkeyism: Is Java dead? http://ff.im/-8uanG

This comment was originally posted on Twitter

Code Monkeyism: Is Java dead? http://tinyurl.com/n56y2q

This comment was originally posted on Twitter

Is Java dead?: http://twurl.nl/lb5y4q (via @seantheflexguy)

This comment was originally posted on Twitter

This post “Is Java Dead?” is very well put together. It is a well reasoned piece on what makes Java & the JVM good/bad: http://bit.ly/17pLgN

This comment was originally posted on Twitter

Code Monkeyism: Is Java dead? http://ff.im/-8utir

This comment was originally posted on Twitter

An interesting read on whether Java is dead: http://bit.ly/17pLgN

This comment was originally posted on Twitter

RT @codemonkeyism Code Monkeyism: Is Java dead? http://retwt.me/8I9s

This comment was originally posted on Twitter

Code Monkeyism: Is Java dead? http://ff.im/-8uKeL

This comment was originally posted on Twitter

[Reading] Code Monkeyism: Is Java dead? http://retwt.me/8I9s

This comment was originally posted on Twitter

Is Java dead ? http://codemonkeyism.com/java-dead/

This comment was originally posted on Twitter

Is Java dead ? http://bit.ly/Pfrnf

This comment was originally posted on Twitter

Very interesting stuff: http://codemonkeyism.com/java-dead/ Is Java Dead?

This comment was originally posted on Twitter

Is Java dead? http://bit.ly/Texum (via @codemonkeyism) Don’t think so!

This comment was originally posted on Twitter

Code Monkeyism: Is Java dead? http://ff.im/-8vlYd

This comment was originally posted on Twitter

Best post about whether Java is dead I read for a long time. http://bit.ly/19EuFT (by @codemonkeyism)

This comment was originally posted on Twitter

♻ @CycoMi7o: Is Java dead?: http://twurl.nl/lb5y4q (via @seantheflexguy)

This comment was originally posted on Twitter

RT @codemonkeyism Code Monkeyism: Is Java dead? http://retwt.me/8I9s

This comment was originally posted on Twitter

RT @tekool: Is Java dead?: http://twurl.nl/lb5y4q (via @davidderaedt)

This comment was originally posted on Twitter

Is Java dead? http://tinyurl.com/nhn3zb

This comment was originally posted on Twitter

Is Java dead? http://tinyurl.com/nhn3zb (via @crazeegeekchick)

This comment was originally posted on Twitter

Is Java dead? http://tinyurl.com/nhn3zb (via @crazeegeekchick)

This comment was originally posted on Twitter

RT @crazeegeekchick: Is Java dead? http://tinyurl.com/nhn3zb

This comment was originally posted on Twitter

Is Java dead? http://tinyurl.com/nhn3zb (via @crazeegeekchick)

This comment was originally posted on Twitter

RT @crazeegeekchick: Is Java dead? http://tinyurl.com/nhn3zb

This comment was originally posted on Twitter

Is Java dead? http://codemonkeyism.com/java-dead/ (via @uggedal). The VM certainly is not, but the language might be dying, IMO.

This comment was originally posted on Twitter

via .@crazeegeekchickIs Java dead? http://tinyurl.com/nhn3zb

This comment was originally posted on Twitter

Ioke mentioned on the Java is dead post. Kinda cool http://bit.ly/19EuFT

This comment was originally posted on Twitter

Is Java dead? http://ff.im/-8wT7u

This comment was originally posted on Twitter

RT @andreisavu: Is Java dead? http://ff.im/-8wT7u

This comment was originally posted on Twitter

RT @andreisavu Is Java dead? http://ff.im/-8wT7u

This comment was originally posted on Twitter

кто что думает? :) RT @t_gra: Is Java dead? http://codemonkeyism.com/java-dead/

This comment was originally posted on Twitter

RT @andreisavu: Is Java dead? http://ff.im/-8wT7u

This comment was originally posted on Twitter

Interesting article on Java and its possible successors: RT @andreisavu: Is Java dead? http://ff.im/-8wT7u

This comment was originally posted on Twitter

„outside of frameworks, inheritance is inflexible, leads to tight coupling and is plain bad.“ Pravda… (http://tr.im/zqXL via @dmajda)

This comment was originally posted on Twitter

“Is Java dead?” http://codemonkeyism.com/java-dead/ (by @codemonkeyism)

This comment was originally posted on Twitter

RT: @paulosuzart: “Is Java dead?” http://codemonkeyism.com/java-dead/ (by @codemonkeyism)

This comment was originally posted on Twitter

Google assustador: Resultados 1 – 10 de aproximadamente 15.200.000 para java is dead – Trocentésima análise em http://bit.ly/Texum

This comment was originally posted on Twitter

RT @lucastex: RT: @paulosuzart: “Is Java dead?” http://codemonkeyism.com/java-dead/ (by @codemonkeyism)

This comment was originally posted on Twitter

Is Java dead? http://bit.ly/1CJnSz

This comment was originally posted on Twitter

RT @codemonkeyism Code Monkeyism: Is Java dead? http://retwt.me/8I9s

This comment was originally posted on Twitter

Code Monkeyism: Is Java dead? http://codemonkeyism.com/java-dead/ Post Java.

This comment was originally posted on Twitter

Is Java Dead? http://codemonkeyism.com/java-dead/

This comment was originally posted on Twitter

@eabarquez There r still millions of Java developers dat actually like Java. like what anonymous said in http://codemonkeyism.com/java-dead/

This comment was originally posted on Twitter

Here’s a really good article about Java and its future: http://codemonkeyism.com/java-dead/

This comment was originally posted on Twitter

Is Java dead http://codemonkeyism.com/java-dead/

This comment was originally posted on Twitter

“Is Java dead?” http://codemonkeyism.com/java-dead/

This comment was originally posted on Twitter

RT @eddantas: “Is Java dead?” http://codemonkeyism.com/java-dead/

This comment was originally posted on Twitter

RT: @eddantas: “Is Java dead?” http://codemonkeyism.com/java-dead/

This comment was originally posted on Twitter

Is JAVA dead? Clojure where are you? http://bit.ly/19EuFT

This comment was originally posted on Twitter

RT @fallenprogrammr: Is JAVA dead? Clojure where are you? http://bit.ly/19EuFT

This comment was originally posted on Twitter

Ustedes creen que Java ya no tenga futuro? http://codemonkeyism.com/java-dead/

This comment was originally posted on Twitter

RT @mario_chavez Ustedes creen que Java ya no tenga futuro? http://codemonkeyism.com/java-dead/

This comment was originally posted on Twitter

RT: @ajlopez: RT @fallenprogrammr: Is JAVA dead? Clojure where are you? http://bit.ly/19EuFT

This comment was originally posted on Twitter

Additional comments powered by BackType

Guide to CodeMonkeyism

Over the last 4 years I wrote many articles on this blog. To make it easier for you to find the relevant ones, I've organized them into topics.

Top 10

6 reasons why my VC funded startup did fail

Go Ahead: Next Generation Java Programming Style

Java Interview questions: Write a String Reverser

The dark side of NoSQL

7 Bad Signs not to Work for a Software Company or Startup

Is Java dead?

Scala vs. Clojure

Never, never, never use String in Java

No future for functional programming in 2008 – Scala, F# and Nu

Clojure vs Scala, Part 2

Java Developer

Is Java Dead?

Go Ahead: Next Generation Java Programming Style

Be careful with magical code

All variables in Java must be final

Never, never, never use String in Java

Bending Java: More readable code with methods that do nothing?

NoSQL Guy

NoSQL: The Dawn of Polyglot Persistence

The dark side of NoSQL

Essential storage tradeoff: Simple Reads vs. Simple Writes

Sharding destroys the goals of your relational database

The unholy legacy of databases

Startup/CTO

Development Dream Teams

6 reasons why my VC funded startup did fail

American vs. European style of Software Development

12 Things to Reduce Your Lead Time and Time to Market

The high cost of overhead when working in parallel

Essential storage tradeoff: Simple Reads vs. Simple Writes

Job Seeker

Another Good (Java) Interview Question

7 Bad Signs not to Work for a Software Company or Startup

Java Interview questions: Write a String Reverser (and use Recursion!)

Java Interview questions: Multiple Inheritance

As a Manager: What I value in developers

Top 10 Tips (+1) to Get a Pay Raise

Agilist

What Developers Need to Know About Agile

5 Practices Better to Change in Your Scrum Implementation

Scrum is not about engineering practices

ScrumMaster and ZenMaster: The joke of certification

What is Trans-Scrum?