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.

1 2 Page 2
Page 2 of 2

Top Fortune 500 companies have limitations in their technology choices that must be adhered to, and Ajax has brought needed functionality to Web applications that are now replacing legacy Visual Basic applications, and doing it while being compatible across operating systems. Using Firefox to run Web applications internally on GNU/Linux based operating systems, with its solid Ajax implementation, has cut down licensing costs for many school boards across the province of Ontario, Canada, for example. This savings can be translated into hundreds of thousands of dollars saved.

Next: What should CIOs know? What is the one thing you would tell a CIO who is considering scripting languages?

Boyd: Whether or not to use a specific language depends on the problem you're trying to solve. If you want to create richer browser-based applications, then JavaScript is an obvious answer. And JavaScript is also worth considering if you'd like to add scripting capabilities to other applications.

Need more on JavaScript tech details? See JavaScript 2's New Direction and You Used JavaScript to Write What?!

Dice: Scripting languages are the expanding frontier of programmer productivity and they are the first technologies to expand into whatever new niches appear in IT. They're the best way to future-proof your efforts without sacrificing new opportunities.

Of all the scripting languages, Perl offers the biggest installed base of applications, of code, of integrated systems, of skilled programmers. It has the lowest defect rate of any open-source software product. It is ported to essentially every hardware architecture and operating systems, from embedded control systems to mainframes. It is optimized for speed, for memory footprint, for programmer productivity. It has readily-accessible libraries for all types of programming tasks: Web application development, systems and network integration and management, end-user application development, middleware programming, REST and service-oriented architecture programming. Perl is ideal for the organization that takes charge of its own IT future.

Looking for more on Perl? Start here: You Used Perl to Write WHAT?!

Hobbs: First and foremost, scripting (dynamic) languages are here to stay. Dynamic languages better support an adaptive/iterative development model, and so are of increasing importance in the fast changing IT landscape of the early 21st century. They provide an excellent complement and often a better outright replacement for systems languages (such as Java, C++ and C#).

At ActiveState we are addressing similar issues around the misconceptions of open-source software in general and dynamic languages in particular with whitepapers like 10 Myths About Running Open Source Software in Your Business. (PDF)

Holden: Don't discount scripting languages in general or Python in particular because of a lack of explicit typing or assumptions of poor performance. Requiring the declaration of types only catches a minor set of potential bugs that are easily discovered by typical unit testing. As for performance, Python might just surprise you.

And on the off-chance something is not fast enough, you have the option to go back and rewriting it in C/C++ (or in Java or any .Net language if you use Jython or IronPython) as needed, allowing you to still benefit from Python's high level of productivity.

Scripting languages in general and Python in particular can offer massive increases in productivity with little or no negative effects on eventual system performance. Where performance gains are required extensions can be crafted in compiled languages if necessary.

To get started with Python technically, see You Used Python to Write What?! by Martin Aspelli, and Python Upgrades Readied for 2008.

Lam: Dynamic languages offer better productivity in many cases. Future programs will be written using a mix of static and dynamic typed languages. Use each language where it is best suited: dynamic languages to define DSLs, and static languages where you want to leverage the power of a strong type system for things like static verification of programs or increased performance.

For more on Ruby's technical plusses-and-minusses, see You Used Ruby to Write What?! by Zed Shaw and Hal Fulton's Why Ruby on Rails Succeeded.

Pall: Dynamic languages improve productivity and reduce complexity leading to simpler less error-prone solutions. PHP has a large, helpful, intelligent community that offers a mature product, without too many surprises.

Also see: PHP's Enterprise Strengths and Weaknesses.

Want more software development news and analysis? Sign up for the Development & Architecture newsletter, which is delivered to your in-box twice a month.


Copyright © 2008 IDG Communications, Inc.

1 2 Page 2
Page 2 of 2
6 digital transformation success stories