Hacker News new | ask | show | jobs
by throwaway87543 976 days ago
Other than assembly, which barely qualifies as a language, what programming language is lower than C?
8 comments

It does not need to be a relative statement in order to be correct.

The statement "C is not close to the instruction set of a modern CPU" does not need to be validated by specifying examples of languages that are closer.

But if you're going to say that "C is not a low-level language", then yeah you kinda do need other languages beneath it.
Well, firstly, I'm not saying it.

But no. That is what I meant when I said this is not a relative statement.

If the title said "C is not the lowest-level language" then your objection would be valid... but it doesn't and it's not saying that.

But before I go into some lengthy explanation: have you read the article, or are you responding to the title alone?

In general terms, any language aiming to be lower-level than C should

- have an "abstract" machine that is more concrete than C (and by extension less portable)

- be easier to lower into optimal assembly (especially loop ops)

- give you strong and precise compile-time guarantees about memory layout (padding, bitfields), variable sizes, register spilling, stack usage, etc.

Plenty to chose from since 1958's introduction of JOVIAL, when one cares to research what has happened in the world of systems programming outside Bell Labs, and UNIX/C taking over the server room.
Forth/joy maybe?
LLVM IR
Fortran, maybe?
B
Or T3X9, if you're prefer Algol-style syntax.
I think there is an argument that Brainfuck [0], et al, is lower than C, given that it eschews variables and functions.

[0] https://esolangs.org/wiki/Brainfuck

Low level means close to the processor, not small in scope.

You could argue brainfuck is machine language for a theroetical infinite tape machine, but such a machine can only exist when implemented in high-level software.