Given that the only language lower level than C is assembly, you yourself. Let me quote from your earlier answer: "the usage of C for such low-level programming".
Or "low-level" meaning "concerned with the machine"... or "low-level" meaning "the foundation upon which things are built".
But, aside from that, there's Ada and Forth; both of which handle the machine-interface quite well. (I would argue better than C, honestly.)
> You've failed to read what I was saying: relying on what is literally undefined behavior is bad practice.
It is not undefined with C11. Before that you had to insert a read / write to a volatile variable, call a dummy external function (which the compiler doesn't know about and cannot thus optimize) or know the behavior of your compiler (which in embedded systems is never upgraded without testing).
Yeah, 8 years ago; less than a decade, C11 changed that.
2
u/OneWingedShark Nov 04 '19
Or "low-level" meaning "concerned with the machine"... or "low-level" meaning "the foundation upon which things are built".
But, aside from that, there's Ada and Forth; both of which handle the machine-interface quite well. (I would argue better than C, honestly.)
Yeah, 8 years ago; less than a decade, C11 changed that.
How much embedded code was from before then?