I never had any horse in systemd/init.d and wasn't too familiar with the issue until I watched this presentation. systemd seems reasonable enough after considering it.
Alpine & Gentoo are on OpenRC, Void is on runit, the BSDs have always had their own init, everything else I can think of is either on systemd, or hardly significant.
I mean, sysvinit was horrible, and systemd is horrible in very different ways, just wondering who and why is holding on.
Indeed, back then it as "Yet another Markup Language" (https://yaml.org/spec/history/2001-12-10.html). I remember using it to write blog posts with static generators, like webgen around 2004.
Dockerfile and "market place" (hub) were the big ones in my opinion. Even though Dockerfile syntax was a mess in the beginning, being able to specify a base and a few commands was a huge improvement in usability. Then running build and push to make your image widely available. Collaboration was so easy compared to the alternatives, Linux jails, jailer, debootstrap, lxc and such.
There are outsourcing firms whose sole job is to create unit tests. If there is one feature these LLMs do well right now, today, it is generating unit tests well. QA engineers in general were already treading on thin ice.
I used Perl for LAMP apps in the 90ties. Perl lost webdev to PHP (some Ruby) and science stuff to Python. Fans of OOP/functional style programming went to Ruby.
System administration never fully replaced awk/sed/bash with Perl and the new wave was all configuration management, like chef and puppet.
Python was considered to be a "clean", algol-style language, so universities started teaching it twenty years ago. Only logical after teaching Pascal for decades. Students kept using Python, so now there are lots of data science projects around.
I'm happy the gigantic ball of ill-maintained shell scripts from the last century is gone from my systems.