Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

The difficulty is that in the days when C was being designed, computers were much more irregular than they are today. There were one's complement machines, machines that didn't have power-of-two word sizes, no standardization of character sets, IEEE floating point hadn't been invented yet. The irregular machines weren't fringe stuff, they were the dominant architectures (IBM 360/370, DEC PDP-10, Pr1me, just a big collection of weird stuff). And compiler technology was much less advanced. So C was a messy compromise.


High level system programming languages are about 10 years older than C, which in its early days only cared to target the PDP-11 model used for the first UNIX rewrite.

Authors just chose to ignore what was already out there and do their own thing instead.

UNIX's success in the universities made the rest.


Well I guess it is lesson for both: Those who think technology is better because it is so successful and who think technology will be successful because it is so much better than other things.


C was not "high level" system language at the beginning. It was almost pretty skin for assembler.


Indeed, and the big mistake what that many decided to use it for anything other than writing kernels.


Iirc, C was also designed by committee, and a lot of industry players got some of their grubby hands on the spec... (I could be wrong) but I belive the utter mess that is short/long/char sizes arises from hardware manufacturers wanting their code to be "trivially portable" across platforms with different machine words.


No, the different sizes were done by the original creators, not by some committee. They had to: a PDP-11 is a 16-bit machine, a PDP-10 is 36-bit, etc.


thanks, I think I was crossing stories between the C committee and the IEEE 754 committee.




Consider applying for YC's Winter 2026 batch! Applications are open till Nov 10

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: