From PHP to Perl: What's hot, what's not in scripting languages

Scripting languages now do 'real' programming -- so the race is on to get developers on board with just-in-time compilers and other advanced tools

1 2 3 4 5 Page 4
Page 4 of 5

The popularity of Python has been noted by O'Reilly Books, which groups Python with top-selling languages like Java and C. Web searches like "python -monty" show healthy trend lines, and searches for the Python-based CMS "django -jazz" are rising, albeit not as fast as better-known tools such as Drupal or WordPress.

No doubt Python's appeal to the casual programmer is its lack of brackets. While many long-term programmers have grown used to letting the editor handle indentation, Python uses it to signify the beginning and end of blocks. Whatever the reason, it's easy to find Python lovers who prefer indentation over brackets.

Another indication of Python's influence is the popularity of CoffeeScript among JavaScript coders. The tool turns something that looks more like Python into something accepted by JavaScript engines. It's a way for those who are forced to write in JavaScript to enjoy the cleanliness of Python.

Lukewarm scripting language: Ruby

Yukihiro Matsumoto developed Ruby way back in 1995 because he wanted to do his system chores with objects instead of just strings. But the language that marries the structure of object-oriented programming with the quick and easy development cycle of scripting didn't really take off until 2004, when David Heinemeier Hansson added the Rails database access layer and produced Ruby on Rails.

These days, most Ruby development consists of website prototypes crafted with Ruby on Rails. Ruby without Rails is rare, but that dominance is starting to crack, thanks to Web frameworks like Sinatra, as well as Matsumoto's focus on flexibility and agility.

This agility is perhaps most evident in the Ruby Gems repository of open source modules. By December 2010, the Ruby community reported it was adding 18 new modules to Ruby Gems a day, a pace that meant it would surpass Perl's CPAN collection within weeks. The most popular modules continue to be ones like Rack for juggling HTTP requests and mime types, a tool for wrapping the data delivered over the Web with the right tag.

Ruby programmers have many of the latest platforms available to them. Heroku, for instance, is a leader in Ruby hosting, and many people continue to run Ruby wherever Java's JVM can operate through the magic of JRuby.

Ruby's syntax is remarkably clear of punctuation. The structure is simple and direct. The biggest strength may be the Rails framework's idea of coding by convention, a bundle of assumptions that saves the programmer a number of hassles like aligning objects with database tables. This idea has been adopted by Java programmers who used a Ruby-like dialect with the JVM to build Grails.

Hot scripting language: Scala

If its use by high-profile startups is any indication, then Scala is on the rise. Running on servers at Foursquare and Twitter, this functional language brings type-safety to the JVM, meaning it can run wherever the JVM works, including Android phones.

Scala is bound to attract more attention as people begin to unpack the lessons from Node.js. Much of the speed and success of Node.js are due to the way it brings a functional programming approach to a stripped-down processor.

That said, the book market suggests that Scala could remain a niche market. Only time will tell whether the general developer populace will follow their startups' Scala lead, but the language shows growth potential among the more experiment-minded set.

Hot scripting language: R

One of the more obscure languages to attract attention lately is R, a tool for compiling statistics. This shouldn't be surprising, given the increasing attention being paid to the terabytes of data sitting around on servers just waiting for someone to try to make some sense of the bits.

The language is a nice collection of classic scripting features borrowed from Lisp and mathematics, married to a large set of routines for statistical analysis. You suck the data into big matrices, then push the button; out comes linear fits, graphs, and other analyses.

1 2 3 4 5 Page 4
Page 4 of 5
How to choose a low-code development platform