Thursday, July 16, 2009

Multiple Languages, Multiple Platforms: Choice Is A Good Thing

Over the past decade or so, the Microsoft vs. Java landscape has been summed up as follows:
  • Microsoft: Multiple languages, single platform.
  • Java: Single language, multiple platforms.
In "Java yields to other languages on the Java Virtual Machine" Paul Krill from InfoWorld covers the fact that Java is no longer the only language in town when it comes to creating applications that run on the Java Virtual Machine.

Languages such as Groovy, JRuby, and Scala are just a handful of languages beyond Java available for the JVM.

The fact is that over the past few years the landscape has changed to be:
  • Microsoft: Multiple languages, single platform.
  • Java: Multiple languages, multiple platforms.
Why is offering a choice of languages important? Neil McAllister provides some good reasons in "We need more polyglot programmers". The emergence of other languages targeting the proven and scalable Java platform is a good thing for the Java market. It will help keep the Java platform vibrant and expand its market reach.

Neil makes the point that Groovy "offers a Java-like syntax but is actually a dynamic language, similar to Perl, Python, and Ruby. It gives developers the safety and stability of the Java runtime but frees them from the often-restrictive Java syntax.".

All of these points factored into why SpringSource added Groovy and Grails into our portfolio of product offerings.

Bottom-line: Choice of language and platform is a good thing...for developers, customers, software vendors, and the market in general.