This is my application for P2PU Javascript: 101.
After watching this lecture, I have to admit that i feel some relief at the news that Douglas Crockford says there is only one "good" JavaScript book (JavaScript: The Definitive Guide) as I have been struggling with a lot of books for quite some time, never quite finding one that caught my attention.
According to Douglas Crockford, JavaScript is the most misunderstood programming language in the world for multiple reasons. First because of the language that tend to make new comers believe that it is 1) somehow connected to Java, which it's not and 2) that it's just a scripting language and not a real programming language because of the word "script" contained in its name.
But JavaScript is also the world's most popular language, just looking at the quantity of platforms on which it is installed on today.
The top "key features of JavaScript are:
Loose typing
Easier to type, but you did not have a choice.
Load and go delivery
Programs are delivered as source code. Meaning that it is not compiled, much like html.
Prototypal inheritance
The objects inherit directly from other objects
Lambda
Much like Scheme and Lisp. It is the use of functions as first class objects
Objects as a general container
Unification of "objects" and "hash tables".
Linkage through global variables
JavaScript doesn't have a linker because of the "load and go" delivery. The compilation units are all combined in a global namespace which cause a lot of security issues.
It is interesting to note that the number value in JavaScript is seriously flawed when it comes to floating numbers (e.g 0.2 + 0.1 != 0.3) and there is only one kind of number: number. No integer, just number.
JavaScript also as a external Math library, much like Java.