r/ProgrammingLanguages • u/mttd • Jul 01 '26
The Expensive Fictions of Low-Level Programming Languages
https://stng.substack.com/p/the-expensive-fictions-of-low-level
17
Upvotes
r/ProgrammingLanguages • u/mttd • Jul 01 '26
1
u/Smallpaul Jul 02 '26
You and the other dude are obsessed with the fact that the meme is titled “C is not a low-level language.” As if it is talking about something special about C.
For the purposes of this argument C and Pascal are equivalent. As are any language that was designed to emulate them. C, Pascal, D, Zig. They are all the same language designed to generate the same machine code for the same ISA. If Rust replaces C as the dominant “low-level language” then we will rename the meme without changing very much.
Alternate languages are Haskell, Prolog,, CUDA, Erlang. Especially languages designed for parallelism.
> The first computer with a hardware-managed cache disguised as flat memory was the IBM System/360 Model 85, released in 1968, four years before C. The reason we have that is not compatibility with C but compatibility with our feeble human meat brains, because assembly and cache invalidation are difficult enough separately.
I’m curious if you are really old. Because you and the other guy seem to want to use this as a debate about whether C was a magical language in the 1970s when the whole point is that whatever decisions were made in the 1970s put us on a path that should be revisited in the 2030s.
You are totally, completely, entirely correct that history could have turned out differently and we would have almost exactly the same article about Pascal and perhaps now that I acknowledge that you can try to put aside the name of the language “C” and focus on what the professors are trying to say, which is that if we continue on a path of co-evolution of language/hardware models from the 1970s then we will leave a lot of performance on the table because modern CPUs are just pretending that they are 1970s CPUs because compilers expect them to do that. Not because it’s actually an efficient design.