Professional JS: Features You Need to Know

History of JavaScript

Maximiliano Firtman

Maximiliano Firtman

Independent Consultant
Professional JS: Features You Need to Know

Check out a free preview of the full Professional JS: Features You Need to Know course

The "History of JavaScript" Lesson is part of the full, Professional JS: Features You Need to Know course featured in this preview video. Here's what you'd learn in this lesson:

Maximiliano discusses the concept of JavaScript versions and how they differ from other programming languages. He provides a brief history of JavaScript and its evolution, including the introduction of ECMAScript and the release of different versions over the years.

Preview
Close

Transcript from the "History of JavaScript" Lesson

[00:00:00]
>> Maximiliano Firtman: Okay, so let's start talking about JavaScript, so I wanna start with a question for you. So if you go to an interview and someone is asking, which version of JavaScript are you using, what's your answer? ES6, so is that the JavaScript version? So the first thing is that we are not sure what to answer, right?

[00:00:20]
If you think about the question, it's not really a straight answer. So it's complicated, it's like why but something is like, yes, something to. So it's not clear, right? Compare with other languages, where it's actually really clear when you're doing C sharp when you're doing Java or GO or any other language, it's actually really clear the version that you're using, okay, but not in JavaScript.

[00:00:46]
So, in fact, let's try to analyze the situation do we have versions in JavaScript itself? So let's try to get in there, these days JavaScript and I will nail down into the, even the legal concepts here. JavaScript is not actually versioned, okay? But, of course, some of your answers were actually yes, yes, something.

[00:01:09]
So, there is something that is versioned that is currently not JavaScript. I mean, when you're using JavaScript in the browser, you don't specify a version anywhere. Of course, we know that we are not compiling JavaScript, compiling in the, let's say, the deep sense of compilation. Like taking a source code and getting binary code, okay, we're not doing that.

[00:01:30]
So then we're not using a compiler and the compiler is the one that has a version. So when I'm using C sharp, I'm using a compiler, and that compiler is C sharp 12, C sharp 11, okay, the compiler is the one that has the version. But in this case, we are shipping source code, we're deploying source code to the web, and we don't specify a version in the script tag, for example.

[00:01:56]
Also, when you're using Node.js, you don't specify a version in the source code, or when you are running your node script, there is no command argument to specify, I want to use that version of JavaScript. We don't have that, and that's different from other languages. Actually, when people are coming to JavaScript from other languages, this is the first thing that they see as a problem.

[00:02:23]
It's, you don't have versions here, so how do you work with that? Well, actually to be fair here with history, we used to have JavaScript versions, I remember this, okay? This is from 1996, actually on the Mozilla umbrella world, that's Netscape and then Firefox. So we had a way to specify the version of JavaScript that we want, okay?

[00:02:55]
And we did have versions here, from 1.0 to 1.8.5, that was the last version of JavaScript from the Mozilla team. But that was deprecated even in Firefox in 2010, okay, so it's gone. And of course, this was not actually part of the community. At that time, we didn't have books on JavaScript 1.3 or JavaScript 1.4, okay, it wasn't the case anyway.

[00:03:27]
And of course, Microsoft and other browsers didn't take these versions, okay? So this is deprecated, and we don't use the language attribute on the script tag anymore. So, brief history of JavaScript, not because this is a history lesson, but because there are some important things to understand, to then know why things are the way they are, okay?

[00:03:54]
So in 1995, Brendan Eich created JavaScript. And JavaScript there is not alone, it has that little TM Unicode character there. That's a trademark, okay, and that's important here for the discussion. So I talked with Brendan, so we met in twice, I think, in different conferences. And he told me that he was looking for a name for the language that he was creating for Netscape.

[00:04:23]
Initially, there was different names including Live Script, but it was already used. He had a friend working at some microsystems, and they were working on a language as well, Java. And for the language, they registered a couple of trademarks, Java, JavaScript, and Java other things. And actually, his friend told him, told Brendan, hey, so we have JavaScript, the name, and we're not going to use it, you wanna use it for your language?

[00:04:58]
But we know that there is no relationship between JavaScript and Java more than the first four characters, okay? So JavaScript is not really like a minor version of Java as VBScript was to Visual Basic, okay? Anyway, but that trademark thing is important in the timeline of JavaScript. So then Netscape 2, 2.0, actually that was the first browser I used on Windows, added JavaScript 1.0, the first version of JavaScript, okay?

[00:05:32]
IE Microsoft at the time was actually the main competitor of some microsystem at least on this spar, and I'm also on the browsers, at the time it was called the browsers war. We had Netscape on one side, and IE, Internet Explorer on the other side. So Microsoft didn't want to take a legal battle over the JavaScript term because it was a trademark.

