Is the madness ever going to end?
Published on 2022-01-11. Modified on 2022-01-23.
There is something seriously wrong with the IT industry. It's so bad that I haven't managed to find a single industry with the same massive amount of stupidity, with the exception of perhaps the fashion industry.
Why is it that people keep inventing so-called "revolutionary new ways" of doing the same old thing? And they do that by adding more and more unnecessary complexity on top of existing technologies.
Electron and React Native Desktop are supposed to be a revolutionary new way of making desktop applications. Except they are not, and they eat up all the memory you have and still ask for more. They constantly crash and have no value over a native desktop application what so ever - well, perhaps with the only exception that now a 2 year old baby can make something shiny that you can click on with your mouse.
No, you're a dinosaur! It's the future! It's the modern way of doing things! Native desktop apps are dead!
PHP is a programming language mainly for web development. It is made in C, a pure procedural language. PHP was originally a templating language and it still is a templating language at the core, yet that is apparently not good enough. Rather you have to put a completely different template system on top of PHP, also written in PHP, which now makes the application load many times slower.
It's the modern way of doing things! We don't do old fashion web development any more!
All web servers have a built-in router. Whether it's NGINX, Apache, lighttpd, Caddy or something else. But no. Let's not use that. Let's add yet another router on top of that with a single entry point and then basically re-write every single request before it gets served.
It's the modern way of doing things! Anyone who doesn't use a single entry point in their web app don't know what they are doing!
Why in the world has this idiotic trend of abstracting everything away by layers upon layers of unimpressive complexity gained such a strong foothold in the industry? Has everyone except the "UNIX greybeards" gone mad!?
It is a real shame and a serious worry that the young generations grow up thinking that this so-called "modern ways of doing things" is correct and the best way.
Programming is engineering; it's not something where you throw stuff at the wall and see what sticks and just assume that programming languages, browsers, and operating systems are made of magical dust.
Someone wrote me an email pointing out the famous saying by Brian Kernighan, who has stated that:
Programmer time is expensive; conserve it in preference to machine time
But that does not apply here at all.
Firstly, we live in a time in which the environmental concerns needs to be considered too. It is irresponsible to keep throwing more hardware at a problem that doesn't need to exist in the first place.
Someone else wrote me another email. The person assumed that I have no experience in web development, or that I don't have any experience in larger projects, and that is the reason why I write the above.
I have been doing web development since about 1997 and I have worked at a large ISP and at Google (as a contractor) and I have been involved in many different projects with many different companies and many differently sized teams.
A company may save both time and money in the beginning because, yes you can get something running quickly, but they always pay a heavy price in the long run.
Someone on Hacker News commented on this article with the following comment, which sums it up pretty good:
I have been in professional web development since 2004 and I mostly agree with the author that there are massive amounts of groupthink going on. "Modern" web development has standardized in tool stacks which are insanely complicated, far beyond anything that is warranted in most cases. We have forgotten how to make simple things in simple ways.
At a minimum you need node, npm, webpack, babel, an spa framework, a frontend router, a css transpiler, a css framework, a test runner, a testing functions library, and a bunch of smaller things, and that's just what is "needed" to build a static website with a bit of interaction. We're not even talking about the dockerized insanity that happens as soon as you want to slide an API under that beast.