Tuesday, August 21, 2007

Ruby and Groovy

Nowadays you hear people talking about the languages Ruby (especially when it's 'On Rails') and Groovy as if it they are the next Java, .NET or PHP. My feeling says this is not the case, but still I have to investigate more before being sure and actually knowing all the differences. For starters, it might be good to summarize the terms.


Ruby
Super clean object-oriented programming language, it combines the best of both Smalltalk and Python.


Ruby on Rails
This is a framework for Ruby. People are really crazy about this. They state that you can develop a database driven web application ten times faster than it would take with a typical Java framework - without making sacrifices. This is possible because full advantage is taken of the combination of Ruby with the "less software and convention over configuration" paradigm. Code is clean and simple and there's no or less configuration to be done, Rails uses reflection and discovery instead.


JRuby
JRuby is a 100% pure-Java implementation of the Ruby programming language. Almost complete support for all Ruby constructs work, and the idea is that you should be able to just use your Ruby scripts with JRuby instead of MRI (Matz' Ruby Implementation, the original Ruby, written in C). By leveraging Java the platform with the power of the Ruby programming language, programmers get the best from both worlds. JRuby can't do everything that MRI can, some of these limitations are due to basic constraints in the Java platform.


JRuby on Rails
As it seems that there are still some concerns with Ruby on Rails (e.g. security), JRuby on rails might be a mixed solution. It takes the best from the Java domain and the Ruby on Rails domain.


Groovy
Object Oriented scripting language that runs as bytecode on a Java virtual machine. Very simular to Java, but with some extras like closures and native syntax for lists and maps. Some say that Groovy is like Java combined with Ruby and Python.


Grails
Grails aims to bring the "coding by convention" paradigm to Groovy . It's an open-source web application framework that leverages the Groovy language and complements Java Web development. You can use Grails as a standalone development environment that hides all configuration details or integrate your Java business logic.

No comments:

Post a Comment