Web development is not so much “complex” as it is a huge clusterfuck. The front-end web framework landscape is in constant turmoil. It seems like a new web framework pops up every month! Angular was hot shit not too long ago. React is the current hotness, but Vue is threatening to unseat it. There are dozens of frameworks and everybody is suffering from “framework fatigue” and “choice paralysis.”
The web browser’s DOM is one of the messiest software abstractions in the history of programming.
HTML is a poorly-designed markup language. CSS is even worse making it a nightmare to style your webpages exactly the way you want.
The ultimate in poor language design is reserved for JavaScript. Designed in only 10 days under great pressure from Netscape, hardly any thought went into this language. Consequently, it is plagued by a whole host of hobgoblins, the numerous WATs and WTFs that have made JavaScript the butt of jokes for years.
In a desperate attempt to avoid this piece o’ shit of a programming language, literally hundreds of transpiled languages have sprouted starting with CoffeeScript and leading to Dart, TypeScript, PureScript, Elm, ClojureScript, Scala.js, Opal, Transcrypt, PharoJS, etc.
As if all this wasn’t bad enough, JavaScript is growing into a giant, complex beast. ECMAScript 2017, for example, has a language spec of over 885 pages!!! How long will it take you to fully understand this language? Saying years would be too charitable.
On the server side, we have Node and npm and hundreds of thousands of npm packages, most of which are pure, unadulterated rubbish. This leads to an Internet house of cards where one errant npm package can bring everything crashing down around your ears. The most infamous example is the “left-pad” debacle.

Comments
Post a Comment