Last month, in part 1 I concluded that the problem was too much choice and not enough curation, but promised that an upcoming blog series was going to change all of that.

A lofty goal, for sure, and as yet undelivered. This blog series is still very much on my to-do list, and not something that I need a kickstarter project to do. The “next few weeks” commitment was deliberately vague, and a better estimate would be to say “coming in 2014”.

On the topic of JavaScript, and how far it has come and is going to go, I heard an interesting opinion this week from another developer who has been coding for much longer than I have. He stated that client side programming has hardly changed in the last 15 years.

My first thought to this was along the lines of “what outrageous nonsense!” however rather than becoming a monster, perhaps Ruby Rogers can teach us all a lesson in seeing the other persons viewpoint.

So let us examine and assess this in a bit more detail. The most obvious thing to do is to compare web pages from popular sites using the way back machine. Screenshots for Microsoft are at the top of this page, and you can take a look at Apple and Amazon’s best efforts from 15 years ago below. But is this a straw-man argument? Just because the sites look very different, that doesn’t mean the programming behind them is very different.

So what were we using and what was client side programming like back in 1999? Netscape Navigator was a big deal, but the hottest thing was the new Internet Explorer version 5. There was no Firefox, and Safari was only known as a tourist trip to Africa.

JavaScript existed under the earlier name of LiveScript at Netscape in 1995 and was released as JavaScript in Netscape Navigator 2.0 in March 1996. The first release from Microsoft that supported JavaScript (or more accurately JScript) was Internet Explorer version 3 which was released later on in 1996. By 1999, JavaScript programming was known by many developers, and in 1999, the best browsers supported JavaScript version 2. HTML version 4 was widely supported but CSS version 2.0 had reached W3C recommendation status only one year earlier and was less widely adopted.

Unfortunately caniuse.com doesn’t go back as far as 1999 and the closest we can get on that site is to compare today’s browsers against IE5.5, which was released in July 2000.

Interestingly, Internet Explorer 5 did provide a means for doing XML HTTP Requests using it’s ActiveX object, and iframe technology is even older, allowing asynchonous fetching since 1996. However according to Wikipedia in 1999 “asynchronous Web technologies remained fairly obscure” and the term AJAX was not coined until many years later, in 2005.

But what about JavaScript libraries and frameworks? Well obviously there was no jQuery, but there a number of basic libraries that you could download and a link to some of the is found below.

So in short, I have to admit that in some ways JavaScript really hasn’t changed all that much in the last 15 years, night really is arriving and day really is leaving. Unless you are using a very abstract API such as jQuery, JavaScript syntax looks pretty similar to how it was in 1999.

For me the biggest progress we have seen is the large number mature JavaScript frameworks that have been created by the open source community, the spread of knowledge on useful JavaScript design patterns and the creation of superset JS languages and transpilers such as TypeScript, CoffeeScript and Dart.

JavaScript wasn’t the prettiest of languages back in 1999, and it still isn’t now, but we’ve had an important step in the right direction with EcmaScript 5’s strict mode, and browsers are already supporting some features from EcmaScript 6. Responsive design techniques were rarely used and very primitive 15 years ago. Today websites are slicker, but when we get to 2029, we’ll probably look at the websites of 2014 may look just as primitive as the sites of 1999 do today.

Further Reading

Microsoft August 1999

Apple August 1999

Amazon August 1999

A short history of JavaScript

Netscape: A History

Can I Use comparison of IE5.5 against modern browsers

AJAX history

Retro JS libraries from 1999

Follow me on Twitter