The Ugly JavaScript. 2010 to 2026

By Xah Lee. Date: .

The ugly web dev history, frontend.

the ugly web dev history, frontend.

I was ignorant of JavaScript and frontend tech, from 1999 to 2010. am a web backend dev in 1998.

back then, professional programers sneer JavaScript (and php). except, those big corp actually need to use it sans choice, such as gmail, google map, amazon, ebay. (the need to update page sans reloading the whole page.)

Only when Node.js in 2009 By Ryan Dahl, changed things. It introduced the async, which puzzled and derided by most programers. (async, a pain in the ass. One of the worst thing in programing language history, still so today, even with latest await etc. Reason is because js is single threaded. Async is a hack fix on this concurrency issue.)

In 2010 js did not have a library system. (nor did php, from 1995 to 2009.) Commonjs and AMD module system got introduced in the wild. A very complicated mess, which created code repo and package manager (bower, npm), then concepts like bundler (browserify, webpack), then task runner (gulp).

npm is a corp greed, designed so that 1 line code is considered a lib, to promote its popularity.

Then in 2015, js finally had some basic features, such as real local scoped variable (let), a module system (but incompatible with CommonJS nor AMD), real map data structure.

but for reason, the JavaScript committee refused a “use new js”. (google chrome dev got stun by a “use strict”.) So, one thousands warts of js, stays in js. (such as var, use strict, string is utf16 and all methods cant deal with emoji, no real array. etc.)

JavaScript landscape, is really 30 years of shit pile due to a in-10-days mistake. But then again, if we start with a master plan, usually nothing comes out of it.

But cpp is worse.

modern web dev history. 2010 to 2026

JavaScript history