Interesting quote from Douglas Crockford on JS as ‘cowboy language’:
Additional research was done on JS history (CloseBrace article) and timelines. Surprisingly I couldn’t find an academic quality timeline, but I did find a Tweet from Mike North with a nice image.
Also put together my basic JS research (from Wikipedia) into a concept map parts of which may be useful in the multimedia presentation.
Let’s take a step back and look at what JS is. It’s a high-level programming language that is one of the three core technologies of the World Wide Web, along with HTML and CSS (or Cascading Style Sheets). This concept map shows some of the characteristics JS has and how it’s being used. We’ll take more about those characteristics later, as well as how JS fits into the modern web.
One of JS’s key features is that it allows you to manipulate something call the DOM, the Document Object Model, which is a tree-like view of the HTML or XML that marks up a web page. The nice thing about the DOM is that it’s language-independent, which facilitates communication among different computing systems, regardless of what programming language they use.
JS is old. It was invented in 1995 by Brendan Eich, one of the co-founders of Mozilla. That’s an eternity in Internet time. Many languages don’t survive for over 20 years.
Another astounding statistic is that 95% of all websites use JS. Ninety-five percent! I think the only other technology that’s so ubiquitous across the web is electricity.
However, as the accompanying chart from Stack Overflow shows, the lifecycle of each JS framework is short – only a few years. One notable except is jQuery, which has been around for quite a while. What is it that’s causing this rapid rise and fall of frameworks? We’ll talk about that later.
AJAX was a huge development. AJAX is what allows things like webmail to work. If you remember when Yahoo Mail and Google Mail exploded onto the scene and displaced installed software like Microsoft Outlook, AJAX is what allows those webmail programs to work.
By the way? Shoutout to Jesse James Garrett, who coined the term AJAX, and is also the author of The Elements of User Experience complete with its famous chart. Most people don’t have one really good idea in their lives, let alone two – so way to go, Jesse James.
When I initially started researching JS, I had the idea in mind that it was nothing more than cowboy code and not a real programming language. However, I came across this quote from Douglas Crockford, who helped popularize JSON. He acknowledged that many of the people writing JS are not professional programmers. That’s not a bad thing; that’s actually a good thing. As he puts it, “JS has so much expressive power that they are able to do useful things in it, anyway.”
That’s something JS should be lauded for, not criticized for. Many languages are too restrictive to allow amateurs to accomplish anything useful.
The flexibility of JS is what gives it power. Here’s a deeper look at some of its characteristics. Being a high-level abstract language, being weakly typed, and being a multi-paradigm language that can support a variety of programming styles – these are things that make JS easy to work with, even if you don’t have a strong computer science background.
That power is what explains JS’s dominance over the web. Here’s another chart from Stack Overflow that shows the lifespans of some of the even smaller frameworks. This is an illustration of disruptive innovation at work.
Front-end web developers are being asked to do more and more back-end type work. JS fills that need. As a new framework arises that fills a specific need better than an old one, naturally it will displace the old framework.
The latest hotness that you’re hearing about, Accelerated Mobile Pages? Yeah. That still uses JS under the hood.
Thank you for listening, and this concludes my presentation.
“What is AMP.” (2018, February 13). AMP. Retrieved from https://www.ampproject.org/learn/overview/