3 ms·
That depends on the definition one uses. The traditional, but quite useless one is everything above assemblies is high level, only those are low-level PLs. I p
by kaba0 4y ago
That depends on the definition one uses. The traditional, but quite useless one is everything above assemblies is high level, only those are low-level PLs.
I prefer the one of “what features does the language give you idiomatic control of”. In that vein, Rust is more low-level than by having simd support.
- JohnFen 4y agoInteresting. I wasn't aware there was such a divergence in understanding of what counts as "low" or "high" level. I thought everyone just went by the amount of abstraction of the machine code. So machine code is no abstraction, assembly is one level up, C is another level up, etc. The less the language "looks" like machine, the higher the "level" of the language. The inclusion of SIMD support, in my view, falls in the mid-level category. It's abstracting the differing parallel computing implementations of different processors to make them all usable with the same code. That's not low-level in my book. I'm not saying this to say that your stance is incorrect -- the "level" of a programming language has never been a technically well-defined thing anyway. I'm just saying this to express that my eyes have been opened to a perspective I was unaware of.