I agree. At some point in the past Unix was also new. There is a time for stability, but also time for changes. In fact, the most popular distributions such as Debian, Ubuntu, Fedora or Arch largely operate on the principles that have not changed since the 90s. There is definitely a space to do things better now. I'm personally excited about GNU Guix, I think is one of the most innovative distributions, just on the basis of its consistency alone. They use a single programming language to implement all aspects of the OS: configuration, system services, packaging. NixOS is obviously another notable one, though it is not as tightly integrated because it still relies systemd and the nix language is quite arcane to use.
> They use a single programming language to implement all aspects of the OS: configuration, system services, packaging.
I can understand the appeal of the idea, but this feels like a significant mistake. It would be like an automaker saying, "We are using exclusively 17 mm bolts for fasteners." Sure, it saves you time with finding a wrench. But I can't begin to imagine the number of compromises or additional complexities you introduce this way.
It seems like a goal founded in an academic ideal rather than a design benefiting from engineering practicalities.
I totally understand the concern but I think that it’s well within reason that your analogy overstates the issue. I haven’t given it all that much thought, but to me it seems reasonable that there are enough different use cases that are similar enough to still get a net benefit from a shared language. How much of this language fragmentation is just a reflection of Linux ecosystem fragmentation as opposed to e.g. “the right tool for each job”? I’d bet a fair bit.
> "We are using exclusively 17 mm bolts for fasteners." Sure, it saves you time with finding a wrench. But I can't begin to imagine the number of compromises or additional complexities you introduce this way.
I spend 10 hrs a week under cars, and i say, hell yeah! I want this! For all cars!
You want to use 17 mm bolts to hold your fuel cap on? And your wiper blades? And your rear view mirror?
Some standardization is a great idea, but including the word "all" is what makes it academic and impractical. And if you're not going to be absolutist about it, then you're just using marketspeak.
I would say that software is meant to be chopped up and glued together much more flexibly than the parts of a car. It is more like saying "all LEGO pieces have studs 5mm apart center to center".