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

Nothing added to machines since the invention of C is foreign to C. In fact, C is hardwares most favored customer. Chip designers tend to favor tuning for traces of instructions generated by C compilers. Some architectures, like RISCV, are so overtuned for C and nothing but C that they forgot to add some instructions (like add with overflow check).


>they forgot to add some instructions (like add with overflow check).

If you actually read the spec, you would have found that they didn't "forget" these.

They carefully studied them and judged the encoding space is better used elsewhere.


I did read the spec. They did forget them.

The “studies” failed to consider non-C languages. These people had no clue how widespread overflow checking us and how much more widespread it’s set to become because of the security upside.


Multiprocessing. Atomics. Vectors. GPGPUs. All foreign to C when they were introduced.


I don't think any of those are foreign to C since:

- All of them were designed with C in mind, so much so that in many cases the C implementation of those features was the first implementation of them. The first SMPs were programmed in C with C APIs. The first time I did atomics was in C. When vector APIs are introduced, they're usually exposed to C first. Etc.

- All of those features fit more elegantly into C than any other language. C runs on GPUs so naturally while most other languages don't run on GPUs at all. So, the things you list are examples of features that are more native to C than they are foreign.




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

Search: