Scripting languages are the hot technology today for application and Web development -- no longer the backwater afterthought of the early days running in a pokey interpreter. Nor are scripting languages any longer merely the tool used for quick-and-dirty patching (someone once called Perl the duct tape of the Internet, and it stuck so well that Perl lovers wear the label proudly). No, today, scripting languages are popular for "real" programming work. In fact, entire systems and large-scale enterprise-grade projects are built from them.
To confuse matters more, many so-called compiled languages are now bundled with just-in-time compilers that make them as agile as scripting languages. First, Java got Java Server Pages, allowing programmers to tweak Web pages just like PHP and Cold Fusion programmers could. Lately Java programmers have been using Groovy, a language that's structurally integrated with Java and runs on the JVM. The main draw? It has more of a scripting language syntax.
[ Find out which 7 programming languages are on the rise and verse yourself in the 12 programming mistakes to avoid. | Keep up on key application development insights with the Fatal Exception blog and Developer World newsletter. ]
Not-hot scripting language: ActionScript
The iPhone remains a challenge for Adobe and ActionScript lovers. Apple's long resistance to the platform means that ActionScript authors can't write ActionScript and expect it to work in the iPhone's browser. Of course, that doesn't mean the platform is completely closed. The clever programmers at Adobe built a "packager" that turns the ActionScript in Flex and AIR bundles into something that runs in a native app.
Will this be enough? A startup called Ansca also makes Corona, a framework for building iPhone apps that uses Lua, a language the company promotes as being very close to ActionScript. The ideas live on even if they're not called exactly the same name.
Not-hot scripting language: Perl
This former giant laid the foundation of some of the best sites on the Web -- one of several accomplishments that earned Perl its worthy comparison to duct tape. Slashdot, the trendsetting blog, was coded in Perl more than 14 years ago. As the website grew, and stayed up, people began to realize that C++ was not the only way to write fast code.
There are numerous practical indicators of Perl's fading from its heyday, but one of the most prominent may have been the lack of success for MovableType. The tool was one of the first content management systems, but its first-mover enthusiasm didn't translate into a flood of plug-ins. Some might point to MovableType's architecture, but Perl should share some of the blame. Other CMSes, like WordPress, get 35 times as many searches on Google Trends. Is it any wonder why people are spending plenty of time on the forums asking how to embed PHP code inside a MovableType template?
The long downward trend is also found in searches for the language itself. The word "perl" may be one-tenth as trendy on Google as it was only eight years ago. (Search results are normalized according to worldwide traffic, so the rise in overall traffic exaggerates the dip.)
To make matters worse, it's harder and harder to find the latest State of the Onion talks online. In the early years, these discussions were touchstones for developers, with some enthusiasts reading them like dispatches from the Kremlin to decipher hidden indications about how the next version of Perl might behave. Others read them for the jokes, which Larry Wall, Perl's creator, includes in a way that is not very Kremlinesque. No one seems to have transcribed them, and furtive searches reveal little. To make matters worse, sites like Perl.org don't even seem to offer search.
Hot scripting language: Python
In a sense, the tipping point for Python came when the housing market crashed.
For those stuck trying to decode bond market prospectuses to figure out who got paid what when the bankruptcy dominoes were done falling, one thing became clear: English is a weaselly language, and some weaselly folks revel in its ambiguities to profit from complicated derivatives.
Enter one smart group that offered a compelling solution: Force every bond to come with a Python program that defined who got paid and when they were paid. While they may have been a bit too hopeful about the power of computer languages, the proposal spoke to Python's growing acceptance in the greater world of smart people who aren't computer geeks. Relatively easy to pick up, Python is becoming increasingly popular in economic research, science departments, and biology labs.
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.
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