Neal Ford, the guy directly responsible for my career (yes, all legal claims need to go his direction), has on his Meme Agora blog, numerous conference keynotes, and various podcasts has pushed forth the idea of Polyglot Programming. The basic idea behind Polyglot Programming is that various aspects of a computer program could be written in multiple implementation languages that target a specific platform. More specifically think of all the computer languages that all run on top of Java's VM and choosing a few from that set for your application and you've got the idea. You would choose what to use based on what language could most easily solve the problems related to a specific aspect of the application. For example, on a JEE web application you might write the view in Ruby on Rails running on JRuby, implement the controller layer in Groovy code in Spring, and use plain ole Java for the model because you have 90% of it already written for a previous application.