Theme 1 – What “low‑level” really means is debated
Many commenters argue that the term is ambiguous: it can refer to proximity to the ISA, lack of runtime indirection, or the ability to control hardware directly.
- “To me the definition of low‑level vs high‑level strictly comes from the indirection the language runtime provides for you. If the language compiles down to asm, it's low level.” – rfgplk
- “I think that would be confusing. Intuitively ‘low level language’ describes the language. Your definition actually describes the nature of the compiler implementation.” – bee_rider
- “Really a better title would be something like ‘a modern x86 processor is not a PDP‑11.’” – bee_rider
Theme 2 – C (and even assembly) hides modern CPU features
Several participants point out that contemporary CPUs rely on out‑of‑order execution, speculative execution, microcode, and deep pipelines, which are not exposed by C or standard assembly, making them poor “close‑to‑the‑metal” languages for today’s hardware.
- “C does not expose modern CPU features like speculative execution… therefore C is not low‑level.” – applfanboysbgon (quoting the article)
- “Even vp2intersectd … takes >1 cycle with 6 levels of pipelining… if literally not even a chip's ISA is 'low level' then the term is effectively meaningless.” – weitendorf
- “Assembly expose instructions that C was never meant to work with… LLMV intermediate representation is probably more low level (closer to the real compute model it runs on).” – aDyslecticCrow
Theme 3 – Alternatives exist for truly low‑level control
Commenters suggest ways to get nearer to the hardware: using intrinsics/assembly blocks, GPU kernels (CUDA, shaders), languages with explicit SIMD or LLVM IR access, or hardware‑description languages for FPGAs.
- “Better control over the async nature of the hardware is part of what makes GPU kernels efficient… I think most languages lack good (i.e. non‑intrinsic‑based) support for wide registers or anything SIMD related.” – legobmw99
- “Probably Mojo, it doesnt just talk to your CPU it also will talk to your GPU bypassing the need for CUDA.” – giancarlostoro
- “You can take python and write an LLVM frontend for it and it would instantly become a low‑level language.” – rfgplk
- “Verilog is very much NOT a low level language… it’s a hardware description language.” – stephen_cagle (showing the contrast)
- “If you can quickly and easily drop into machine‑level instructions to provide explicit implementation semantics… that sure seems ‘low level’ to me.” – weitendorf (referring to intrinsics)