Actually, at this point I *don't* really consider C to be "high-level". It's not assembler, to be sure, but it's a *big* step down from genuinely high-level languages like Haskell or anything in the ML family. Indeed, it's a pretty huge step down from even C# or Java.
C lives in the borderlands, IMO. It's high-level syntax, but it intentionally exposes a huge amount of the underlying guts of the machine so that you can fiddle with them. I'd say it's about equidistant between a good assembler and ML. So I do think the ambiguity is real...
Since I live in Macro-Land, I consider C to be quite low-level ("Pointers?! You mean to memory?!?!"). I understand the ambiguity -- I date a mainframe coder who speaks-to-metal. :)
(no subject)
C lives in the borderlands, IMO. It's high-level syntax, but it intentionally exposes a huge amount of the underlying guts of the machine so that you can fiddle with them. I'd say it's about equidistant between a good assembler and ML. So I do think the ambiguity is real...
(no subject)