Java and JVM Languages06 Aug 2012
Over the years, JVM has become not only the host of Java but also of several other languages. Categorized together as JVM-based languages, these languages claim to better what and how Java does performs specific functions. Some of these that need specific mention and those that interests me are listed below-
Jython - It is originally a port of popular language Python to the JVM. However, I am very much interested in Python but have quite a lot interaction with Jython while working with WebLogic Scripting Tool.
Groovy - As part of my project, I had certain work that I wanted to do without writing a full code in Java and a colleague did it using Groovy. I could not think that it would be so easy but it was done. After few years, I was having discussion regarding JVM languages on JavaRanch forums, when Groovy was reintroduced to me as the language that most closely resembles Java. Few will say that Groovy just offers syntactic sugar for Java. Sure, it does and quite successfully. I have just started learning it and you may see some posts on my blog related to my learnings related to Groovy.
Scala - This is a language that is hot in the market. It is a blend of Object Oriented and Functional Paradigms. Its fundamental syntax is replacement for Java and the advanced features offer freedom to write a functional code. I plan to learn Scala after I Groovy.
JRuby - It is a Java implementation of Ruby programming language. Its homepage says The Ruby Programming Language on the JVM and claims to be the best of JVM in terms of performance, threading, and libraries. The language features have all been ported, and it is now possible to run Ruby on Rails on the JVM. I have no experience on Ruby. So, will not be able to comment on its claims but truly it happens to be the language on my To Learn list.
Clojure - This language brought my interest to JVM Languages. It is a dialect of Lisp that runs on JVM. It was developed by Rich Hickey. It is a functional general-purpose language with focus on programming with immutable values and like other Lisps Clojure treats code as data.
GOSU - I learned about this language when I was browsing through internet and came across this page. Developed by Guidewire, a company specializing in software packages for the insurance industry, the language offers powerful features like extensible type system, reified generics, modify existing types, etc. I think I must add this to my To Learn list as well. You can see a comparison (by Gosu team) of several popular JVM Languages over here.
Ceylon - is a programming language created by Red Hat and the project has been referred to by industry analysts as a “Java killer”, though Red Hat] themselves reject this term. As per the official documentation, Ceylon’s syntax is ultimately derived from C…You can run Ceylon anywhere a Java 71 Virtual Machine is available. The Ceylon compiler uses the bytecode generator in Open JDK to produce Java bytecode.