On "C" Programming language
Feb 14. 2017
Originally a Facebook post.
How we got C.
We had Wang
We had DEC
They were competing.
Wang was a refrigerator with BASIC in hardware.
DEC PDP 11 was also a refrigerator with BASIC (and RT-11 or RSTS-11)
There was a *big* fundamental difference between the two refrigerators.
I happen to program both.
Well, first, just take a look at this picture:
... well, I could not find nothing remotely comparable for Wang ...
The architecture of DEC PDP hardware was brilliant and ... well ... perfect. The (macro) assembly was ... perfect as well. The C language (that was built on top of perfect assembly, which was built on top of perfect hardware, which was built (and advertised) by gods) ...
Of course C was perfect.
To produce something (anything), that could not only last, but also make people, who use it - *better*, you need the entire damn stack to be perfect. Try explaining that to modern middle age "rulers".
The distance from the people in the picture to any modern CEO of any computing company is in light years.
Wang is getting it's revenge. Mediocrity always wins. Cheap always wins.
However, the question about the winning is open (for me).
I would say that the gods from the picture had won.
Same old, same old.
What is the stack you are working with / for Pavel? That's rhetorical question, of course.
Update: Mar 29, 2020
There is a nuance, related to the way Pascal stores strings vs how C stores strings. Pascal strings are designed in such a way that it takes a single CPU command to copy the string. Comparing to that elegance, C strings are "poor design". Only it is not. Accounting vs Mathematics.
Update: Sep 27, 2020
Figured out a bit more about C. Clearly the macros are holding a lot of it together and clearly STL was a distraction. There is one guy who keeps writing M4 all his life, but that's wrong approach. Correct approach is mini-perl alike (two step bootstrap).