3 ms·
You are exactly right! The "chicken and egg" problem is a large part of why these favorite language X operating systems slowly evolve into partial implementati
by thesuperbigfrog 7y ago
You are exactly right! The "chicken and egg" problem is a large part of why these favorite language X operating systems slowly evolve into partial implementations of existing operating systems. What good is the favorite language X operating system if there is no software for it?
But wait a second, if the favorite language X operating system would implement these handful of POSIX APIs then look how much software could probably run with just a few tweaks. Except the POSIX APIs do not get implemented completely right. Or they suffer from terrible impedance mismatches due to the design differences or safe ideals that have to be relaxed in order to have them work. For example: Ada has unchecked conversion, unchecked deallocations, etc. Rust has unsafe.
A big part of the reason that GNU and Linux have succeeded is that they implemented Unix APIs with some innovations and improvements along the way.
- thesuperbigfrog 7y agoPerhaps this is the crossover between Henry Spencer's observation about Unix ("Those who don't understand Unix are condemned to reinvent it, poorly.") and Greenspun's tenth rule ("Any sufficiently complicated C or Fortran program contains an ad-hoc, informally-specified, bug-ridden, slow implementation of half of Common Lisp."). The crossover is: "Any sufficiently complicated, real-world operating system contains an ad-hoc, informally-specified, perhaps buggy, implementation of half of Unix."