February 2, 2011
I have been doing quite a bit of research to help decide which open source language would be a good choice to work in parallel with CF.
It seems that Ruby and Python are the dominant choices. I am aware of Groovy's popularity amongst the CF community, and it's justified with it's ties to Java.
However, this decision needs to be as isolated as possible from outside dependencies. By that I mean, the most portable. No requirement for a JVM or a specific platform.
I stumbled on to this article To Ruby from Python outlining the differences between the two languages. It looks pretty straight forward, and it should be. It's directly from the Ruby language site.
There's more to this for me than just core language specifics. Most will say to choose a base language then decide on a framework. I can understand that, but I need to keep one factor in mind: learning curve.
Time is of the essence, and from what I have seen, some of the frameworks out there play a large role in development time. Rails is infamous in the Ruby community, but the word on the street is that it's becoming dated. A new kid on the block, rather the 'Chairman of the Board', Sinatra is making quite an impression and gaining lots of traction. Especially, for whipping up a Proof of Concept in a timely manner.
In the Python scene, it's Django that most swear by. After checking out their website and documentation, I was ready to roll with it myself. I kept on digging, just to be sure. It seems the web.py framework is a popular choice for rapid prototyping in Python. I have also heard that dealing with dependencies in Python and distributing development environments for teams is not a pretty process.
I am sitting on the fence right now. Looking for something to push me over one side or the other.
I am reaching out to the CF community, but by no means is it limited to just that realm. I am open to all feedback and suggestions.