Most of our reading and prototyping of those days is done in the web-dynamic-language sub-universe (typically Ruby / Rails), and most of the (quite vocal) inmates there are not exactly Java-lovers, citing, not always inappropriately (among others):

  • The Java language verbose nature
  • The complexity of using multiple framework and layers piled one atop another
  • Tomcat (or others) heavyweight nature compared to mongrels

If seeing some Ruby (or other dynamic language) creeping in a Java shop or tool is something that you hear of  frequently, the reverse seems quite rare.

And yet, I see more and more signs that even those Rails shops use JVMs, perhaps grudgingly, but use them, not for they own merits, but as a "necessary pain" for being able to use some very good applications/packages running on the JVM. It seems that the Java ecosystem is more and more contrasted with on one side a language that seems increasingly out of steam, with very minor changes with long stale periods between, and on the other side a new generation of high quality applications/libraries developed with it (or/and at least on the JVM platform).

Christophe did propose an explanation to what seems to be somewhat of a contradiction: the language may be old and showing its age, but the people that have grown with it are mature, experienced developers able to use it at its best.

Some examples :

  • Lucene, the well known search engine, powering Wikipedia (a PHP projects) among many many others
  • Hadoop, a framework for big distributed data management
  • Jira, a commercial and very successful  issue tracker from Atlassian
  • Jenkins (formerly Hudson), an open source continuous integration server
  • Sonar, a code quality tool initially targeting Java, now extended with plugins for many languages, from C to Flex
  • Neo4j, one of the increasingly visible graph database implementation

I most probably would no more choose Java as my primary language for web development, but those are software gems I do not want to be cut  from. Once more, the evidence is probably toward companies working in a mixed environments, and to the end of the mono language model. As an developer, this is a period as good as any to learn a second (or third, or fourth) language and its real-life usages.


Some(what) related links :