David Thompson

David Thompson at

"JavaScript is a functional language!" Sure, JavaScript has first-class functions and lexical scope, but there's huge, glaring issues such as 'if' not being an expression, '+' and friends being operators instead of functions, no tail call semantics (ES6 will fix this, thankfully), no built-in persistent data type like the cons cell, no syntactic abstraction, no keyword arguments, no symbols (ES6 introduces the Symbol type but its just not the same), no quote/quasiquote, no 'let' prior to ES6 (in ES5 and below, you have to write out longhand what a macro expander could do) and so on. All of this combined, it makes for a disappointing language to do real functional programming in.

Douglas Perkins, Yutaka Niibe, Christopher Allan Webber likes this.