4 ms·
Language evolves. C is certainly lower level than C# or JavaScript, so even if it no longer fits the definition created decades ago, I don't see a problem with
by Shikadi 8y ago
Language evolves. C is certainly lower level than C# or JavaScript, so even if it no longer fits the definition created decades ago, I don't see a problem with the term evolving to match modern times. People say assembly language when they mean assembly language, (which others have argued isn't low level any more anyway) so using low level to describe a language closer to the hardware seems valid to me. It's interesting that the author argues C could be considered low level on the PDP-11, because by the old definition used back it definitely wouldn't be. That tells me the author's definition of low level is already an evolution of the original definition, so there's no reason the term can't evolve some more.
Wiki definition:
"A low-level programming language is a programming language that provides little or no abstraction from a computer's instruction set architecture—commands or functions in the language map closely to processor instructions. Generally this refers to either machine code or assembly language."
- lmm 8y agoThe whole point of the article is that by a definition like the one you quoted, modern C is not low-level, though PDP-11 era C was.
- Shikadi 8y agoExcept what I'm saying is that PDP-11 era C wasn't low level. It incedentally took advantage of some low level features, but that wasn't by design, and wouldn't have changed its classification as a high level language at the time anyway
- richardwhiuk 8y agoThat's not true - PDP-11 era C isn't either - if you run it on a modern processor. And it's doubtful it even was then.
- lmm 8y ago> PDP-11 era C isn't either - if you run it on a modern processor. And it's doubtful it even was then. With a modern compiler C isn't low-level. But under PDP-11 era C compilers, C really did map closely to processor instructions.
- Shikadi 8y agoNot closely enough that it would have been considered low level at the time, if you look at the instruction set C isn't even close to one-to-one with the machine instructions. See https://en.m.wikipedia.org/wiki/PDP-11_architecture#Myth_of_PDP-11_influence_on_programming_languages https://en.m.wikipedia.org/wiki/PDP-11_architecture#Myth_of_... for why people might mistakenly think otherwise