Tuesday, January 8, 2013

Java, JavaScript and Maven in 2013

A couple of predictions for this year:

  • Java will become cool again
  • JavaScript running on the JVM will be interesting
  • Maven will become cool


Java 8 will bring lambda functions into the fold and enhance its collections to support them. Functions as first-class objects are one of my favourite features of other languages such as JavaScript. What I like about them is the mainly the flow of writing code. With Java today there's a bit too much of a context switch when providing some type to handle lambda style behaviour. This can curb productivity.

It is a shame that automatic property access isn't being incorporated as I think that this would be the final nail that pushes aside a few other JVM languages.

JavaScript on the JVM

Both Nashorn and DynJs will change the landscape in terms of running JavaScript on the JVM. I'm personally quite impressed with Mozilla's Rhino and have always found it to be quite functional. Having something that builds off of our API learnings and simultaneously runs much faster will make the JVM a first class platform for running JavaScript. Watch out Node.js… I'm suspecting that they'll be a nice JVM based equivalent coming along.


It seems to me that people's main issue with Maven is the XML pom file format. Its about time that we had a better DSL for POMs. Imagine what a JavaScript POM DSL would look like… My belief is that moving away from XML will make Maven appeal to many current naysayers.


Click here for my reflections a year on.

1 comment:

Chris Hedley said...

Maven already has an equivalent which has a DSL which supports dynamic languages where functions are a first class citizen; Gradle. It's seems to be getting lots of traction now with companies such as Springsource, NETFLIX and Amazon using it to build high profile open source projects.

Having said that Maven is embedded in a lot of enterprises and isn't going anywhere fast. I would love to have an alternative, more intuitive DSL. Sadly the DSL of Maven isnt the only reason projects are moving to alternatives!

I am excited about any up and coming JVM runtimes as I see this as important feature of enterprise development in the immediate future. Sadly this is the reason that Java will never be 'cool' again. The most exciting projects I see to today use Java as a systems language and use funky, cool alternatives as the glue to aid RAD.

One thing is for sure Chris, the future is interesting and I'm excited to see how it all pans out.