[00:05:59]
So they created JScript, I'm not sure if you're aware about JScript. JScript was actually Microsoft's implementation of JavaScript, with minor differences. It was compatible on 99% of the code, but it wasn't actually JavaScript legally, it was JScript, okay? Anyway, because that was a mess, so that we have two main browsers on the field, supporting two different languages, it was a mess for us, for developers.

[00:06:29]
Actually, is that Brendan went to the ECMA organization, it's a nonprofit organization, where you can set an standard. So, we can go there and sit down and say, okay, we here at Frontend Masters, we wanna create a new standard for something, okay? We can sit there and create a document, and we can publish the document on the ECMA, okay?

[00:06:53]
And they created the ECMA-Script, that was actually JavaScript, but formalized as a document with a standard process, okay, that's ECMA-Script. So it was the JavaScript thing, but now formalize as a standard in a non-profit organization, okay, that's kinda the idea. And actually, IE4 was the first one, Internet Explorer 4 was the first one supporting ECMAScript 1, and that was the first step into having one JavaScript for all, okay?

[00:07:32]
And we are talking about the era of the Internet where browsers were actually shipped in CD-ROMs, okay? So this is the original Internet Explorer 4 CD-ROM from Microsoft. And this was the first one supporting ECMAScript 1 from Microsoft, okay? Of course, you need to get it physically somehow to actually install it in your computer.

[00:08:02]
And then different versions appear, okay, we have ES2, there was a 2.1, I don't wanna spend too much time with that. On 1999, ES3 was released, okay? And actually we have a lot of ES, like almost 10 ES, known as The Dark ages of the web where JavaScript was kind of dead, okay?

[00:08:28]
We didn't have any new versions and also at that time we didn't have a lot of browsers, so everyone was using IE. We are talking about the era of IE6, IE5.5, then IE6 and JavaScript was kind of there. I remember at the time we didn't have JavaScript books anymore.

[00:08:47]
So every book on JavaScript was actually from the early 2000s or late 90s. Because JavaScript was for babies, something like that, right? So you were doing all the stuff, if it was client side, it was flash, the flash player. And if it was server side it was or PHP or .net or Java, but no JavaScript, okay?

[00:09:13]
Well, of course, things have changed after that fortunately for us, that's why we are here talking about JavaScript. And then in 2009 ES5 was released, and maybe you're thinking what happened with ES4. It was never released, so there was a five there, it doesn't matter, politics came, actually it came to politics.

[00:09:33]
And anyway, ES5 was released, and let's say that five years ago, if someone didn't know the version of JavaScript that she or he was using, it was probably ES5. Today, I can say that if you know the version of JavaScript you're using, you're probably using ES6, the version that appeared in 2015, that actually started a new life for JavaScript.

[00:10:02]
Because now we have a new process that creates a new version per year, okay? From 2015 from ES6, ECMAScript 6, we have a new version per year, okay? Initially that sounds scary, okay, because hey, but I mean if you're coming from Angola, probably you're raised there, okay? You have maybe two main major versions per year, something like that.

[00:10:31]
But that doesn't mean that every new version changes completely the language or reciting loads of stuff, sometimes it's just minor changes, okay? So that's why today we don't know when someone is asking which version of ECMAScript are we using, sometimes we are not really sure, okay? I mean, it's fine, so JavaScript is a trademark today of Oracle Corporation, Oracle acquire Sun Microsystems.

[00:11:00]
And now he has the JavaScript trademark in the US. And actually, we had some situation such as Oracle sending emails from lawyers to people using the JavaScript term. In this case, it was in the App Store, so someone was having a JavaScript course on the App Store, like an app with that JavaScript term in the title.

[00:11:25]
And yeah Oracle sends them a notification say, hey this is our trademark, then after that Oracle apologized about that, they said that they didn't intend to do that. So at this point I think that Oracle even if they own the trademark, they can't use it legally, they can't say it's our trademark anymore.

[00:11:48]
So, I mean, the negative reaction of doing that has really a high cost, so they don't wanna do that anyway. So that's why for legal issues, most companies will use ECMAScript when they say that they're implementing or talking about JavaScript. And some other companies, and even Microsoft and Google these days, they don't care anymore, and they just say JavaScript and it's fine.

[00:12:13]
No one is really complaining, okay? So, and by the way, the Mozilla Foundation, that is the one that is creating Firefox. Has an agreement with Oracle to use the JavaScript or to keep the JavaScript trademark. But anyway, it's not like Firefox is the only browser using JavaScript these days, okay?

[00:12:35]
But ECMAScript, the name, is free to use and also is the name that we use to version the language. So we can say that JavaScript and ECMAScript is kind of the same thing.

Learn Straight from the Experts Who Shape the Modern Web

  • In-depth Courses
  • Industry Leading Experts
  • Learning Paths
  • Live Interactive Workshops
Get Unlimited Access Now