Influences on ECMAScript 6


This is a list of a few ECMAScript 6 features and what their influences were:




  • Iteration: Python (but with a modified protocol)

  • Generators: Python

  • Arrow functions: CoffeeScript

  • const: The name comes from C++ (the latest C standard borrowed it from C++), but it behaves more like Java’s final.

  • let: is old, became popular via BASIC.

    • Also frequently appears in functional programming languages (Lisp, ML, etc.), but creates immutable bindings there.



  • Template literals: E (quasi literals)

  • Destructuring: Lisp (destructuring bind)

  • Modules: CommonJS, AMD

  • Species pattern (Symbol.species): Smalltalk

  • Promises:, also often called futures, are an old construct from concurrent programming languages. But ES6 Promises don’t block, they accept continuations via callbacks.



Comments

Popular posts from this blog

Steve Lopez and the Importance of Newspapers

Ideas for fixing unconnected computing

Omar to kill me