The A-Z of Programming Languages: JavaScript

Brendan Eich created JavaScript in 1995 with the aim to provide a "glue language" for Web designers and part time programmers. It has grown to become one of the most widely used languages on the planet.

How does JavaScript differ from ECMAScript?

ECMA-262 Edition 3 is the latest ECMAScript standard. Edition 1 was based on my work at Netscape, combined with Microsoft's reverse-engineering of it (called JScript) in IE, along with a few other workalikes from Borland and a few other companies.

The 3rd Edition explicitly allows many kinds of extensions in its Chapter 16, and so JavaScript means more than just what is in the standard, and the language is evolving ahead of the standard in implementations such as Mozilla's SpiderMonkey and Rhino engines (SpiderMonkey is the JS engine in Firefox).

The Ecma standard codifies just the core language, not the DOM, and many people think of the DOM as "JavaScript".

Do you believe that the terms JavaScript and JScript can or should be used interchangeably?

JScript is not used, much or at all in cross-browser documentation and books, to refer to the language. JavaScript (JS for short) is what all the books use in their titles, what all the developer docs and conferences use, etc. It's the true name, for better and worse.

Were there any particularly hard/annoying problems you had to overcome in the development of the language?

Yes, mainly the incredibly short development cycle to prove the concept, after which the language design was frozen by necessity. I spent about ten days in May 1995 developing the interpreter, including the built-in objects except for the Date class (Ken Smith of Netscape helped write that by translating Java's java.util.Date class to C, unintentionally inheriting java.util.Date's Y2K bugs in the process!)

I spent the rest of 1995 embedding this engine in the Netscape browser and creating what has become known as the "DOM" (Document Object Model), specifically the "DOM level 0": APIs from JS to control windows, documents, forms, links, images, etc., and to respond to events and run code from timers.

I was the lone JS developer at Netscape until mid-1996.

What is the most interesting program that you've seen written with JavaScript?

TIBET was an early, ambitious framework modeled on Smalltalk.

There are amazing things in JS nowadays, including HotRuby (see http://ejohn.org/blog/ruby-vm-in-javascript/ for more -- this runs Ruby bytecode entirely in JS in the browser) and a Java VM (Orto, see http://ejohn.org/blog/running-java-in-javascript/ but beware: I'm not sure how much of the Java VM is implemented in JS -- still, it's by all accounts an impressive feat.)

We are seeing more games, both new and ported from other implementations, as well:

http://blog.nihilogic.dk/2008/04/super-mario-in-14kb-javascript.html
http://canvex.lazyilluminati.com/83/play.xhtml

And John Resig's port of the Processing visualization language takes the cake.

And what's the worst?

I couldn't possibly pick one single worst JS program. I'll simply say that in the old days, JS was mainly used for annoyances such as pop-up windows, status bar scrolling text, etc. Good thing browsers such as Firefox evolved user controls, with sane defaults, for these pests. Netscape should have had such options in the first place.

Join the Computerworld newsletter!

Error: Please check your email address.

Tags a-z of programming languages

More about AppleBillBorland AustraliaGoogleMicrosoftMozillaW3C

3 Comments

Anonymous

1

sup

how do you put JavaScript on to your computer again?:)

Anonymous

2

sup

how do you put JavaScript on to your computer again?:)

Mr Furley

3

@ Anonymous,

Perhaps you should worry about putting some proper English grammar onto your computer first.

Comments are now closed

Amazon vs. Google vs. Windows Azure: Cloud computing speed showdown

READ THIS ARTICLE
DO NOT SHOW THIS BOX AGAIN [ x ]