September 10, 2007

The best open source programming language

Is Perl, PHP, Python, or Ruby best? Do Java and JavaScript count?

When we started working on the Bossies, we divided the broad Application Development group into many subcategories, including Language. It seemed like a good idea at the time.

[See Bossie winner slideshows: Applications | Networking | Platforms and Middleware | Security | Software development | Storage ]

Then we wondered whether it was fair to compare system-level programming languages with scripting languages. We went on to wonder whether various individual languages qualified as open source. It's clear that Perl, PHP, Python, Ruby, and Tk/Tcl are open source languages; it's not so clear whether Java and JavaScript are. Is it enough for a subset of a language to have an open source repository and an ECMA (European Computer Manufacturers Association) or ISO standard, or should we consider only languages that are completely open source and have community-driven development cycles?

Finally, we realized that there probably is no such thing as a "best" language, be it a natural language or a computer language. The most we could do would be to pick best languages for specific applications, and even that would be difficult. It left us to identify languages that have become widely supported and perhaps acknowledge languages that have found a strong niche.

In that spirit, let us acknowledge the vibrancy of the growing Ruby community, especially as applied to the Web via Ruby on Rails. Ruby itself is an elegant object-oriented language with support for sophisticated programming constructs, including closures. Further, Ruby has broken out in a big way this year, with new versions for Java (JRuby) and Microsoft's Dynamic Language Runtime (IronRuby). Unless these variants begin to introduce language differences, these dual ports promise to make Ruby the new widely accepted scripting language.

Let us also acknowledge that JavaScript/ECMAScript is the de facto standard language for programming Web clients. While alternatives are beginning to emerge, JavaScript is still the primary language for creating interactive client-side user interfaces for Web applications, and it's one of the essential pillars of AJAX (Asynchronous JavaScript and XML).

Close

On Twitter now

Application development

Powered by Twitter

White Paper

D2D Virtual Tape Library Replication Primer

This whitepaper explains the terminology and concepts behind Data Replication technologies and establishes some sizing rules through worked examples. Learn the new paradigm in disaster tolerance—protect data anywhere.

Download now »

White Paper

An Alternative to Virtualization for Datacenter Cost Savings

Server virtualization is a popular option for dealing with mounting datacenter costs. Another equally promising approach is the use of an Application Delivery Controller. Citrix NetScaler provides a low-cost way for organizations to reduce their server count and accrue cost savings from a reduction in space, cooling, power and personnel.

Download now »

White Paper

Why Your Firewall, VPN, and IEEE 802.11i Aren't Enough to Protect Your Network

The emergence of WLANs has created a new breed of security threats to enterprise networks.

Included in HP ProCurve WLAN solutions is security technology that alleviates threats from WLANs through:
* Monitoring wireless activity inside and out of the enterprise
* Classifying WLAN transmissions into harmful and harmless
* Preventing transmissions that pose a security threat to the enterprise network
* Locating participating devices for physical remediation

Download now »

White Paper

Bringing the Edge to the Data Center

Effectively address data protection challenges, implementing solutions that help store and protect business–critical data while cutting costs and improving efficiency and reliability.

Download now »

Sign up to receive InfoWorld Resource Alerts

Subscribe to the Developer World Newsletter

Receive a weekly roundup about the art and science of software development.

©1994-2009 Infoworld, Inc.