Oh no, not another circle jerk about Linux being unusable
My biggest complaint is Octave which I used for many years. It cannot be compiled on Solaris because the autoconf crap is so screwed up.
Would you say Autoconf is such a mess that it would be worthwhile transitioning to something newer like CMake?
Oh, please, no. Gnu make(1) works just fine if you know how to use it. KISS
Please come back once you had to maintain a large software system that has to be both multi-platform and support multiple toolchains (e.g. Visual C++ and gcc/clang).
Octave
is that sort of system and it could certainly benefit from a more modern build system. Make and autoconf are absolutely horrid for applications like that - the original complaint about Solaris (a basically dead OS with little support these days) is only a case in the point, autoconf was notorious for these compatibility issues and hacked up config scripts that broke as soon as the system was a bit different than what the authors expected. If you have never needed that, fine. But don't assume that nobody else does.
The rest I am not going to quote one by one but what I see as common complaints here:
* Lack of compatibility between Linux distros - the are actually compatible fairly well but if you are worried about this, pick one that is well supported and
stick with it (and software distribution issues are addressed below).
* Systemd bashing - can we, please, finally drop this nonsense fight? Most people who complain about it here seem to do so basically only because:
a) it is different than what they were used to
b) it is "not unix philosophy"/Lennart Poettering is an ass -
, that's more a political than technical discussion
c) it has to be some evil conspiracy pushed on everyone by Redhat -
- it actually
improves compatibility between the distros (complaint above - before every distro used to have different init setup, different init scripts, different way of handling system services and supporting that when writing and distributing software was a nightmare).
Also most people have no clue what systemd really does and why (no, it isn't just an init system and there are good reasons for it). Yes, it is different than just a bunch of scripts symlinked from /etc/rc.d but it is not
that different or complicated to use and there are plenty of advantages (such as automatic supervision of your services).
And cdev - you are surely aware that the binary logging is not the default on most installations, right? And that you can forward the logs into regular text files, such as /var/log/messages, exactly as before? (And most distributions do exactly that, fyi).
If all you need is a bare bones Linux server that runs somewhere in a container you obviously don't need systemd. But that is not all uses, especially not for systems that are meant to be able to support a desktop or are expected to deal with device hotplugging, dynamic network reconfiguration (wifi ...) and so on. General purpose distributions need to be able to handle that and systemd has made that much simpler.
Lennart has addressed these complaints here:
http://0pointer.de/blog/projects/the-biggest-myths.htmlYou don't need to agree with him but at least read that first before bashing something with bogus arguments.
* "FPGA/MCU tools work on one distro but not another and I have to keep a separate VM for each!" - sorry, complain to the vendor of those tools. It is not Linux's fault that the vendor doesn't put in the effort to package their software properly, even though it is perfectly possible to do so, even supporting multiple distributions - see e.g. Flatpak or AppImage or how Steam distributes their games on Linux.
When a Windows installer makes a mess of your system by installing all sorts of random crap all over the machine (drivers, background services, updater, DRM ...) and/or fails at it, nobody seems to blame Windows for it neither.