Home
The Spec
The Language
The Practice
The Books
Links

Old Reliable

Can you name a language other than JavaScript that can boast of all of these things?

  • Already found on almost every computer in the world.
  • Free
  • Many programmers are already familiar with the language.
  • Supported by almost every operating system.
  • Works well with Ajax-clients
  • Is a .NET language
  • Is both an ECMA and ISO standard
  • Is a dynamic language with curly bracket syntax
  • Is a compiled language
  • Is an interpreted language
  • Is an object-oriented language
  • Is a prototype language
  • Supports lambda functions
  • Has been in popular use for over 10 years now
  • It's the "J" in Ajax
  • It's the "J" in JSON
  • It's supported by almost every web browser in the world

Whether we like or not, JavaScript has gained an enviable position. I thought that JavaScript was really just a toy and couldn't be used to develop professionally, but I was wrong. The re-appearance of JavaScript under the name Ajax is was interesting, but when I realized that the oldest software still in use that I had developed was done in JavaScript that really made me think. What is happening here?

From a simple perspective, it’s easier to develop code in JavaScript than in C# or Java, but from a technical perspective, I think it has more to do with C# and Java’s insistence that every variable be first given a type. The new version of JavaScript (JS2), allows you to specify types for classes, but it allows you to not use them if you so desire. I like this flexibility.

JavaScript is already well known. This is one reason why I think it will beat out the other dynamic languages such as Python and Ruby. JavaScript is already a compiled language on the Microsoft .NET Framework, which causes some of it's dynamic competitors some trouble. The Mono version is moving along rapidly as well on their version of JavaScript.

The browser-server combination has become a professional development platform. Since JavaScript is the only language supported by all browsers, this limits the choices. It’s a good thing that JavaScript is such a good language, but JavaScript has a couple of other benefits. It currently is the only dynamic language fully supported by the .NET framework. I expect that to change soon, but it is a good option today. Another benefit is that the ECMA standards body is working right now to release ECMAScript4, the next version of JavaScript (sometimes referred to as JavaScript 2). This is targeted to take place this year.

The biggest selling feature in JavaScript's favor is that since it is the only dynamic language currently supported by Microsoft on the .NET framework, and since test-driven development is easier with a dynamic language, JavaScript becomes the language of choice for test-driven .NET developers, like myself.


Troy Taft is the Principal Consultant and founder of Troy Taft Consulting, a firm specializing in high value software development. He also authors a free monthly newsletter called Software Matters.

Copyright 2007 Troy Taft All rights reserved, you may print this article for your personal use.