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

I am wondering if this excellent essay has surfaced again because I just tweeted it in reply to a popular Twitter account.

I dispute your conclusion, and this is the reasoning, as expressed in the article:

"High level" is tricky to define, because high is a relative assessment. But "low level" has a clear, agreed meaning: relatively similar to the machine's instruction set and architecture; close to the metal; comparable to assembly language.

And the point of the article is that C is close to the architecture of a PDP-11. Modern CPUs are nothing like the PDP-11 and haven't been for a third of a century or more. C models the architecture of a 1970s minicomputer, and 21st century computers are nothing like 1970s minis – they just run similar OSes.

If C is not close to the real architecture, then it's not low level.

The fact that there's nothing mainstream which is closer is irrelevant. The C programming model is nothing like modern multicore SIMD superscalar 64-bit CPUs with out-of-order execution, branch prediction etc.

If it isn't close to the metal, then it isn't low-level. C is neither any more. QED.



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: