The history of JavaScript over the last 25 years. How did a simple scripting language for Netscape evolve into the world's most widely used programming language? https://dev.to/codediodeio/the-weird-history-of-javascript-2bnb

Full Course: https://fireship.io/courses/javascript/

#javascript #history

Sources:

ECMA https://www.ecma-international.org/publications/standards/Ecma-262-arch.htm
WorldWideWeb https://www.w3.org/People/Berners-Lee/WorldWideWeb.html
Brendan Eich Talk https://thenewstack.io/brendan-eich-on-creating-javascript-in-10-days-and-what-hed-do-differently-today/

Upgrade to Fireship PRO at https://fireship.io/pro
Use code lORhwXd2 for 25% off your first payment.
2024-02-04T06:41:38.701Z
nova-2
2-general-nova
2024-01-09.29447
30089e05-99d1-4376-b32e-c263170674af
e3ce4998-e66f-4c12-b4ab-b96cb3864049
cffdab5de0d24ef11a0a9feedc34ed7ec55734815ed5f1b8e52023369081b5ae
67875a7f-c9c4-48a0-aa55-5bdb8a91c34a
deprecated
Christmas Day 1990.
The world sees its first web browser developed by Sir Tim Berners Lee in Switzerland on a NeXT computer system.
And if that weren't enough, this guy also developed the first web server around the same time.
There was just one small problem.
Nobody knew what the internet was yet.
Here's here's Allison.
Can you explain what internet is?
It's It's a giant computer network made up made up of, uh, started from it's it's it's a computer billboard, but it's live.
It's it's several, uh, universities and system.
Everything will join together.
Right.
And others can access it.
Right.
And it's
getting bigger and bigger all.
Just kidding, really?
Today we'll be going back in time to look at the evolution of JavaScript system, and how it went from a simple scripting language famously written in 10 days, to a technology that affects almost every human being on the planet today.
If you're new here, like and subscribe, because this is part 1 to a full JavaScript course with a new video here on YouTube once a week for the foreseeable future.
Our story starts off in December of 1991 when Al Gore invented the Internet.
System.
Uh, during my service in the United States Congress, uh,
I took the initiative in creating the Internet.
Well, what he actually did was introduce the Gore Bill, which provided funding for the 1st mainstream browser, Mosaic.
It was developed by Marc Andreessen and Eric Bina at the University of Illinois and released for UNIX systems in January 93.
And later that year, there would be ports for Macintosh and Windows.
And Mosaic was really the first web browser to start bringing the Internet to the mainstream.
But there was no JavaScript yet, just the DOM or document object model, which itself wasn't even close to being standardized yet.
In 93, after Andreessen graduated, he would move to California to co found Netscape.
And within just a couple of years, the Netscape Navigator would control around 80% of the browser market share.
Around this time period, Andreessen realized that browsers needed to become more dynamic.
Web designers needed some sort of glue language to make their websites more interactive.
So naturally, the first thing they turned to is the super trendy Java programming language from Sun Microsystems, But they quickly decided that that idea sucked.
So plan b was to recruit this guy named Brendan Eich, and his job was to put the Scheme programming language in the browser, but maintain a syntax that still resembled Java.
And he needed to have that done by yesterday.
Now, are you going to go ahead and have those system.
TPS reports for us this afternoon.
Just 10 days later, the first version of JavaScript was born.
But it wasn't called JavaScript yet.
It was Mocha.
Syntactically, it was a curly bracket language like Java or C, but under the hood, it already contained many of the features that we know and love in modern JavaScript.
Things like first class functions, dynamic typing, and prototypal inheritance, which was actually inspired by the self programming language also developed by Sun Microsystems.
Now, writing a perfect programming language in 10 days is basically impossible, and Brendan Eich knew this very well.
So what he didn't do was write a highly specialized language designed only for browsers of nineties.
Instead, he wrote a flexible multi paradigm language that developers could use to apply their own language patterns to.
Kids love to squish it and squash it, system.
But most of all, they can make anything they imagine.
But there was still a very good chance that the language would fail and there's no way he could have predicted the extremes developers would take it to over the next 20 years.
Any application that can be written in JavaScript will eventually be written in JavaScript.
But let's not get ahead of ourselves.
It's not even called JavaScript yet.
By September of 95, MoCA was renamed to LiveScrypt, and it was shipped in the 1st beta releases of Netscape Navigator 2 point o.
But just a few months later in September, they decided to rename it JavaScript because that made it sound like the cool lightweight cousin to the hottest programming language of the day.
JavaScript started making an impact on the user experience from day 1, mostly with annoying pop up windows.
There was a company that was becoming very popular around this time and they were launching their own browser called Internet Explorer.
So naturally, they reverse engineered JavaScript And their legal, or I mean marketing team gives it a name of JScript.
So in 1996, we have 2 almost identical languages JavaScript and JScript, And with the Internet growing rapidly, people realized that there would be a need to standardize JavaScript.
So Netscape turned to the European Computer Manufacturers Association or ECMA, which has served as a neutral party since 1961 for setting standards in the IT industry.
By June of 1997, we had the first version of ECMA 26 sis 2, or ECMAScript as it's commonly known.
And this gave browser vendors and server side applications a consistent spec or set of guidelines for implementing the JavaScript language.
The document itself is about a 100 pages long, and it looks very similar to modern JavaScript.
It's just missing a lot of things, like exception handling with try catch blocks, regular expressions, and the strict equality operator.
One of the weird parts of JavaScript and also one of Brendan Eich's biggest regrets is the way equality works.
Some of the early web designers to test JavaScript thought it would be convenient if a number could equal a string.
As a compromise to make the language more accessible to non programmers, they went ahead and implemented this subtract, lenient equality operator.
But don't worry too much because in a couple of years, we'll find a way to fix this.
Let's fast forward to December of 1999.
And this was one of the most interesting years in the history of tech in general.
Well, I don't describe it as a bubble.
This is there's a phenomenon with Internet System.
Stocks versus all other stocks that's been going on since the year when it started.
The valuations will continue to be huge in this You
know what?
In it Everybody's making money.
System.
Something's wrong here.
And at the same time, everybody's getting ready for the world to end.
A man made calamity so pervasive It threatens not only the United States, but the entire world.
The year 2000 computer problem is without question the most complex, most expensive Problem mankind has ever faced.
But luckily right before y two k and the eventual stock market crash, we got ECMAScript version 3.
It contained things like better error handling and also so the strict equality operator to make equality comparisons a little less weird.
So JavaScript is evolving and progressing very nicely, but things are about to go south.
And we won't see another version of ECMAScript published for another 10 years.
Just 3 months later in March of 2000, the tech bubble started to burst.
The Nasdaq lost over a $1,000,000,000,000 in value in that month alone, and high profile companies started to fold.
But the Internet was here to stay.
And at this point, we have a solid standard for JavaScript.
But the company behind this push, Netscape, was acquired by AOL a year prior.
Email instant messages.
There's no better way to keep in touch.
You've got mail.
We've spent over $1,000,000,000 to Create the world's largest high speed network.
Now with 56 k, connections are faster than ever.
America Online, so easy to use.
No wonder it's number 1.
And the browser's market share is being devoured by Microsoft's Internet Explorer.
And Microsoft didn't really care about playing by the rules of the spec.
In the early 2000, IE controlled at least 80% of the browser market share, And Microsoft just basically went off and did its own thing and implemented its own extensions for JavaScript.
Now, this created fragmentation, which we still have to deal with today when supporting these legacy versions of Internet support, but it would also lead to some very revolutionary features like AJAX, which allowed JavaScript to be implemented asynchronously, which was a precursor to modern day single page applications.
Now, in the early 2000s, work had started on ECMAScript version 4, and it was going in a direction that looks a lot more like modern day TypeScript, with features like optional type annotations, classes, interfaces, and a bunch of other features designed to use JavaScript at the enterprise scale.
But one of the members on the committee was Douglas Crockford from Yahoo.
He created JSON in 2003, and he was very concerned that the ES 4 proposal was becoming very large and out of control.
Microsoft actually agreed with Crockford and ultimately refused to have any part in the e s four proposal.
This resulted in 2 different proposals running at the same time, e s 3.1 and e s 4.
Version 3.1 was a much simpler version without major changes to the language.
This saga would continue all the way until 2008 when ES 4 was finally scrapped for good.
But it did actually find its way into the market as a language called ActionScript developed by Adobe, as the scripting language supported by Flash.
And we all know what happened to Flash.
Sis.
Developers in the mid 2000 were extremely frustrated trying to build web applications that ran on all browsers.
But we saw a huge leap forward in 2006 with the release of jQuery.
And this is a library that deserves a lot more credit than it gets.
It's one of the first JS libraries to have extremely well done documentation, and it empowered developers to build far more complex and interactive applications that would work far more reliably on all browsers.
So jQuery was a big deal, but we saw another huge event in 2008 with the release of Google Chrome and the v eight engine.
Both were released on September 2, 2008, and v eight completely changed the way JavaScript was compiled and interpreted, making it a viable option for high performance applications both in the browser and server side.
Less than 1 year later in May of 2009, Ryan Dahl would introduce Node.
Js, a server side runtime for JavaScript built on top of v eight that included an event loop, which was a unique concept for the time and allowed you to write event driven non blocking code.
And because of those characteristics, Node.
Js became known as a great solution for building real time web applications that scale.
And it also made it possible for developers to build their entire web station stack with a single programming language, known commonly as the JavaScript everywhere paradigm.
And around the same time, the JavaScript authorities were finally getting their stuff together for the system of ECMAScript.
The parties were united in Oslo, Norway and decided to take ES 3.1 and make that the starting point for ES 5, which was eventually released in December of 2009, exactly 10 years after the last official spec.
From a technical standpoint, ES 5 has some very important features.
Things like JSON support, functional array and object methods, strict mode, accessors, and many others.
Now moving on to 2,000 10, we start to see JavaScript frameworks designed specifically for single page applications.
2 of the most popular were Backbone and AngularJS, both of which came out in October of 2010.
Both of these frameworks were trying to solve a similar problem, but did it in a very different way.
Backbone was lightweight and handled DOM updates with an comparative programming style, while AngularJS was a little more all inclusive and used a declarative programming style.
And the creator of Backbone, Jeremy Ashkenes, is a legend of this time period who also created CoffeeScript and underscore JS.
And speaking of CoffeeScript, it's a very important part of JavaScript history because it's the first language that really made transpiling go mainstream.
And that gets all the way back to Brendan Eich's original vision in 1995 to create a programming language that was malleable.
And transpilers will become very important with the next version of JavaScript, ES 6 aka ES 2015.
And a ton of new features landed in this version.
Things like promises, let and const, arrow functions, spread syntax, destructuring, just to name a few.
These new features were a huge leap forward for JavaScript developers, but it's really difficult for developers to actually use them because they're not supported in many legacy browsers.
And that's why today we see prolific use of things like Babel and TypeScript, because they can target any flavor of JavaScript going all the way back to ES 3, while developers can still write their code with modern features.
Now another major thing going on in 2015 was the rise of React JS.
It took some of the concepts of Angular JS with declarative UI, but improve them with a unidirectional data flow, immutability, and the use of the virtual DOM.
And it's really been the framework that has solidified modern day declarative UI patterns.
But But there are many other frameworks out there competing for the mindshare of developers like Angular, Vue, and Svelte among many others.
And around the same time period, we've seen tools to help manage the complexity of these heavyweight JavaScript apps.
Things like Rollup and Webpack to bundle dependencies, and things like TypeScript and Flow to add type systems to our JavaScript.
Script.
And then you have things like immutable JS and RX JS to help you apply functional patterns to your code.
And that's really just the tip of the iceberg of the modern JavaScript ecosystem complexity.
Sis.
And that brings us to today, the summer of 2019.
TC 39, or the committee that's in charge of ECMAScript, is on a regular schedule of updating JavaScript at this point.
So we should see ES 2019 fairly soon, which will bring some nice new features to the language.
But a far more interesting development is WebAssembly, which itself is just a binary format that low level languages like c plus plus can compile to to deliver high performance applications to the web.
It's not a replacement for JavaScript, but it does represent a Only way to build web applications and will certainly have an influence on the future of JavaScript.
But if there's one thing I've learned over the years, it's to always bet on JavaScript.
It's a language that has consistently evolved from its very first prototype and has a massive and diverse community unlike any other programming language.
I'm gonna go ahead and wrap things up there.
Thanks for watching chain, and I will talk to you in the next video.

Speaker 0: Christmas Day 1990. The world sees its first web browser developed by Sir Tim Berners Lee in Switzerland on a NeXT computer system. And if that weren't enough, this guy also developed the first web server around the same time. There was just one small problem. Nobody knew what the internet was yet.

Speaker 1: Here's here's Allison. Can you explain what internet is?

Speaker 2: It's It's a giant computer network made up made up of, uh, started from it's it's it's a computer billboard, but it's live. It's it's several, uh, universities and system. Everything will join together.

Speaker 3: Right. And others can access it.

Speaker 1: Right.

Speaker 0: And it's

Speaker 2: getting bigger and bigger all.

Speaker 1: Just kidding, really?

Speaker 0: Today we'll be going back in time to look at the evolution of JavaScript system, and how it went from a simple scripting language famously written in 10 days, to a technology that affects almost every human being on the planet today. If you're new here, like and subscribe, because this is part 1 to a full JavaScript course with a new video here on YouTube once a week for the foreseeable future. Our story starts off in December of 1991 when Al Gore invented the Internet.

Speaker 3: System. Uh, during my service in the United States Congress, uh,

Speaker 4: I took the initiative in creating the Internet.

Speaker 0: Well, what he actually did was introduce the Gore Bill, which provided funding for the 1st mainstream browser, Mosaic. It was developed by Marc Andreessen and Eric Bina at the University of Illinois and released for UNIX systems in January 93. And later that year, there would be ports for Macintosh and Windows. And Mosaic was really the first web browser to start bringing the Internet to the mainstream. But there was no JavaScript yet, just the DOM or document object model, which itself wasn't even close to being standardized yet.

In 93, after Andreessen graduated, he would move to California to co found Netscape. And within just a couple of years, the Netscape Navigator would control around 80% of the browser market share. Around this time period, Andreessen realized that browsers needed to become more dynamic. Web designers needed some sort of glue language to make their websites more interactive. So naturally, the first thing they turned to is the super trendy Java programming language from Sun Microsystems, But they quickly decided that that idea sucked.

So plan b was to recruit this guy named Brendan Eich, and his job was to put the Scheme programming language in the browser, but maintain a syntax that still resembled Java. And he needed to have that done by yesterday.

Speaker 3: Now, are you going to go ahead and have those system. TPS reports for us this afternoon.

Speaker 0: Just 10 days later, the first version of JavaScript was born. But it wasn't called JavaScript yet. It was Mocha. Syntactically, it was a curly bracket language like Java or C, but under the hood, it already contained many of the features that we know and love in modern JavaScript. Things like first class functions, dynamic typing, and prototypal inheritance, which was actually inspired by the self programming language also developed by Sun Microsystems.

Now, writing a perfect programming language in 10 days is basically impossible, and Brendan Eich knew this very well. So what he didn't do was write a highly specialized language designed only for browsers of nineties. Instead, he wrote a flexible multi paradigm language that developers could use to apply their own language patterns to.

Speaker 1: Kids love to squish it and squash it, system. But most of all, they can make anything they imagine.

Speaker 0: But there was still a very good chance that the language would fail and there's no way he could have predicted the extremes developers would take it to over the next 20 years. Any application that can be written in JavaScript will eventually be written in JavaScript. But let's not get ahead of ourselves. It's not even called JavaScript yet. By September of 95, MoCA was renamed to LiveScrypt, and it was shipped in the 1st beta releases of Netscape Navigator 2 point o.

But just a few months later in September, they decided to rename it JavaScript because that made it sound like the cool lightweight cousin to the hottest programming language of the day. JavaScript started making an impact on the user experience from day 1, mostly with annoying pop up windows. There was a company that was becoming very popular around this time and they were launching their own browser called Internet Explorer. So naturally, they reverse engineered JavaScript And their legal, or I mean marketing team gives it a name of JScript. So in 1996, we have 2 almost identical languages JavaScript and JScript, And with the Internet growing rapidly, people realized that there would be a need to standardize JavaScript.

So Netscape turned to the European Computer Manufacturers Association or ECMA, which has served as a neutral party since 1961 for setting standards in the IT industry. By June of 1997, we had the first version of ECMA 26 sis 2, or ECMAScript as it's commonly known. And this gave browser vendors and server side applications a consistent spec or set of guidelines for implementing the JavaScript language. The document itself is about a 100 pages long, and it looks very similar to modern JavaScript. It's just missing a lot of things, like exception handling with try catch blocks, regular expressions, and the strict equality operator.

One of the weird parts of JavaScript and also one of Brendan Eich's biggest regrets is the way equality works. Some of the early web designers to test JavaScript thought it would be convenient if a number could equal a string. As a compromise to make the language more accessible to non programmers, they went ahead and implemented this subtract, lenient equality operator. But don't worry too much because in a couple of years, we'll find a way to fix this. Let's fast forward to December of 1999.

And this was one of the most interesting years in the history of tech in general.

Speaker 3: Well, I don't describe it as a bubble. This is there's a phenomenon with Internet System. Stocks versus all other stocks that's been going on since the year when it started. The valuations will continue to be huge in this You

Speaker 2: know what?

Speaker 3: In it Everybody's making money. System. Something's wrong here.

Speaker 0: And at the same time, everybody's getting ready for the world to end.

Speaker 3: A man made calamity so pervasive It threatens not only the United States, but the entire world. The year 2000 computer problem is without question the most complex, most expensive Problem mankind has ever faced.

Speaker 0: But luckily right before y two k and the eventual stock market crash, we got ECMAScript version 3. It contained things like better error handling and also so the strict equality operator to make equality comparisons a little less weird. So JavaScript is evolving and progressing very nicely, but things are about to go south. And we won't see another version of ECMAScript published for another 10 years. Just 3 months later in March of 2000, the tech bubble started to burst.

The Nasdaq lost over a $1,000,000,000,000 in value in that month alone, and high profile companies started to fold. But the Internet was here to stay. And at this point, we have a solid standard for JavaScript. But the company behind this push, Netscape, was acquired by AOL a year prior.

Speaker 1: Email instant messages. There's no better way to keep in touch.

Speaker 2: You've got mail. We've spent over $1,000,000,000 to Create the world's largest high speed network. Now with 56 k, connections are faster than ever. America Online, so easy to use. No wonder it's number 1.

Speaker 0: And the browser's market share is being devoured by Microsoft's Internet Explorer. And Microsoft didn't really care about playing by the rules of the spec. In the early 2000, IE controlled at least 80% of the browser market share, And Microsoft just basically went off and did its own thing and implemented its own extensions for JavaScript. Now, this created fragmentation, which we still have to deal with today when supporting these legacy versions of Internet support, but it would also lead to some very revolutionary features like AJAX, which allowed JavaScript to be implemented asynchronously, which was a precursor to modern day single page applications. Now, in the early 2000s, work had started on ECMAScript version 4, and it was going in a direction that looks a lot more like modern day TypeScript, with features like optional type annotations, classes, interfaces, and a bunch of other features designed to use JavaScript at the enterprise scale.

But one of the members on the committee was Douglas Crockford from Yahoo. He created JSON in 2003, and he was very concerned that the ES 4 proposal was becoming very large and out of control. Microsoft actually agreed with Crockford and ultimately refused to have any part in the e s four proposal. This resulted in 2 different proposals running at the same time, e s 3.1 and e s 4. Version 3.1 was a much simpler version without major changes to the language.

This saga would continue all the way until 2008 when ES 4 was finally scrapped for good. But it did actually find its way into the market as a language called ActionScript developed by Adobe, as the scripting language supported by Flash. And we all know what happened to Flash. Sis. Developers in the mid 2000 were extremely frustrated trying to build web applications that ran on all browsers.

But we saw a huge leap forward in 2006 with the release of jQuery. And this is a library that deserves a lot more credit than it gets. It's one of the first JS libraries to have extremely well done documentation, and it empowered developers to build far more complex and interactive applications that would work far more reliably on all browsers. So jQuery was a big deal, but we saw another huge event in 2008 with the release of Google Chrome and the v eight engine. Both were released on September 2, 2008, and v eight completely changed the way JavaScript was compiled and interpreted, making it a viable option for high performance applications both in the browser and server side.

Less than 1 year later in May of 2009, Ryan Dahl would introduce Node. Js, a server side runtime for JavaScript built on top of v eight that included an event loop, which was a unique concept for the time and allowed you to write event driven non blocking code. And because of those characteristics, Node. Js became known as a great solution for building real time web applications that scale. And it also made it possible for developers to build their entire web station stack with a single programming language, known commonly as the JavaScript everywhere paradigm.

And around the same time, the JavaScript authorities were finally getting their stuff together for the system of ECMAScript. The parties were united in Oslo, Norway and decided to take ES 3.1 and make that the starting point for ES 5, which was eventually released in December of 2009, exactly 10 years after the last official spec. From a technical standpoint, ES 5 has some very important features. Things like JSON support, functional array and object methods, strict mode, accessors, and many others. Now moving on to 2,000 10, we start to see JavaScript frameworks designed specifically for single page applications.

2 of the most popular were Backbone and AngularJS, both of which came out in October of 2010. Both of these frameworks were trying to solve a similar problem, but did it in a very different way. Backbone was lightweight and handled DOM updates with an comparative programming style, while AngularJS was a little more all inclusive and used a declarative programming style. And the creator of Backbone, Jeremy Ashkenes, is a legend of this time period who also created CoffeeScript and underscore JS. And speaking of CoffeeScript, it's a very important part of JavaScript history because it's the first language that really made transpiling go mainstream.

And that gets all the way back to Brendan Eich's original vision in 1995 to create a programming language that was malleable. And transpilers will become very important with the next version of JavaScript, ES 6 aka ES 2015. And a ton of new features landed in this version. Things like promises, let and const, arrow functions, spread syntax, destructuring, just to name a few. These new features were a huge leap forward for JavaScript developers, but it's really difficult for developers to actually use them because they're not supported in many legacy browsers.

And that's why today we see prolific use of things like Babel and TypeScript, because they can target any flavor of JavaScript going all the way back to ES 3, while developers can still write their code with modern features. Now another major thing going on in 2015 was the rise of React JS. It took some of the concepts of Angular JS with declarative UI, but improve them with a unidirectional data flow, immutability, and the use of the virtual DOM. And it's really been the framework that has solidified modern day declarative UI patterns. But But there are many other frameworks out there competing for the mindshare of developers like Angular, Vue, and Svelte among many others.

And around the same time period, we've seen tools to help manage the complexity of these heavyweight JavaScript apps. Things like Rollup and Webpack to bundle dependencies, and things like TypeScript and Flow to add type systems to our JavaScript. Script. And then you have things like immutable JS and RX JS to help you apply functional patterns to your code. And that's really just the tip of the iceberg of the modern JavaScript ecosystem complexity.

Sis. And that brings us to today, the summer of 2019. TC 39, or the committee that's in charge of ECMAScript, is on a regular schedule of updating JavaScript at this point. So we should see ES 2019 fairly soon, which will bring some nice new features to the language. But a far more interesting development is WebAssembly, which itself is just a binary format that low level languages like c plus plus can compile to to deliver high performance applications to the web.

It's not a replacement for JavaScript, but it does represent a Only way to build web applications and will certainly have an influence on the future of JavaScript. But if there's one thing I've learned over the years, it's to always bet on JavaScript. It's a language that has consistently evolved from its very first prototype and has a massive and diverse community unlike any other programming language. I'm gonna go ahead and wrap things up there. Thanks for watching chain, and I will talk to you in the next video.
Christmas Day 1990. The world sees its first web browser developed by Sir Tim Berners Lee in Switzerland on a NeXT computer system. And if that weren't enough, this guy also developed the first web server around the same time. There was just one small problem. Nobody knew what the internet was yet. Here's here's Allison. Can you explain what internet is? It's It's a giant computer network made up made up of, uh, started from it's it's it's a computer billboard, but it's live. It's it's several, uh, universities and system.
internet
telecommunications
networking
computers
microsoft
Everything will join together. Right. And others can access it. Right. And it's getting bigger and bigger all. Just kidding, really? Today we'll be going back in time to look at the evolution of JavaScript system, and how it went from a simple scripting language famously written in 10 days, to a technology that affects almost every human being on the planet today.
If you're new here, like and subscribe, because this is part 1 to a full JavaScript course with a new video here on YouTube once a week for the foreseeable future. Our story starts off in December of 1991 when Al Gore invented the Internet. System. Uh, during my service in the United States Congress, uh, I took the initiative in creating the Internet. Well, what he actually did was introduce the Gore Bill, which provided funding for the 1st mainstream browser, Mosaic.
internet
social media
youtube
media
technology
It was developed by Marc Andreessen and Eric Bina at the University of Illinois and released for UNIX systems in January 93.
And later that year, there would be ports for Macintosh and Windows. And Mosaic was really the first web browser to start bringing the Internet to the mainstream. But there was no JavaScript yet, just the DOM or document object model, which itself wasn't even close to being standardized yet.
internet
In 93, after Andreessen graduated, he would move to California to co found Netscape. And within just a couple of years, the Netscape Navigator would control around 80% of the browser market share. Around this time period, Andreessen realized that browsers needed to become more dynamic. Web designers needed some sort of glue language to make their websites more interactive. So naturally, the first thing they turned to is the super trendy Java programming language from Sun Microsystems, But they quickly decided that that idea sucked.
So plan b was to recruit this guy named Brendan Eich, and his job was to put the Scheme programming language in the browser, but maintain a syntax that still resembled Java. And he needed to have that done by yesterday. Now, are you going to go ahead and have those system.
programming
TPS reports for us this afternoon. Just 10 days later, the first version of JavaScript was born. But it wasn't called JavaScript yet. It was Mocha. Syntactically, it was a curly bracket language like Java or C, but under the hood, it already contained many of the features that we know and love in modern JavaScript.
Things like first class functions, dynamic typing, and prototypal inheritance, which was actually inspired by the self programming language also developed by Sun Microsystems. Now, writing a perfect programming language in 10 days is basically impossible, and Brendan Eich knew this very well. So what he didn't do was write a highly specialized language designed only for browsers of nineties. Instead, he wrote a flexible multi paradigm language that developers could use to apply their own language patterns to. Kids love to squish it and squash it, system. But most of all, they can make anything they imagine.
languages
programming
linguistics
But there was still a very good chance that the language would fail and there's no way he could have predicted the extremes developers would take it to over the next 20 years. Any application that can be written in JavaScript will eventually be written in JavaScript. But let's not get ahead of ourselves. It's not even called JavaScript yet. By September of 95, MoCA was renamed to LiveScrypt, and it was shipped in the 1st beta releases of Netscape Navigator 2 point o. But just a few months later in September, they decided to rename it JavaScript because that made it sound like the cool lightweight cousin to the hottest programming language of the day. JavaScript started making an impact on the user experience from day 1, mostly with annoying pop up windows. There was a company that was becoming very popular around this time and they were launching their own browser called Internet Explorer. So naturally, they reverse engineered JavaScript And their legal, or I mean marketing team gives it a name of JScript. So in 1996, we have 2 almost identical languages JavaScript and JScript, And with the Internet growing rapidly, people realized that there would be a need to standardize JavaScript. So Netscape turned to the European Computer Manufacturers Association or ECMA, which has served as a neutral party since 1961 for setting standards in the IT industry. By June of 1997, we had the first version of ECMA 26 sis 2, or ECMAScript as it's commonly known. And this gave browser vendors and server side applications a consistent spec or set of guidelines for implementing the JavaScript language. The document itself is about a 100 pages long, and it looks very similar to modern JavaScript. It's just missing a lot of things, like exception handling with try catch blocks, regular expressions, and the strict equality operator. One of the weird parts of JavaScript and also one of Brendan Eich's biggest regrets is the way equality works. Some of the early web designers to test JavaScript thought it would be convenient if a number could equal a string.
As a compromise to make the language more accessible to non programmers, they went ahead and implemented this subtract, lenient equality operator. But don't worry too much because in a couple of years, we'll find a way to fix this. Let's fast forward to December of 1999. And this was one of the most interesting years in the history of tech in general. Well, I don't describe it as a bubble. This is there's a phenomenon with Internet System. Stocks versus all other stocks that's been going on since the year when it started. The valuations will continue to be huge in this You know what? In it Everybody's making money. System. Something's wrong here. And at the same time, everybody's getting ready for the world to end. A man made calamity so pervasive It threatens not only the United States, but the entire world. The year 2000 computer problem is without question the most complex, most expensive Problem mankind has ever faced. But luckily right before y two k and the eventual stock market crash, we got ECMAScript version 3. It contained things like better error handling and also so the strict equality operator to make equality comparisons a little less weird.
stock market
investing
capitalism
computer science
economy
finance
technology
economics
So JavaScript is evolving and progressing very nicely, but things are about to go south.
And we won't see another version of ECMAScript published for another 10 years. Just 3 months later in March of 2000, the tech bubble started to burst. The Nasdaq lost over a $1,000,000,000,000 in value in that month alone, and high profile companies started to fold. But the Internet was here to stay.
microsoft
And at this point, we have a solid standard for JavaScript. But the company behind this push, Netscape, was acquired by AOL a year prior. Email instant messages. There's no better way to keep in touch. You've got mail. We've spent over $1,000,000,000 to Create the world's largest high speed network. Now with 56 k, connections are faster than ever. America Online, so easy to use. No wonder it's number 1. And the browser's market share is being devoured by Microsoft's Internet Explorer. And Microsoft didn't really care about playing by the rules of the spec. In the early 2000, IE controlled at least 80% of the browser market share, And Microsoft just basically went off and did its own thing and implemented its own extensions for JavaScript.
internet
telecommunications
networking
computers
Now, this created fragmentation, which we still have to deal with today when supporting these legacy versions of Internet support, but it would also lead to some very revolutionary features like AJAX, which allowed JavaScript to be implemented asynchronously, which was a precursor to modern day single page applications. Now, in the early 2000s, work had started on ECMAScript version 4, and it was going in a direction that looks a lot more like modern day TypeScript, with features like optional type annotations, classes, interfaces, and a bunch of other features designed to use JavaScript at the enterprise scale. But one of the members on the committee was Douglas Crockford from Yahoo. He created JSON in 2003, and he was very concerned that the ES 4 proposal was becoming very large and out of control.
Microsoft actually agreed with Crockford and ultimately refused to have any part in the e s four proposal. This resulted in 2 different proposals running at the same time, e s 3.1 and e s 4. Version 3.1 was a much simpler version without major changes to the language. This saga would continue all the way until 2008 when ES 4 was finally scrapped for good. But it did actually find its way into the market as a language called ActionScript developed by Adobe, as the scripting language supported by Flash. And we all know what happened to Flash. Sis. Developers in the mid 2000 were extremely frustrated trying to build web applications that ran on all browsers.
software
microsoft
software development
But we saw a huge leap forward in 2006 with the release of jQuery. And this is a library that deserves a lot more credit than it gets. It's one of the first JS libraries to have extremely well done documentation, and it empowered developers to build far more complex and interactive applications that would work far more reliably on all browsers. So jQuery was a big deal, but we saw another huge event in 2008 with the release of Google Chrome and the v eight engine. Both were released on September 2, 2008, and v eight completely changed the way JavaScript was compiled and interpreted, making it a viable option for high performance applications both in the browser and server side. Less than 1 year later in May of 2009, Ryan Dahl would introduce Node. Js, a server side runtime for JavaScript built on top of v eight that included an event loop, which was a unique concept for the time and allowed you to write event driven non blocking code. And because of those characteristics, Node. Js became known as a great solution for building real time web applications that scale. And it also made it possible for developers to build their entire web station stack with a single programming language, known commonly as the JavaScript everywhere paradigm. And around the same time, the JavaScript authorities were finally getting their stuff together for the system of ECMAScript. The parties were united in Oslo, Norway and decided to take ES 3.1 and make that the starting point for ES 5, which was eventually released in December of 2009, exactly 10 years after the last official spec. From a technical standpoint, ES 5 has some very important features. Things like JSON support, functional array and object methods, strict mode, accessors, and many others. Now moving on to 2,000 10, we start to see JavaScript frameworks designed specifically for single page applications. 2 of the most popular were Backbone and AngularJS, both of which came out in October of 2010. Both of these frameworks were trying to solve a similar problem, but did it in a very different way. Backbone was lightweight and handled DOM updates with an comparative programming style, while AngularJS was a little more all inclusive and used a declarative programming style. And the creator of Backbone, Jeremy Ashkenes, is a legend of this time period who also created CoffeeScript and underscore JS. And speaking of CoffeeScript, it's a very important part of JavaScript history because it's the first language that really made transpiling go mainstream.
And that gets all the way back to Brendan Eich's original vision in 1995 to create a programming language that was malleable. And transpilers will become very important with the next version of JavaScript, ES 6 aka ES 2015. And a ton of new features landed in this version. Things like promises, let and const, arrow functions, spread syntax, destructuring, just to name a few.
programming
These new features were a huge leap forward for JavaScript developers, but it's really difficult for developers to actually use them because they're not supported in many legacy browsers. And that's why today we see prolific use of things like Babel and TypeScript, because they can target any flavor of JavaScript going all the way back to ES 3, while developers can still write their code with modern features. Now another major thing going on in 2015 was the rise of React JS. It took some of the concepts of Angular JS with declarative UI, but improve them with a unidirectional data flow, immutability, and the use of the virtual DOM.
And it's really been the framework that has solidified modern day declarative UI patterns. But But there are many other frameworks out there competing for the mindshare of developers like Angular, Vue, and Svelte among many others. And around the same time period, we've seen tools to help manage the complexity of these heavyweight JavaScript apps.
software
Things like Rollup and Webpack to bundle dependencies, and things like TypeScript and Flow to add type systems to our JavaScript.
Script. And then you have things like immutable JS and RX JS to help you apply functional patterns to your code. And that's really just the tip of the iceberg of the modern JavaScript ecosystem complexity. Sis. And that brings us to today, the summer of 2019. TC 39, or the committee that's in charge of ECMAScript, is on a regular schedule of updating JavaScript at this point.
programming
So we should see ES 2019 fairly soon, which will bring some nice new features to the language. But a far more interesting development is WebAssembly, which itself is just a binary format that low level languages like c plus plus can compile to to deliver high performance applications to the web.
software development
It's not a replacement for JavaScript, but it does represent a Only way to build web applications and will certainly have an influence on the future of JavaScript.
But if there's one thing I've learned over the years, it's to always bet on JavaScript. It's a language that has consistently evolved from its very first prototype and has a massive and diverse community unlike any other programming language. I'm gonna go ahead and wrap things up there. Thanks for watching chain, and I will talk to you in the next video.
languages
programming
Christmas Day 1990. The world sees its first web browser developed by Sir Tim Berners Lee in Switzerland on a NeXT computer system. And if that weren't enough, this guy also developed the first web server around the same time. There was just one small problem. Nobody knew what the internet was yet. Here's here's Allison. Can you explain what internet is? It's It's a giant computer network made up made up of, uh, started from it's it's it's a computer billboard, but it's live. It's it's several, uh, universities and system. Everything will join together. Right. And others can access it. Right. And it's getting bigger and bigger all. Just kidding, really? Today we'll be going back in time to look at the evolution of JavaScript system, and how it went from a simple scripting language famously written in 10 days, to a technology that affects almost every human being on the planet today. If you're new here, like and subscribe, because this is part 1 to a full JavaScript course with a new video here on YouTube once a week for the foreseeable future. Our story starts off in December of 1991 when Al Gore invented the Internet. System. Uh, during my service in the United States Congress, uh, I took the initiative in creating the Internet. Well, what he actually did was introduce the Gore Bill, which provided funding for the 1st mainstream browser, Mosaic. It was developed by Marc Andreessen and Eric Bina at the University of Illinois and released for UNIX systems in January 93. And later that year, there would be ports for Macintosh and Windows. And Mosaic was really the first web browser to start bringing the Internet to the mainstream. But there was no JavaScript yet, just the DOM or document object model, which itself wasn't even close to being standardized yet. In 93, after Andreessen graduated, he would move to California to co found Netscape. And within just a couple of years, the Netscape Navigator would control around 80% of the browser market share. Around this time period, Andreessen realized that browsers needed to become more dynamic. Web designers needed some sort of glue language to make their websites more interactive. So naturally, the first thing they turned to is the super trendy Java programming language from Sun Microsystems, But they quickly decided that that idea sucked. So plan b was to recruit this guy named Brendan Eich, and his job was to put the Scheme programming language in the browser, but maintain a syntax that still resembled Java. And he needed to have that done by yesterday. Now, are you going to go ahead and have those system. TPS reports for us this afternoon. Just 10 days later, the first version of JavaScript was born. But it wasn't called JavaScript yet. It was Mocha. Syntactically, it was a curly bracket language like Java or C, but under the hood, it already contained many of the features that we know and love in modern JavaScript. Things like first class functions, dynamic typing, and prototypal inheritance, which was actually inspired by the self programming language also developed by Sun Microsystems. Now, writing a perfect programming language in 10 days is basically impossible, and Brendan Eich knew this very well. So what he didn't do was write a highly specialized language designed only for browsers of nineties. Instead, he wrote a flexible multi paradigm language that developers could use to apply their own language patterns to. Kids love to squish it and squash it, system. But most of all, they can make anything they imagine. But there was still a very good chance that the language would fail and there's no way he could have predicted the extremes developers would take it to over the next 20 years. Any application that can be written in JavaScript will eventually be written in JavaScript. But let's not get ahead of ourselves. It's not even called JavaScript yet. By September of 95, MoCA was renamed to LiveScrypt, and it was shipped in the 1st beta releases of Netscape Navigator 2 point o. But just a few months later in September, they decided to rename it JavaScript because that made it sound like the cool lightweight cousin to the hottest programming language of the day. JavaScript started making an impact on the user experience from day 1, mostly with annoying pop up windows. There was a company that was becoming very popular around this time and they were launching their own browser called Internet Explorer. So naturally, they reverse engineered JavaScript And their legal, or I mean marketing team gives it a name of JScript. So in 1996, we have 2 almost identical languages JavaScript and JScript, And with the Internet growing rapidly, people realized that there would be a need to standardize JavaScript. So Netscape turned to the European Computer Manufacturers Association or ECMA, which has served as a neutral party since 1961 for setting standards in the IT industry. By June of 1997, we had the first version of ECMA 26 sis 2, or ECMAScript as it's commonly known. And this gave browser vendors and server side applications a consistent spec or set of guidelines for implementing the JavaScript language. The document itself is about a 100 pages long, and it looks very similar to modern JavaScript. It's just missing a lot of things, like exception handling with try catch blocks, regular expressions, and the strict equality operator. One of the weird parts of JavaScript and also one of Brendan Eich's biggest regrets is the way equality works. Some of the early web designers to test JavaScript thought it would be convenient if a number could equal a string. As a compromise to make the language more accessible to non programmers, they went ahead and implemented this subtract, lenient equality operator. But don't worry too much because in a couple of years, we'll find a way to fix this. Let's fast forward to December of 1999. And this was one of the most interesting years in the history of tech in general. Well, I don't describe it as a bubble. This is there's a phenomenon with Internet System. Stocks versus all other stocks that's been going on since the year when it started. The valuations will continue to be huge in this You know what? In it Everybody's making money. System. Something's wrong here. And at the same time, everybody's getting ready for the world to end. A man made calamity so pervasive It threatens not only the United States, but the entire world. The year 2000 computer problem is without question the most complex, most expensive Problem mankind has ever faced. But luckily right before y two k and the eventual stock market crash, we got ECMAScript version 3. It contained things like better error handling and also so the strict equality operator to make equality comparisons a little less weird. So JavaScript is evolving and progressing very nicely, but things are about to go south. And we won't see another version of ECMAScript published for another 10 years. Just 3 months later in March of 2000, the tech bubble started to burst. The Nasdaq lost over a $1,000,000,000,000 in value in that month alone, and high profile companies started to fold. But the Internet was here to stay. And at this point, we have a solid standard for JavaScript. But the company behind this push, Netscape, was acquired by AOL a year prior. Email instant messages. There's no better way to keep in touch. You've got mail. We've spent over $1,000,000,000 to Create the world's largest high speed network. Now with 56 k, connections are faster than ever. America Online, so easy to use. No wonder it's number 1. And the browser's market share is being devoured by Microsoft's Internet Explorer. And Microsoft didn't really care about playing by the rules of the spec. In the early 2000, IE controlled at least 80% of the browser market share, And Microsoft just basically went off and did its own thing and implemented its own extensions for JavaScript. Now, this created fragmentation, which we still have to deal with today when supporting these legacy versions of Internet support, but it would also lead to some very revolutionary features like AJAX, which allowed JavaScript to be implemented asynchronously, which was a precursor to modern day single page applications. Now, in the early 2000s, work had started on ECMAScript version 4, and it was going in a direction that looks a lot more like modern day TypeScript, with features like optional type annotations, classes, interfaces, and a bunch of other features designed to use JavaScript at the enterprise scale. But one of the members on the committee was Douglas Crockford from Yahoo. He created JSON in 2003, and he was very concerned that the ES 4 proposal was becoming very large and out of control. Microsoft actually agreed with Crockford and ultimately refused to have any part in the e s four proposal. This resulted in 2 different proposals running at the same time, e s 3.1 and e s 4. Version 3.1 was a much simpler version without major changes to the language. This saga would continue all the way until 2008 when ES 4 was finally scrapped for good. But it did actually find its way into the market as a language called ActionScript developed by Adobe, as the scripting language supported by Flash. And we all know what happened to Flash. Sis. Developers in the mid 2000 were extremely frustrated trying to build web applications that ran on all browsers. But we saw a huge leap forward in 2006 with the release of jQuery. And this is a library that deserves a lot more credit than it gets. It's one of the first JS libraries to have extremely well done documentation, and it empowered developers to build far more complex and interactive applications that would work far more reliably on all browsers. So jQuery was a big deal, but we saw another huge event in 2008 with the release of Google Chrome and the v eight engine. Both were released on September 2, 2008, and v eight completely changed the way JavaScript was compiled and interpreted, making it a viable option for high performance applications both in the browser and server side. Less than 1 year later in May of 2009, Ryan Dahl would introduce Node. Js, a server side runtime for JavaScript built on top of v eight that included an event loop, which was a unique concept for the time and allowed you to write event driven non blocking code. And because of those characteristics, Node. Js became known as a great solution for building real time web applications that scale. And it also made it possible for developers to build their entire web station stack with a single programming language, known commonly as the JavaScript everywhere paradigm. And around the same time, the JavaScript authorities were finally getting their stuff together for the system of ECMAScript. The parties were united in Oslo, Norway and decided to take ES 3.1 and make that the starting point for ES 5, which was eventually released in December of 2009, exactly 10 years after the last official spec. From a technical standpoint, ES 5 has some very important features. Things like JSON support, functional array and object methods, strict mode, accessors, and many others. Now moving on to 2,000 10, we start to see JavaScript frameworks designed specifically for single page applications. 2 of the most popular were Backbone and AngularJS, both of which came out in October of 2010. Both of these frameworks were trying to solve a similar problem, but did it in a very different way. Backbone was lightweight and handled DOM updates with an comparative programming style, while AngularJS was a little more all inclusive and used a declarative programming style. And the creator of Backbone, Jeremy Ashkenes, is a legend of this time period who also created CoffeeScript and underscore JS. And speaking of CoffeeScript, it's a very important part of JavaScript history because it's the first language that really made transpiling go mainstream. And that gets all the way back to Brendan Eich's original vision in 1995 to create a programming language that was malleable. And transpilers will become very important with the next version of JavaScript, ES 6 aka ES 2015. And a ton of new features landed in this version. Things like promises, let and const, arrow functions, spread syntax, destructuring, just to name a few. These new features were a huge leap forward for JavaScript developers, but it's really difficult for developers to actually use them because they're not supported in many legacy browsers. And that's why today we see prolific use of things like Babel and TypeScript, because they can target any flavor of JavaScript going all the way back to ES 3, while developers can still write their code with modern features. Now another major thing going on in 2015 was the rise of React JS. It took some of the concepts of Angular JS with declarative UI, but improve them with a unidirectional data flow, immutability, and the use of the virtual DOM. And it's really been the framework that has solidified modern day declarative UI patterns. But But there are many other frameworks out there competing for the mindshare of developers like Angular, Vue, and Svelte among many others. And around the same time period, we've seen tools to help manage the complexity of these heavyweight JavaScript apps. Things like Rollup and Webpack to bundle dependencies, and things like TypeScript and Flow to add type systems to our JavaScript. Script. And then you have things like immutable JS and RX JS to help you apply functional patterns to your code. And that's really just the tip of the iceberg of the modern JavaScript ecosystem complexity. Sis. And that brings us to today, the summer of 2019. TC 39, or the committee that's in charge of ECMAScript, is on a regular schedule of updating JavaScript at this point. So we should see ES 2019 fairly soon, which will bring some nice new features to the language. But a far more interesting development is WebAssembly, which itself is just a binary format that low level languages like c plus plus can compile to to deliver high performance applications to the web. It's not a replacement for JavaScript, but it does represent a Only way to build web applications and will certainly have an influence on the future of JavaScript. But if there's one thing I've learned over the years, it's to always bet on JavaScript. It's a language that has consistently evolved from its very first prototype and has a massive and diverse community unlike any other programming language. I'm gonna go ahead and wrap things up there. Thanks for watching chain, and I will talk to you in the next video.
Christmas
christmas
Day
day
1990.
1990
The
the
world
world
sees
sees
its
its
first
first
web
web
browser
browser
developed
developed
by
by
Sir
sir
Tim
tim
Berners
berners
Lee
lee
in
in
Switzerland
switzerland
on
on
a
a
NeXT
next
computer
computer
system.
system
And
and
if
if
that
that
weren't
weren't
enough,
enough
this
this
guy
guy
also
also
developed
developed
the
the
first
first
web
web
server
server
around
around
the
the
same
same
time.
time
There
there
was
was
just
just
one
one
small
small
problem.
problem
Nobody
nobody
knew
knew
what
what
the
the
internet
internet
was
was
yet.
yet
Here's
here's
here's
here's
Allison.
allison
Can
can
you
you
explain
explain
what
what
internet
internet
is?
is
It's
it's
It's
it's
a
a
giant
giant
computer
computer
network
network
made
made
up
up
made
made
up
up
of,
of
uh,
uh
started
started
from
from
it's
it's
it's
it's
it's
it's
a
a
computer
computer
billboard,
billboard
but
but
it's
it's
live.
live
It's
it's
it's
it's
several,
several
uh,
uh
universities
universities
and
and
system.
system
Everything
everything
will
will
join
join
together.
together
Right.
right
And
and
others
others
can
can
access
access
it.
it
Right.
right
And
and
it's
it's
getting
getting
bigger
bigger
and
and
bigger
bigger
all.
all
Just
just
kidding,
kidding
really?
really
Today
today
we'll
we'll
be
be
going
going
back
back
in
in
time
time
to
to
look
look
at
at
the
the
evolution
evolution
of
of
JavaScript
javascript
system,
system
and
and
how
how
it
it
went
went
from
from
a
a
simple
simple
scripting
scripting
language
language
famously
famously
written
written
in
in
10
10
days,
days
to
to
a
a
technology
technology
that
that
affects
affects
almost
almost
every
every
human
human
being
being
on
on
the
the
planet
planet
today.
today
If
if
you're
you're
new
new
here,
here
like
like
and
and
subscribe,
subscribe
because
because
this
this
is
is
part
part
1
1
to
to
a
a
full
full
JavaScript
javascript
course
course
with
with
a
a
new
new
video
video
here
here
on
on
YouTube
youtube
once
once
a
a
week
week
for
for
the
the
foreseeable
foreseeable
future.
future
Our
our
story
story
starts
starts
off
off
in
in
December
december
of
of
1991
1991
when
when
Al
al
Gore
gore
invented
invented
the
the
Internet.
internet
System.
system
Uh,
uh
during
during
my
my
service
service
in
in
the
the
United
united
States
states
Congress,
congress
uh,
uh
I
i
took
took
the
the
initiative
initiative
in
in
creating
creating
the
the
Internet.
internet
Well,
well
what
what
he
he
actually
actually
did
did
was
was
introduce
introduce
the
the
Gore
gore
Bill,
bill
which
which
provided
provided
funding
funding
for
for
the
the
1st
1st
mainstream
mainstream
browser,
browser
Mosaic.
mosaic
It
it
was
was
developed
developed
by
by
Marc
marc
Andreessen
andreessen
and
and
Eric
eric
Bina
bina
at
at
the
the
University
university
of
of
Illinois
illinois
and
and
released
released
for
for
UNIX
unix
systems
systems
in
in
January
january
93.
93
And
and
later
later
that
that
year,
year
there
there
would
would
be
be
ports
ports
for
for
Macintosh
macintosh
and
and
Windows.
windows
And
and
Mosaic
mosaic
was
was
really
really
the
the
first
first
web
web
browser
browser
to
to
start
start
bringing
bringing
the
the
Internet
internet
to
to
the
the
mainstream.
mainstream
But
but
there
there
was
was
no
no
JavaScript
javascript
yet,
yet
just
just
the
the
DOM
dom
or
or
document
document
object
object
model,
model
which
which
itself
itself
wasn't
wasn't
even
even
close
close
to
to
being
being
standardized
standardized
yet.
yet
In
in
93,
93
after
after
Andreessen
andreessen
graduated,
graduated
he
he
would
would
move
move
to
to
California
california
to
to
co
co
found
found
Netscape.
netscape
And
and
within
within
just
just
a
a
couple
couple
of
of
years,
years
the
the
Netscape
netscape
Navigator
navigator
would
would
control
control
around
around
80%
80%
of
of
the
the
browser
browser
market
market
share.
share
Around
around
this
this
time
time
period,
period
Andreessen
andreessen
realized
realized
that
that
browsers
browsers
needed
needed
to
to
become
become
more
more
dynamic.
dynamic
Web
web
designers
designers
needed
needed
some
some
sort
sort
of
of
glue
glue
language
language
to
to
make
make
their
their
websites
websites
more
more
interactive.
interactive
So
so
naturally,
naturally
the
the
first
first
thing
thing
they
they
turned
turned
to
to
is
is
the
the
super
super
trendy
trendy
Java
java
programming
programming
language
language
from
from
Sun
sun
Microsystems,
microsystems
But
but
they
they
quickly
quickly
decided
decided
that
that
that
that
idea
idea
sucked.
sucked
So
so
plan
plan
b
b
was
was
to
to
recruit
recruit
this
this
guy
guy
named
named
Brendan
brendan
Eich,
eich
and
and
his
his
job
job
was
was
to
to
put
put
the
the
Scheme
scheme
programming
programming
language
language
in
in
the
the
browser,
browser
but
but
maintain
maintain
a
a
syntax
syntax
that
that
still
still
resembled
resembled
Java.
java
And
and
he
he
needed
needed
to
to
have
have
that
that
done
done
by
by
yesterday.
yesterday
Now,
now
are
are
you
you
going
going
to
to
go
go
ahead
ahead
and
and
have
have
those
those
system.
system
TPS
tps
reports
reports
for
for
us
us
this
this
afternoon.
afternoon
Just
just
10
10
days
days
later,
later
the
the
first
first
version
version
of
of
JavaScript
javascript
was
was
born.
born
But
but
it
it
wasn't
wasn't
called
called
JavaScript
javascript
yet.
yet
It
it
was
was
Mocha.
mocha
Syntactically,
syntactically
it
it
was
was
a
a
curly
curly
bracket
bracket
language
language
like
like
Java
java
or
or
C,
c
but
but
under
under
the
the
hood,
hood
it
it
already
already
contained
contained
many
many
of
of
the
the
features
features
that
that
we
we
know
know
and
and
love
love
in
in
modern
modern
JavaScript.
javascript
Things
things
like
like
first
first
class
class
functions,
functions
dynamic
dynamic
typing,
typing
and
and
prototypal
prototypal
inheritance,
inheritance
which
which
was
was
actually
actually
inspired
inspired
by
by
the
the
self
self
programming
programming
language
language
also
also
developed
developed
by
by
Sun
sun
Microsystems.
microsystems
Now,
now
writing
writing
a
a
perfect
perfect
programming
programming
language
language
in
in
10
10
days
days
is
is
basically
basically
impossible,
impossible
and
and
Brendan
brendan
Eich
eich
knew
knew
this
this
very
very
well.
well
So
so
what
what
he
he
didn't
didn't
do
do
was
was
write
write
a
a
highly
highly
specialized
specialized
language
language
designed
designed
only
only
for
for
browsers
browsers
of
of
nineties.
nineties
Instead,
instead
he
he
wrote
wrote
a
a
flexible
flexible
multi
multi
paradigm
paradigm
language
language
that
that
developers
developers
could
could
use
use
to
to
apply
apply
their
their
own
own
language
language
patterns
patterns
to.
to
Kids
kids
love
love
to
to
squish
squish
it
it
and
and
squash
squash
it,
it
system.
system
But
but
most
most
of
of
all,
all
they
they
can
can
make
make
anything
anything
they
they
imagine.
imagine
But
but
there
there
was
was
still
still
a
a
very
very
good
good
chance
chance
that
that
the
the
language
language
would
would
fail
fail
and
and
there's
there's
no
no
way
way
he
he
could
could
have
have
predicted
predicted
the
the
extremes
extremes
developers
developers
would
would
take
take
it
it
to
to
over
over
the
the
next
next
20
20
years.
years
Any
any
application
application
that
that
can
can
be
be
written
written
in
in
JavaScript
javascript
will
will
eventually
eventually
be
be
written
written
in
in
JavaScript.
javascript
But
but
let's
let's
not
not
get
get
ahead
ahead
of
of
ourselves.
ourselves
It's
it's
not
not
even
even
called
called
JavaScript
javascript
yet.
yet
By
by
September
september
of
of
95,
95
MoCA
moca
was
was
renamed
renamed
to
to
LiveScrypt,
livescrypt
and
and
it
it
was
was
shipped
shipped
in
in
the
the
1st
1st
beta
beta
releases
releases
of
of
Netscape
netscape
Navigator
navigator
2
2
point
point
o.
o
But
but
just
just
a
a
few
few
months
months
later
later
in
in
September,
september
they
they
decided
decided
to
to
rename
rename
it
it
JavaScript
javascript
because
because
that
that
made
made
it
it
sound
sound
like
like
the
the
cool
cool
lightweight
lightweight
cousin
cousin
to
to
the
the
hottest
hottest
programming
programming
language
language
of
of
the
the
day.
day
JavaScript
javascript
started
started
making
making
an
an
impact
impact
on
on
the
the
user
user
experience
experience
from
from
day
day
1,
1
mostly
mostly
with
with
annoying
annoying
pop
pop
up
up
windows.
windows
There
there
was
was
a
a
company
company
that
that
was
was
becoming
becoming
very
very
popular
popular
around
around
this
this
time
time
and
and
they
they
were
were
launching
launching
their
their
own
own
browser
browser
called
called
Internet
internet
Explorer.
explorer
So
so
naturally,
naturally
they
they
reverse
reverse
engineered
engineered
JavaScript
javascript
And
and
their
their
legal,
legal
or
or
I
i
mean
mean
marketing
marketing
team
team
gives
gives
it
it
a
a
name
name
of
of
JScript.
jscript
So
so
in
in
1996,
1996
we
we
have
have
2
2
almost
almost
identical
identical
languages
languages
JavaScript
javascript
and
and
JScript,
jscript
And
and
with
with
the
the
Internet
internet
growing
growing
rapidly,
rapidly
people
people
realized
realized
that
that
there
there
would
would
be
be
a
a
need
need
to
to
standardize
standardize
JavaScript.
javascript
So
so
Netscape
netscape
turned
turned
to
to
the
the
European
european
Computer
computer
Manufacturers
manufacturers
Association
association
or
or
ECMA,
ecma
which
which
has
has
served
served
as
as
a
a
neutral
neutral
party
party
since
since
1961
1961
for
for
setting
setting
standards
standards
in
in
the
the
IT
it
industry.
industry
By
by
June
june
of
of
1997,
1997
we
we
had
had
the
the
first
first
version
version
of
of
ECMA
ecma
26
26
sis
sis
2,
2
or
or
ECMAScript
ecmascript
as
as
it's
it's
commonly
commonly
known.
known
And
and
this
this
gave
gave
browser
browser
vendors
vendors
and
and
server
server
side
side
applications
applications
a
a
consistent
consistent
spec
spec
or
or
set
set
of
of
guidelines
guidelines
for
for
implementing
implementing
the
the
JavaScript
javascript
language.
language
The
the
document
document
itself
itself
is
is
about
about
a
a
100
100
pages
pages
long,
long
and
and
it
it
looks
looks
very
very
similar
similar
to
to
modern
modern
JavaScript.
javascript
It's
it's
just
just
missing
missing
a
a
lot
lot
of
of
things,
things
like
like
exception
exception
handling
handling
with
with
try
try
catch
catch
blocks,
blocks
regular
regular
expressions,
expressions
and
and
the
the
strict
strict
equality
equality
operator.
operator
One
one
of
of
the
the
weird
weird
parts
parts
of
of
JavaScript
javascript
and
and
also
also
one
one
of
of
Brendan
brendan
Eich's
eich's
biggest
biggest
regrets
regrets
is
is
the
the
way
way
equality
equality
works.
works
Some
some
of
of
the
the
early
early
web
web
designers
designers
to
to
test
test
JavaScript
javascript
thought
thought
it
it
would
would
be
be
convenient
convenient
if
if
a
a
number
number
could
could
equal
equal
a
a
string.
string
As
as
a
a
compromise
compromise
to
to
make
make
the
the
language
language
more
more
accessible
accessible
to
to
non
non
programmers,
programmers
they
they
went
went
ahead
ahead
and
and
implemented
implemented
this
this
subtract,
subtract
lenient
lenient
equality
equality
operator.
operator
But
but
don't
don't
worry
worry
too
too
much
much
because
because
in
in
a
a
couple
couple
of
of
years,
years
we'll
we'll
find
find
a
a
way
way
to
to
fix
fix
this.
this
Let's
let's
fast
fast
forward
forward
to
to
December
december
of
of
1999.
1999
And
and
this
this
was
was
one
one
of
of
the
the
most
most
interesting
interesting
years
years
in
in
the
the
history
history
of
of
tech
tech
in
in
general.
general
Well,
well
I
i
don't
don't
describe
describe
it
it
as
as
a
a
bubble.
bubble
This
this
is
is
there's
there's
a
a
phenomenon
phenomenon
with
with
Internet
internet
System.
system
Stocks
stocks
versus
versus
all
all
other
other
stocks
stocks
that's
that's
been
been
going
going
on
on
since
since
the
the
year
year
when
when
it
it
started.
started
The
the
valuations
valuations
will
will
continue
continue
to
to
be
be
huge
huge
in
in
this
this
You
you
know
know
what?
what
In
in
it
it
Everybody's
everybody's
making
making
money.
money
System.
system
Something's
something's
wrong
wrong
here.
here
And
and
at
at
the
the
same
same
time,
time
everybody's
everybody's
getting
getting
ready
ready
for
for
the
the
world
world
to
to
end.
end
A
a
man
man
made
made
calamity
calamity
so
so
pervasive
pervasive
It
it
threatens
threatens
not
not
only
only
the
the
United
united
States,
states
but
but
the
the
entire
entire
world.
world
The
the
year
year
2000
2000
computer
computer
problem
problem
is
is
without
without
question
question
the
the
most
most
complex,
complex
most
most
expensive
expensive
Problem
problem
mankind
mankind
has
has
ever
ever
faced.
faced
But
but
luckily
luckily
right
right
before
before
y
y
two
two
k
k
and
and
the
the
eventual
eventual
stock
stock
market
market
crash,
crash
we
we
got
got
ECMAScript
ecmascript
version
version
3.
3
It
it
contained
contained
things
things
like
like
better
better
error
error
handling
handling
and
and
also
also
so
so
the
the
strict
strict
equality
equality
operator
operator
to
to
make
make
equality
equality
comparisons
comparisons
a
a
little
little
less
less
weird.
weird
So
so
JavaScript
javascript
is
is
evolving
evolving
and
and
progressing
progressing
very
very
nicely,
nicely
but
but
things
things
are
are
about
about
to
to
go
go
south.
south
And
and
we
we
won't
won't
see
see
another
another
version
version
of
of
ECMAScript
ecmascript
published
published
for
for
another
another
10
10
years.
years
Just
just
3
3
months
months
later
later
in
in
March
march
of
of
2000,
2000
the
the
tech
tech
bubble
bubble
started
started
to
to
burst.
burst
The
the
Nasdaq
nasdaq
lost
lost
over
over
a
a
$1,000,000,000,000
$1,000,000,000,000
in
in
value
value
in
in
that
that
month
month
alone,
alone
and
and
high
high
profile
profile
companies
companies
started
started
to
to
fold.
fold
But
but
the
the
Internet
internet
was
was
here
here
to
to
stay.
stay
And
and
at
at
this
this
point,
point
we
we
have
have
a
a
solid
solid
standard
standard
for
for
JavaScript.
javascript
But
but
the
the
company
company
behind
behind
this
this
push,
push
Netscape,
netscape
was
was
acquired
acquired
by
by
AOL
aol
a
a
year
year
prior.
prior
Email
email
instant
instant
messages.
messages
There's
there's
no
no
better
better
way
way
to
to
keep
keep
in
in
touch.
touch
You've
you've
got
got
mail.
mail
We've
we've
spent
spent
over
over
$1,000,000,000
$1,000,000,000
to
to
Create
create
the
the
world's
world's
largest
largest
high
high
speed
speed
network.
network
Now
now
with
with
56
56
k,
k
connections
connections
are
are
faster
faster
than
than
ever.
ever
America
america
Online,
online
so
so
easy
easy
to
to
use.
use
No
no
wonder
wonder
it's
it's
number
number
1.
1
And
and
the
the
browser's
browser's
market
market
share
share
is
is
being
being
devoured
devoured
by
by
Microsoft's
microsoft's
Internet
internet
Explorer.
explorer
And
and
Microsoft
microsoft
didn't
didn't
really
really
care
care
about
about
playing
playing
by
by
the
the
rules
rules
of
of
the
the
spec.
spec
In
in
the
the
early
early
2000,
2000
IE
ie
controlled
controlled
at
at
least
least
80%
80%
of
of
the
the
browser
browser
market
market
share,
share
And
and
Microsoft
microsoft
just
just
basically
basically
went
went
off
off
and
and
did
did
its
its
own
own
thing
thing
and
and
implemented
implemented
its
its
own
own
extensions
extensions
for
for
JavaScript.
javascript
Now,
now
this
this
created
created
fragmentation,
fragmentation
which
which
we
we
still
still
have
have
to
to
deal
deal
with
with
today
today
when
when
supporting
supporting
these
these
legacy
legacy
versions
versions
of
of
Internet
internet
support,
support
but
but
it
it
would
would
also
also
lead
lead
to
to
some
some
very
very
revolutionary
revolutionary
features
features
like
like
AJAX,
ajax
which
which
allowed
allowed
JavaScript
javascript
to
to
be
be
implemented
implemented
asynchronously,
asynchronously
which
which
was
was
a
a
precursor
precursor
to
to
modern
modern
day
day
single
single
page
page
applications.
applications
Now,
now
in
in
the
the
early
early
2000s,
2000s
work
work
had
had
started
started
on
on
ECMAScript
ecmascript
version
version
4,
4
and
and
it
it
was
was
going
going
in
in
a
a
direction
direction
that
that
looks
looks
a
a
lot
lot
more
more
like
like
modern
modern
day
day
TypeScript,
typescript
with
with
features
features
like
like
optional
optional
type
type
annotations,
annotations
classes,
classes
interfaces,
interfaces
and
and
a
a
bunch
bunch
of
of
other
other
features
features
designed
designed
to
to
use
use
JavaScript
javascript
at
at
the
the
enterprise
enterprise
scale.
scale
But
but
one
one
of
of
the
the
members
members
on
on
the
the
committee
committee
was
was
Douglas
douglas
Crockford
crockford
from
from
Yahoo.
yahoo
He
he
created
created
JSON
json
in
in
2003,
2003
and
and
he
he
was
was
very
very
concerned
concerned
that
that
the
the
ES
es
4
4
proposal
proposal
was
was
becoming
becoming
very
very
large
large
and
and
out
out
of
of
control.
control
Microsoft
microsoft
actually
actually
agreed
agreed
with
with
Crockford
crockford
and
and
ultimately
ultimately
refused
refused
to
to
have
have
any
any
part
part
in
in
the
the
e
e
s
s
four
four
proposal.
proposal
This
this
resulted
resulted
in
in
2
2
different
different
proposals
proposals
running
running
at
at
the
the
same
same
time,
time
e
e
s
s
3.1
3.1
and
and
e
e
s
s
4.
4
Version
version
3.1
3.1
was
was
a
a
much
much
simpler
simpler
version
version
without
without
major
major
changes
changes
to
to
the
the
language.
language
This
this
saga
saga
would
would
continue
continue
all
all
the
the
way
way
until
until
2008
2008
when
when
ES
es
4
4
was
was
finally
finally
scrapped
scrapped
for
for
good.
good
But
but
it
it
did
did
actually
actually
find
find
its
its
way
way
into
into
the
the
market
market
as
as
a
a
language
language
called
called
ActionScript
actionscript
developed
developed
by
by
Adobe,
adobe
as
as
the
the
scripting
scripting
language
language
supported
supported
by
by
Flash.
flash
And
and
we
we
all
all
know
know
what
what
happened
happened
to
to
Flash.
flash
Sis.
sis
Developers
developers
in
in
the
the
mid
mid
2000
2000
were
were
extremely
extremely
frustrated
frustrated
trying
trying
to
to
build
build
web
web
applications
applications
that
that
ran
ran
on
on
all
all
browsers.
browsers
But
but
we
we
saw
saw
a
a
huge
huge
leap
leap
forward
forward
in
in
2006
2006
with
with
the
the
release
release
of
of
jQuery.
jquery
And
and
this
this
is
is
a
a
library
library
that
that
deserves
deserves
a
a
lot
lot
more
more
credit
credit
than
than
it
it
gets.
gets
It's
it's
one
one
of
of
the
the
first
first
JS
js
libraries
libraries
to
to
have
have
extremely
extremely
well
well
done
done
documentation,
documentation
and
and
it
it
empowered
empowered
developers
developers
to
to
build
build
far
far
more
more
complex
complex
and
and
interactive
interactive
applications
applications
that
that
would
would
work
work
far
far
more
more
reliably
reliably
on
on
all
all
browsers.
browsers
So
so
jQuery
jquery
was
was
a
a
big
big
deal,
deal
but
but
we
we
saw
saw
another
another
huge
huge
event
event
in
in
2008
2008
with
with
the
the
release
release
of
of
Google
google
Chrome
chrome
and
and
the
the
v
v
eight
eight
engine.
engine
Both
both
were
were
released
released
on
on
September
september
2,
2
2008,
2008
and
and
v
v
eight
eight
completely
completely
changed
changed
the
the
way
way
JavaScript
javascript
was
was
compiled
compiled
and
and
interpreted,
interpreted
making
making
it
it
a
a
viable
viable
option
option
for
for
high
high
performance
performance
applications
applications
both
both
in
in
the
the
browser
browser
and
and
server
server
side.
side
Less
less
than
than
1
1
year
year
later
later
in
in
May
may
of
of
2009,
2009
Ryan
ryan
Dahl
dahl
would
would
introduce
introduce
Node.
node
Js,
js
a
a
server
server
side
side
runtime
runtime
for
for
JavaScript
javascript
built
built
on
on
top
top
of
of
v
v
eight
eight
that
that
included
included
an
an
event
event
loop,
loop
which
which
was
was
a
a
unique
unique
concept
concept
for
for
the
the
time
time
and
and
allowed
allowed
you
you
to
to
write
write
event
event
driven
driven
non
non
blocking
blocking
code.
code
And
and
because
because
of
of
those
those
characteristics,
characteristics
Node.
node
Js
js
became
became
known
known
as
as
a
a
great
great
solution
solution
for
for
building
building
real
real
time
time
web
web
applications
applications
that
that
scale.
scale
And
and
it
it
also
also
made
made
it
it
possible
possible
for
for
developers
developers
to
to
build
build
their
their
entire
entire
web
web
station
station
stack
stack
with
with
a
a
single
single
programming
programming
language,
language
known
known
commonly
commonly
as
as
the
the
JavaScript
javascript
everywhere
everywhere
paradigm.
paradigm
And
and
around
around
the
the
same
same
time,
time
the
the
JavaScript
javascript
authorities
authorities
were
were
finally
finally
getting
getting
their
their
stuff
stuff
together
together
for
for
the
the
system
system
of
of
ECMAScript.
ecmascript
The
the
parties
parties
were
were
united
united
in
in
Oslo,
oslo
Norway
norway
and
and
decided
decided
to
to
take
take
ES
es
3.1
3.1
and
and
make
make
that
that
the
the
starting
starting
point
point
for
for
ES
es
5,
5
which
which
was
was
eventually
eventually
released
released
in
in
December
december
of
of
2009,
2009
exactly
exactly
10
10
years
years
after
after
the
the
last
last
official
official
spec.
spec
From
from
a
a
technical
technical
standpoint,
standpoint
ES
es
5
5
has
has
some
some
very
very
important
important
features.
features
Things
things
like
like
JSON
json
support,
support
functional
functional
array
array
and
and
object
object
methods,
methods
strict
strict
mode,
mode
accessors,
accessors
and
and
many
many
others.
others
Now
now
moving
moving
on
on
to
to
2,000
2,000
10,
10
we
we
start
start
to
to
see
see
JavaScript
javascript
frameworks
frameworks
designed
designed
specifically
specifically
for
for
single
single
page
page
applications.
applications
2
2
of
of
the
the
most
most
popular
popular
were
were
Backbone
backbone
and
and
AngularJS,
angularjs
both
both
of
of
which
which
came
came
out
out
in
in
October
october
of
of
2010.
2010
Both
both
of
of
these
these
frameworks
frameworks
were
were
trying
trying
to
to
solve
solve
a
a
similar
similar
problem,
problem
but
but
did
did
it
it
in
in
a
a
very
very
different
different
way.
way
Backbone
backbone
was
was
lightweight
lightweight
and
and
handled
handled
DOM
dom
updates
updates
with
with
an
an
comparative
comparative
programming
programming
style,
style
while
while
AngularJS
angularjs
was
was
a
a
little
little
more
more
all
all
inclusive
inclusive
and
and
used
used
a
a
declarative
declarative
programming
programming
style.
style
And
and
the
the
creator
creator
of
of
Backbone,
backbone
Jeremy
jeremy
Ashkenes,
ashkenes
is
is
a
a
legend
legend
of
of
this
this
time
time
period
period
who
who
also
also
created
created
CoffeeScript
coffeescript
and
and
underscore
underscore
JS.
js
And
and
speaking
speaking
of
of
CoffeeScript,
coffeescript
it's
it's
a
a
very
very
important
important
part
part
of
of
JavaScript
javascript
history
history
because
because
it's
it's
the
the
first
first
language
language
that
that
really
really
made
made
transpiling
transpiling
go
go
mainstream.
mainstream
And
and
that
that
gets
gets
all
all
the
the
way
way
back
back
to
to
Brendan
brendan
Eich's
eich's
original
original
vision
vision
in
in
1995
1995
to
to
create
create
a
a
programming
programming
language
language
that
that
was
was
malleable.
malleable
And
and
transpilers
transpilers
will
will
become
become
very
very
important
important
with
with
the
the
next
next
version
version
of
of
JavaScript,
javascript
ES
es
6
6
aka
aka
ES
es
2015.
2015
And
and
a
a
ton
ton
of
of
new
new
features
features
landed
landed
in
in
this
this
version.
version
Things
things
like
like
promises,
promises
let
let
and
and
const,
const
arrow
arrow
functions,
functions
spread
spread
syntax,
syntax
destructuring,
destructuring
just
just
to
to
name
name
a
a
few.
few
These
these
new
new
features
features
were
were
a
a
huge
huge
leap
leap
forward
forward
for
for
JavaScript
javascript
developers,
developers
but
but
it's
it's
really
really
difficult
difficult
for
for
developers
developers
to
to
actually
actually
use
use
them
them
because
because
they're
they're
not
not
supported
supported
in
in
many
many
legacy
legacy
browsers.
browsers
And
and
that's
that's
why
why
today
today
we
we
see
see
prolific
prolific
use
use
of
of
things
things
like
like
Babel
babel
and
and
TypeScript,
typescript
because
because
they
they
can
can
target
target
any
any
flavor
flavor
of
of
JavaScript
javascript
going
going
all
all
the
the
way
way
back
back
to
to
ES
es
3,
3
while
while
developers
developers
can
can
still
still
write
write
their
their
code
code
with
with
modern
modern
features.
features
Now
now
another
another
major
major
thing
thing
going
going
on
on
in
in
2015
2015
was
was
the
the
rise
rise
of
of
React
react
JS.
js
It
it
took
took
some
some
of
of
the
the
concepts
concepts
of
of
Angular
angular
JS
js
with
with
declarative
declarative
UI,
ui
but
but
improve
improve
them
them
with
with
a
a
unidirectional
unidirectional
data
data
flow,
flow
immutability,
immutability
and
and
the
the
use
use
of
of
the
the
virtual
virtual
DOM.
dom
And
and
it's
it's
really
really
been
been
the
the
framework
framework
that
that
has
has
solidified
solidified
modern
modern
day
day
declarative
declarative
UI
ui
patterns.
patterns
But
but
But
but
there
there
are
are
many
many
other
other
frameworks
frameworks
out
out
there
there
competing
competing
for
for
the
the
mindshare
mindshare
of
of
developers
developers
like
like
Angular,
angular
Vue,
vue
and
and
Svelte
svelte
among
among
many
many
others.
others
And
and
around
around
the
the
same
same
time
time
period,
period
we've
we've
seen
seen
tools
tools
to
to
help
help
manage
manage
the
the
complexity
complexity
of
of
these
these
heavyweight
heavyweight
JavaScript
javascript
apps.
apps
Things
things
like
like
Rollup
rollup
and
and
Webpack
webpack
to
to
bundle
bundle
dependencies,
dependencies
and
and
things
things
like
like
TypeScript
typescript
and
and
Flow
flow
to
to
add
add
type
type
systems
systems
to
to
our
our
JavaScript.
javascript
Script.
script
And
and
then
then
you
you
have
have
things
things
like
like
immutable
immutable
JS
js
and
and
RX
rx
JS
js
to
to
help
help
you
you
apply
apply
functional
functional
patterns
patterns
to
to
your
your
code.
code
And
and
that's
that's
really
really
just
just
the
the
tip
tip
of
of
the
the
iceberg
iceberg
of
of
the
the
modern
modern
JavaScript
javascript
ecosystem
ecosystem
complexity.
complexity
Sis.
sis
And
and
that
that
brings
brings
us
us
to
to
today,
today
the
the
summer
summer
of
of
2019.
2019
TC
tc
39,
39
or
or
the
the
committee
committee
that's
that's
in
in
charge
charge
of
of
ECMAScript,
ecmascript
is
is
on
on
a
a
regular
regular
schedule
schedule
of
of
updating
updating
JavaScript
javascript
at
at
this
this
point.
point
So
so
we
we
should
should
see
see
ES
es
2019
2019
fairly
fairly
soon,
soon
which
which
will
will
bring
bring
some
some
nice
nice
new
new
features
features
to
to
the
the
language.
language
But
but
a
a
far
far
more
more
interesting
interesting
development
development
is
is
WebAssembly,
webassembly
which
which
itself
itself
is
is
just
just
a
a
binary
binary
format
format
that
that
low
low
level
level
languages
languages
like
like
c
c
plus
plus
plus
plus
can
can
compile
compile
to
to
to
to
deliver
deliver
high
high
performance
performance
applications
applications
to
to
the
the
web.
web
It's
it's
not
not
a
a
replacement
replacement
for
for
JavaScript,
javascript
but
but
it
it
does
does
represent
represent
a
a
Only
only
way
way
to
to
build
build
web
web
applications
applications
and
and
will
will
certainly
certainly
have
have
an
an
influence
influence
on
on
the
the
future
future
of
of
JavaScript.
javascript
But
but
if
if
there's
there's
one
one
thing
thing
I've
i've
learned
learned
over
over
the
the
years,
years
it's
it's
to
to
always
always
bet
bet
on
on
JavaScript.
javascript
It's
it's
a
a
language
language
that
that
has
has
consistently
consistently
evolved
evolved
from
from
its
its
very
very
first
first
prototype
prototype
and
and
has
has
a
a
massive
massive
and
and
diverse
diverse
community
community
unlike
unlike
any
any
other
other
programming
programming
language.
language
I'm
i'm
gonna
gonna
go
go
ahead
ahead
and
and
wrap
wrap
things
things
up
up
there.
there
Thanks
thanks
for
for
watching
watching
chain,
chain
and
and
I
i
will
will
talk
talk
to
to
you
you
in
in
the
the
next
next
video.
video
success
The speakers discuss the history and development of JavaScript, including the rise of JavaScript frameworks and the adoption of web developers. They also touch on the challenges of keeping in touch with the language, including email instant messages and mail, and the development of web applications. The speakers provide updates on the development of the first web browser and the first web server, noting that the language is evolving and progressing.
The Weird History of JavaScript
Christmas Day 1990. The world sees its first web browser developed by Sir Tim Berners Lee in Switzerland on a NeXT computer system. And if that weren't enough, this guy also developed the first web server around the same time. There was just one small problem. Nobody knew what the internet was yet. Here's here's Allison. Can you explain what internet is? It's It's a giant computer network made up made up of, uh, started from it's it's it's a computer billboard, but it's live. It's it's several, uh, universities and system. Everything will join together. Right. And others can access it. Right. And it's getting bigger and bigger all. Just kidding, really? Today we'll be going back in time to look at the evolution of JavaScript system, and how it went from a simple scripting language famously written in 10 days, to a technology that affects almost every human being on the planet today. If you're new here, like and subscribe, because this is part 1 to a full JavaScript course with a new video here on YouTube once a week for the foreseeable future. Our story starts off in December of 1991 when Al Gore invented the Internet. System. Uh, during my service in the United States Congress, uh, I took the initiative in creating the Internet. Well, what he actually did was introduce the Gore Bill, which provided funding for the 1st mainstream browser, Mosaic. It was developed by Marc Andreessen and Eric Bina at the University of Illinois and released for UNIX systems in January 93. And later that year, there would be ports for Macintosh and Windows. And Mosaic was really the first web browser to start bringing the Internet to the mainstream. But there was no JavaScript yet, just the DOM or document object model, which itself wasn't even close to being standardized yet. In 93, after Andreessen graduated, he would move to California to co found Netscape. And within just a couple of years, the Netscape Navigator would control around 80% of the browser market share. Around this time period, Andreessen realized that browsers needed to become more dynamic. Web designers needed some sort of glue language to make their websites more interactive. So naturally, the first thing they turned to is the super trendy Java programming language from Sun Microsystems, But they quickly decided that that idea sucked. So plan b was to recruit this guy named Brendan Eich, and his job was to put the Scheme programming language in the browser, but maintain a syntax that still resembled Java. And he needed to have that done by yesterday. Now, are you going to go ahead and have those system. TPS reports for us this afternoon. Just 10 days later, the first version of JavaScript was born. But it wasn't called JavaScript yet. It was Mocha. Syntactically, it was a curly bracket language like Java or C, but under the hood, it already contained many of the features that we know and love in modern JavaScript. Things like first class functions, dynamic typing, and prototypal inheritance, which was actually inspired by the self programming language also developed by Sun Microsystems. Now, writing a perfect programming language in 10 days is basically impossible, and Brendan Eich knew this very well. So what he didn't do was write a highly specialized language designed only for browsers of nineties. Instead, he wrote a flexible multi paradigm language that developers could use to apply their own language patterns to. Kids love to squish it and squash it, system. But most of all, they can make anything they imagine. But there was still a very good chance that the language would fail and there's no way he could have predicted the extremes developers would take it to over the next 20 years. Any application that can be written in JavaScript will eventually be written in JavaScript. But let's not get ahead of ourselves. It's not even called JavaScript yet. By September of 95, MoCA was renamed to LiveScrypt, and it was shipped in the 1st beta releases of Netscape Navigator 2 point o. But just a few months later in September, they decided to rename it JavaScript because that made it sound like the cool lightweight cousin to the hottest programming language of the day. JavaScript started making an impact on the user experience from day 1, mostly with annoying pop up windows. There was a company that was becoming very popular around this time and they were launching their own browser called Internet Explorer. So naturally, they reverse engineered JavaScript And their legal, or I mean marketing team gives it a name of JScript. So in 1996, we have 2 almost identical languages JavaScript and JScript, And with the Internet growing rapidly, people realized that there would be a need to standardize JavaScript. So Netscape turned to the European Computer Manufacturers Association or ECMA, which has served as a neutral party since 1961 for setting standards in the IT industry. By June of 1997, we had the first version of ECMA 26 sis 2, or ECMAScript as it's commonly known. And this gave browser vendors and server side applications a consistent spec or set of guidelines for implementing the JavaScript language. The document itself is about a 100 pages long, and it looks very similar to modern JavaScript. It's just missing a lot of things, like exception handling with try catch blocks, regular expressions, and the strict equality operator. One of the weird parts of JavaScript and also one of Brendan Eich's biggest regrets is the way equality works. Some of the early web designers to test JavaScript thought it would be convenient if a number could equal a string. As a compromise to make the language more accessible to non programmers, they went ahead and implemented this subtract, lenient equality operator. But don't worry too much because in a couple of years, we'll find a way to fix this. Let's fast forward to December of 1999. And this was one of the most interesting years in the history of tech in general. Well, I don't describe it as a bubble. This is there's a phenomenon with Internet System. Stocks versus all other stocks that's been going on since the year when it started. The valuations will continue to be huge in this You know what? In it Everybody's making money. System. Something's wrong here. And at the same time, everybody's getting ready for the world to end. A man made calamity so pervasive It threatens not only the United States, but the entire world. The year 2000 computer problem is without question the most complex, most expensive Problem mankind has ever faced. But luckily right before y two k and the eventual stock market crash, we got ECMAScript version 3. It contained things like better error handling and also so the strict equality operator to make equality comparisons a little less weird. So JavaScript is evolving and progressing very nicely, but things are about to go south. And we won't see another version of ECMAScript published for another 10 years. Just 3 months later in March of 2000, the tech bubble started to burst. The Nasdaq lost over a $1,000,000,000,000 in value in that month alone, and high profile companies started to fold. But the Internet was here to stay. And at this point, we have a solid standard for JavaScript. But the company behind this push, Netscape, was acquired by AOL a year prior. Email instant messages. There's no better way to keep in touch. You've got mail. We've spent over $1,000,000,000 to Create the world's largest high speed network. Now with 56 k, connections are faster than ever. America Online, so easy to use. No wonder it's number 1. And the browser's market share is being devoured by Microsoft's Internet Explorer. And Microsoft didn't really care about playing by the rules of the spec. In the early 2000, IE controlled at least 80% of the browser market share, And Microsoft just basically went off and did its own thing and implemented its own extensions for JavaScript. Now, this created fragmentation, which we still have to deal with today when supporting these legacy versions of Internet support, but it would also lead to some very revolutionary features like AJAX, which allowed JavaScript to be implemented asynchronously, which was a precursor to modern day single page applications. Now, in the early 2000s, work had started on ECMAScript version 4, and it was going in a direction that looks a lot more like modern day TypeScript, with features like optional type annotations, classes, interfaces, and a bunch of other features designed to use JavaScript at the enterprise scale. But one of the members on the committee was Douglas Crockford from Yahoo. He created JSON in 2003, and he was very concerned that the ES 4 proposal was becoming very large and out of control. Microsoft actually agreed with Crockford and ultimately refused to have any part in the e s four proposal. This resulted in 2 different proposals running at the same time, e s 3.1 and e s 4. Version 3.1 was a much simpler version without major changes to the language. This saga would continue all the way until 2008 when ES 4 was finally scrapped for good. But it did actually find its way into the market as a language called ActionScript developed by Adobe, as the scripting language supported by Flash. And we all know what happened to Flash. Sis. Developers in the mid 2000 were extremely frustrated trying to build web applications that ran on all browsers. But we saw a huge leap forward in 2006 with the release of jQuery. And this is a library that deserves a lot more credit than it gets. It's one of the first JS libraries to have extremely well done documentation, and it empowered developers to build far more complex and interactive applications that would work far more reliably on all browsers. So jQuery was a big deal, but we saw another huge event in 2008 with the release of Google Chrome and the v eight engine. Both were released on September 2, 2008, and v eight completely changed the way JavaScript was compiled and interpreted, making it a viable option for high performance applications both in the browser and server side. Less than 1 year later in May of 2009, Ryan Dahl would introduce Node. Js, a server side runtime for JavaScript built on top of v eight that included an event loop, which was a unique concept for the time and allowed you to write event driven non blocking code. And because of those characteristics, Node. Js became known as a great solution for building real time web applications that scale. And it also made it possible for developers to build their entire web station stack with a single programming language, known commonly as the JavaScript everywhere paradigm. And around the same time, the JavaScript authorities were finally getting their stuff together for the system of ECMAScript. The parties were united in Oslo, Norway and decided to take ES 3.1 and make that the starting point for ES 5, which was eventually released in December of 2009, exactly 10 years after the last official spec. From a technical standpoint, ES 5 has some very important features. Things like JSON support, functional array and object methods, strict mode, accessors, and many others. Now moving on to 2,000 10, we start to see JavaScript frameworks designed specifically for single page applications. 2 of the most popular were Backbone and AngularJS, both of which came out in October of 2010. Both of these frameworks were trying to solve a similar problem, but did it in a very different way. Backbone was lightweight and handled DOM updates with an comparative programming style, while AngularJS was a little more all inclusive and used a declarative programming style. And the creator of Backbone, Jeremy Ashkenes, is a legend of this time period who also created CoffeeScript and underscore JS. And speaking of CoffeeScript, it's a very important part of JavaScript history because it's the first language that really made transpiling go mainstream. And that gets all the way back to Brendan Eich's original vision in 1995 to create a programming language that was malleable. And transpilers will become very important with the next version of JavaScript, ES 6 aka ES 2015. And a ton of new features landed in this version. Things like promises, let and const, arrow functions, spread syntax, destructuring, just to name a few. These new features were a huge leap forward for JavaScript developers, but it's really difficult for developers to actually use them because they're not supported in many legacy browsers. And that's why today we see prolific use of things like Babel and TypeScript, because they can target any flavor of JavaScript going all the way back to ES 3, while developers can still write their code with modern features. Now another major thing going on in 2015 was the rise of React JS. It took some of the concepts of Angular JS with declarative UI, but improve them with a unidirectional data flow, immutability, and the use of the virtual DOM. And it's really been the framework that has solidified modern day declarative UI patterns. But But there are many other frameworks out there competing for the mindshare of developers like Angular, Vue, and Svelte among many others. And around the same time period, we've seen tools to help manage the complexity of these heavyweight JavaScript apps. Things like Rollup and Webpack to bundle dependencies, and things like TypeScript and Flow to add type systems to our JavaScript. Script. And then you have things like immutable JS and RX JS to help you apply functional patterns to your code. And that's really just the tip of the iceberg of the modern JavaScript ecosystem complexity. Sis. And that brings us to today, the summer of 2019. TC 39, or the committee that's in charge of ECMAScript, is on a regular schedule of updating JavaScript at this point. So we should see ES 2019 fairly soon, which will bring some nice new features to the language. But a far more interesting development is WebAssembly, which itself is just a binary format that low level languages like c plus plus can compile to to deliver high performance applications to the web. It's not a replacement for JavaScript, but it does represent a Only way to build web applications and will certainly have an influence on the future of JavaScript. But if there's one thing I've learned over the years, it's to always bet on JavaScript. It's a language that has consistently evolved from its very first prototype and has a massive and diverse community unlike any other programming language. I'm gonna go ahead and wrap things up there. Thanks for watching chain, and I will talk to you in the next video.
The speakers discuss the history and development of JavaScript, including the rise of JavaScript frameworks and the adoption of web developers. They also touch on the challenges of keeping in touch with the language, including email instant messages and mail, and the development of web applications. The speakers provide updates on the development of the first web browser and the first web server, noting that the language is evolving and progressing.