Around 2002 I found a small website created by a certain Douglas Crockford, in which he claimed that JavaScript was the World’s Most Misunderstood Programming Language. It was intriguing, so I read, and I discovered that there was much more to the language than I thought at first glance.
JavaScript’s C-like syntax, including curly braces and the clunky for statement, makes it appear to be an ordinary procedural language. This is misleading because JavaScript has more in common with functional languages like Lisp or Scheme than with C or Java. It has arrays instead of lists and objects instead of property lists. Functions are first class. It has closures. You get lambdas without having to balance all those parens.
Back then I had no idea that there was a family of languages called “functional;” actually the name seemed odd to me because, well, Pascal had functions and apparently it was not functional, so I was quite confused.
Douglas is also the author of “JavaScript: The Good Parts” book, which had quite an impact back in the day. It is probably one of the best sellers of our industry. The book has always been sarcastically compared to its fatter sibling, the venerable “JavaScript: The Definitive Guide” by David Flanagan, which has been around since 1996 and whose latest edition, the seventh, came out last year.
Back in 2002, when I found Douglas’ writing on the web for the first time, I said that he was probably the only person that actually understood JavaScript correctly. I think I was right.