A Brief History
attachEvent rather than the standard
addEventListener which meant that for scripts to work in IE, you had to tailor your code to function in that browser. (Stackoverflow) There are many other small differences which require different code snippets to allow the same functionality across browsers.
Where the problems originated
All of the libraries!
Too many versions
for( x in list) rather than
for(var i=0; i < list.length;i++)), Arrow function syntax for anonymous functions, promises to clean up traditional callback issues, number and math improvements, and much more. ES7 and ES8 improved upon a lot of these changes, but ES6 is still the syntactic basis.
Back to libraries
Building & Bundling
require(‘library’) rather than using the ES6+
Okay, but this is still overwhelming
Standard ECMA-262, www.ecma-international.org/publications/standards/Ecma-262.htm.
“Browserify.” Browserify, Browserify.org/.
Foundation, Node.js. Node.js, nodejs.org/en/.
Kambona, Kennedy, et al. “An Evaluation of Reactive Programming and Promises for Structuring Collaborative Web Applications.” Proceedings of the 7th Workshop on Dynamic Languages and Applications - DYLA ‘13, 2013, doi:10.1145/2489798.2489802.
Prottsman, Kiki. “Coding vs. Programming – Battle of the Terms!” The Huffington Post, TheHuffingtonPost.com, 12 Apr. 2015, www.huffingtonpost.com/kiki-prottsman/coding-vs-programming-bat_b_7042816.html.