PHP, JavaScript, Ruby, Perl, Python, and Tcl Today: The State of the Scripting Universe

Three years ago, Lynn Greiner interviewed the big cheeses responsible for the popular scripting languages PHP, Perl, Tcl, Python, Ruby and JavaScript to find out where the languages were headed. In this follow-up discussion, she asks the dynamic language luminaries what has changed since then.

By Lynn Greiner
Fri, August 29, 2008

CIO — The former second-class citizens of the programming world have leaped to the fore, changing the face of enterprise software development. With the rise of Web 2.0, scripting languages (also called dynamic languages) are now often considered important tools in a developer's arsenal. That's a far cry from than their old reputation as lesser tools for those who can't handle "real" programming.

Dynamic languages are certainly popular. Almost 70 percent of the 1,200 developers surveyed by Evans Data for its most recent Global Development Survey currently use JavaScript, the most popular dynamic language, with fifteen percent more planning to adopt it. PHP is used by just over a third of developers, and Perl has captured about a quarter of developers (though Perl is much more popular in North America, with 36 percent spending at least some of their time using it).

However, like any other tool, dynamic languages are not necessarily interchangeable. Each has its place in a programmer's toolkit. We asked a group of luminaries in the scripting world for their perspectives on the current state of the scripting universe, and how it has changed since we last looked at the scripting language scene in 2005.

  • Norris Boyd is the creator and maintainer of Mozilla Rhino, a JavaScript implementation for Java. Boyd was part of the JavaScript team at Netscape. Today, he is an engineering manager at Google.

  • Richard Dice is the president of the Perl Foundation, the organization which has responsibility for Perl's legal, organizational, technical and administrative infrastructure.

  • Jeff Hobbs is director of languages and Tcl tech lead at ActiveState Software and a member of the Tcl core team.

  • Steve Holden is chairman of the Python Software Foundation, and author of Python Web Programming.

  • John Lam leads the IronRuby team at Microsoft.

  • Rohan Pall, representing PHP, is a consultant who has been programming Web applications for almost a decade. What place do scripting languages have in today's computing environment?

Boyd: The biggest change since 2005 has been the growth of richer Web applications that perform more of their computations in the browser using JavaScript. The demand for these applications has forced developers to learn and use JavaScript much more than before.

There's also been a lot of interest in Ruby, another dynamic language, spurred by the release and growth of Ruby on Rails. As a result of these changes, many developers are becoming more comfortable with dynamic languages.

Dice: Since 2005, there haven't been any singular events that changed the way scripting languages are used or their capabilities. They have evolved (more in perception than in real capability) from a place where they were used only for simple tasks or prototyping of new systems into much more general use. The general upward slope in their acceptance and capabilities in that time, though, means that CIOs definitely need to put them on their radar and develop "scripting language awareness." In late 2007, Forrester Research published its Forrester Dynamic Language Wave survey, so research on the topic is out there to work with.

Hobbs: Scripting languages are increasingly prevalent in Web applications, with PHP's growing popularity and the rise of Ruby on Rails, while maintaining their dominance in important daily tasks such as machine and test automation with Tcl and data manipulation with Perl. Python is finding increasing use in the scientific communities.

Holden: Scripting languages are being used in a wide range of application areas. Python has recently achieved increased visibility in many areas of science and engineering, particularly in bioinformatics. Three significant Web frameworks (Django, TurboGears and Pylons) have reached maturity in the last three years.

Scripting languages have a place anywhere that a systems programming language (e.g., implementing an operating system) is not required. Otherwise they fit basically anywhere, whether it be on the server or the desktop. Python excels in all these areas!

Lam: In general, it's easier to create and change code written in a dynamic language. Much of the Web has traditionally been created using dynamic languages, from Ajax on the client to server code written in PHP, Perl, Python and Ruby. Ruby on Rails in particular has driven a lot of interest towards Ruby, and is one of the preferred platforms to build Web 2.0 startups on.

Pall: In the last three years, we've seen the adoption of very fast CPUs, namely the Intel Core 2 line. Breaking the 3GHz barrier on this architecture—and now pushing 4GHz—has sped up dynamic language code to the point where many algorithms that simply weren't feasible to implement in PHP are now possible on commodity hardware.

In the last year, I've participated in writing text analysis software for auto-classifying documents. Our initial plan was to use C to do the heavy processing and PHP for the rest. As it turned out, on midrange commodity hardware, we were able to use PHP throughout and maintain solid performance. Web applications are commonly scripted, but in my experience, even internal processing-intensive applications are now commonly being implemented in modern, dynamic, scripting programming languages. The bulwarks have been breached and progress is now ushered in.

Next: How have attitudes changed towards dynamic languages?

Continue Reading

Our Commenting Policies