C would probably not have survived unless it had this flexibility.
But its not justa historical thing. Today there are modern platforms like DSPs that have 32bit sized char, because that is the smallest addressable type. These platforms depend on C for tool chains, even if most "portable" C wont run correctly on them. The fact that you can build hardware like that, and not have to invent a new language / dialect to program them is a huge win for the world.
<edit> I didnt see the footnote about DSPs at first read </edit>
I don't agree. UNIX was an extremely niche operating system until Linux won the data center, at that time both C and C++ were already extremely popular outside the UNIX world. C won because it was so easy to adapt to new hardware architectures (even GPU shading languages are just minimally extended flavours of C and C++).
That's way way later. UNIXes were the ones running in 70s and 80s. WindowsNT and Linux only later came to take a slice and, still later on, Linux won the day. How anyone would consider UNIX "niche" is beyond me.
IBM mainframes added a UNIX subsystem in the 1990s, starting with UNIX for MVS, nowadays z/OS UNIX.
DEC's VAX/VMS became Open VMS when UNIX/POSIX support was added in the early 1990's as well.
Other mainframe systems added similar POSIX environments.
The way Windows NT OS linage works isn't something novel, it is how mainframes have introduced multiple OS personalities and virtualisation modes since the late 70's.
quelsolaar · · focus · HN ↗
C would probably not have survived unless it had this flexibility.
But its not justa historical thing. Today there are modern platforms like DSPs that have 32bit sized char, because that is the smallest addressable type. These platforms depend on C for tool chains, even if most "portable" C wont run correctly on them. The fact that you can build hardware like that, and not have to invent a new language / dialect to program them is a huge win for the world.
<edit> I didnt see the footnote about DSPs at first read </edit>
pjmlp · · focus · HN ↗
flohofwoe · · focus · HN ↗
prerok · · focus · HN ↗
fragmede · · focus · HN ↗
prerok · · focus · HN ↗
fragmede · · focus · HN ↗
pjmlp · · focus · HN ↗
DEC's VAX/VMS became Open VMS when UNIX/POSIX support was added in the early 1990's as well.
Other mainframe systems added similar POSIX environments.
The way Windows NT OS linage works isn't something novel, it is how mainframes have introduced multiple OS personalities and virtualisation modes since the late 70's.