| ▲ | applfanboysbgon 3 hours ago | ||||||||||||||||||||||||||||||||||||||||
> The article mentions assembly once. But it's not an argument about how assembly is "low level" It is, though: > Think of programming languages as belonging on a continuum, with assembly at one end The article explicitly states that assembly is the end of the continuum, that it is the lowest of the low-level. Therefore, it is not making the argument that assembly is not low-level. But the exact same arguments it makes to distinguish C as not low-level can be applied to assembly. The entire article is based on a fundamental logical error. | |||||||||||||||||||||||||||||||||||||||||
| ▲ | mustache_kimono 2 hours ago | parent [-] | ||||||||||||||||||||||||||||||||||||||||
> The article explicitly states Again -- I think your impression is the result of the contentious tone of the article. Yes, the article explicitly states:
But then spends the rest of the article debunking this commonly held notion, specifically and explicitly re: C, but also implicitly re: assembly.See the very next section "FAST PDP-11 EMULATORS"
The author obviously knows that assembly suffers from the same abstraction penalty. The author is saying, because C and processor design has been so tightly intertwined, we cannot program "close to the metal" because "the machine" is actually a very fast PDP-11 emulator.See also the section "IMAGINING A NON-C PROCESSOR", where the author explicitly discusses alternative processor designs (which would of course require new assembly languages!). The author is actually trying something like a reductio on your mental model. When the author states "Think of programming languages as belonging on a continuum", the author is really saying "This is everyone's impression, but ... when you look a little deeper you see the cracks (which are actually contradictions)." | |||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||