JavaScript Turns 25
Written by Ian Elliot   
Wednesday, 09 December 2020

It is JavaScript's 25th Anniversary, but, like JavaScript itself, not much fuss is being made about it. In many ways this is the story of JavaScript. It is THE fundamental language of the web and yet is rarely acknowledged as being the leading light in any production.

JavaScript deserves far more credit than it gets. Despite being the top language on GitHub, it is has never risen above sixth position on the TIOBE index and currently occupies 7th place below Visual Basic!

However, looking at JavaScript's original press release, issued by Netscape and Sun on December 4th, 1995, you come to the conclusion that being self-effacing is part of its heritage and that, having entered the world clinging to the coat tails of Java, it has never really established an identity.js1995

JavaScript's biggest problem is its name. Over the year's it has matured to be much more than a "scripting language", a description which leads many to dismiss it as trivial, and what has it to do with Java?

The answer to that question is revealed in that first announcement in which not only is JavaScript introduced as "a complement to Java", but Java, which is mentioned no fewer than 30 times, is frequently the main focus, with comments like:

Programmers have been overwhelmingly enthusiastic about Java because it was designed from the ground up for the Internet

and:

Java is available to developers free of charge.

The reason was of course that Java, the latest wunderkind on the block, having been released in May 1995, needed all the exposure it could get and JavaScript, like Java, was the property of Sun Microsystems. Today it is the case that JavaScript is a trademark of Oracle as part of its acquisition of Sun in 2010.

So JavaScript had humble beginnings and started out as part of the beta version of Netscape Navigator 2.0, the web-browser that, having been open sourced, lives on in Mozilla Firefox.

Something missing from the original press release is any mention of who developed it. Credit for JavaScript goes to Brendan Eich, who, at Netscape, was hired by Netscape in April 1995. Eich had intended to use Scheme, a derivative of Lisp, as the language that would be incorporated into NetScape's browser. His bosses, however, had other ideas and insisted on Java-like syntax so Eich came up with a language, which he called Mocha, that combined much of the functionality of Scheme, the object-orientation of Self, a language based Smalltalk, and the syntax of Java. The first version was completed in just 10 days in order to meet the Navigator 2.0 release schedule. The language was renamed LiveScript in September 1995 and became JavaScript in December in order to trade on Java's reputation - something the language has probably regretted.

In fact JavaScript does have another name - ECMAScript - and it is this name that is used for new releases - the most recent being ECMAScript 2020 and the next one ECMAScript 2021. However we still tend to refer to JavaScript or just JS.

Another confusion is that JavaScript has influenced many other languages that are so similar to it that they get included in our "JavaScript" category. The one in the ascendant at the moment is TypeScript, developed and maintained at Microsoft with the involvement of Anders Hejlsberg, lead architect of C# and creator of Delphi and Turbo Pascal. TypeScript, which differs from its progenitor in including type information, compiles to JavaScript. So do many other languages including Scratch and other block-based languages aimed at beginners, especially kids.

Taken as a whole the JavaScript ecosystem is huge and it is heart and soul and the muscle of the Internet, node.JS being the major engine.

So what makes JavaScript special. It's all the points I made in JavaScript Inherits the Earth plus a few more.

  • JavaScript is a next generation, high-level language, that puts the programmer before the hardware.
  • It is one of the few languages influenced by C, but not a slavish copy. Encountering JavaScript proper can broaden your programming mind.
  • Its approach to objects is very suitable for an interpreted language.
  • Having functions as objects, so making them first class functions by default, is a great way to support less extreme functional programming - i.e. functional programming without monoids.
  • Modern JavaScript has plenty of meta programming facilities.
  • Its approach to asynchronous code using promises and async and await is arguably the best.

For more reasons why JavaScript is unique, for better and, arguably in some instance, for worse, see JavaScript Jems: The Amazing Parts (I/O Press) by I Programmer Editor, Mike James. 

  • Ian Elliot is the author of several JavaScript titles. Just JavaScript: An Idiomatic Approach, intended for programmers who are familiar with another language takes a radical look at JavaScript that takes account of the way it is object-based. JavaScript Async covers asynchronous programming in JavaScript, async/await, Promises, Service Workers and so on.  His latest book, JavaScript Bitmap Graphics with Canvasshows you how to use Canvas to create graphics without resorting to a library of any kind.

More Information

JavaScript's original press release (December 4th, 1995)

Related Articles

JavaScript Inherits The Earth

JavaScript Is Basic's Offspring 

JavaScript The Language With Two Names

JavaScript Beginners Book Choice

Advanced JavaScript Book Choices

<ASIN:1871962579>

<ASIN:1871962560>

<ASIN:1871962501>

<ASIN:1871962528>

<ASIN:1871962625>

<ASIN:1871962420> 

To be informed about new articles on I Programmer, sign up for our weekly newsletter, subscribe to the RSS feed and follow us on Twitter, Facebook or Linkedin.

 

Banner


Sequin - Open Source Message Stream Built On Postgres
31/10/2024

Sequin is a tool for capturing changes and streaming data out of your Postgres database, guaranteeing exactly once processing. What does that mean?



Ursina - A Game Engine Powered by Python
08/11/2024

Ursina is a new open source game engine in which you can code any type of game in Python, be it 2-D, 3-D, an application, a visualization, you name it.


More News

espbook

 

Comments




or email your comment to: comments@i-programmer.info

 

 

Last Updated ( Wednesday, 09 December 2020 )