2024-02-21 - Lamenting over Software.
I have no interest in software development anymore...
Or rather what it's become;
When I started out in university the concept of containers and micro-dependansies were new. We did not think of the consequenses of how it would inpact how software was made... As it was simple then.
Now, Micro-Dependencies have put us all in hell. Software that used to be maintenable, and small, and fast, has become slow, big, and a mess.
Before you could just
$ ./configure && make && make install
[autotools],
and you could see what librarise or other dependancies were missing,
and you knew exactly how to install them
to build some software...
Now you have to have thigs like yarn
, npm
,
cargo
, poetry
and npm
to even install the smallest projcet. The problem is not so much the
technology, but rater how it is used: people pull in dependecise for
every littel thing. And those depenedencies pull in even more dependencies.
Sometimes developers pull in a big library that in turn in built on other dependencies. This has made the developer go from understanding how things work, to being so detatched that they have no clue how to fix a problem if it arises.
This has resulted in call-stacks that are over 200 levels long [call-stack]!
I'm running I was this server on an old
EEEPC 1005HA
when I wrote this acticle. I tried to use it
to run a matrix-irc-bridge, a moderation bot (draupnir/mjolnir)
and a matrix-RSS bringe. But all those plans have been shattered
because... Microdependencies that will not download,
install scripts in the micro-dependecies that try to do things
that make no sense... I even tried to use Docker, to build
something... Only for it to fail!
[fail-bulids]
And I have no idea how to fix it, as the depenencies are automatically being hadeled! Out side of my control!
This... This is why I lament software development. It's too automated, too out of our hands. Developers have given up on writing code, and instead have the "There is a library for that"-mentality. Developers do not know how to reverse a string! [reverse-string]
It is as Pastor Manul Laphroaig [poc-or-gtfo] said in his many sermons about abstractions, and not knowing what really is going on underneath all those abstractions... We don't know what is going on in the bits and the bytes of the wire... and that is more true now than ever.
Gustav.
Footnotes
- [autotools]
- Not that I want to imply that Autotools is good... Meson is better... But you get the idea.
- [call-stack]
-
https://greenspector.com/en/the-software-world-is-destroying-itself-manifesto-for-a-more-sustainable-development/
Section: We are (too) abstract - [fail-builds]
-
https://github.com/matrix-org/matrix-rust-sdk-crypto-nodejs/issues/34
- [reverse-string]
- https://www.davidhaney.io/npm-left-pad-have-we-forgotten-how-to-program/
- [poc-or-gtfo]
- https://www.davidhaney.io/npm-left-pad-have-we-forgotten-how-to-program/