Earlier quoted context omitted.
> Why? Because it's a simpler language that contains the key ideas and skills that are trying to be taught, and doesn't contain other distracting details that can't be taught until after basic concepts are well-understood. Same reason lots of people don't like using Java as an intro language even though it's wildly popular. Having students type "public static void main..." a hundred times a semester before knowing en…
Aren't you making two claims that are unrelated? 1. Learning a simple assembly makes learning a second assembly easier 2. Therefore, it's more efficient to learn a simple assembly first The 2nd statement does not directly follow from the first, because the total time to learn two languages can still be greater than the time to learn the 2nd language alone, even if there is a synergistic effect. I'm assuming here that…
The conjecture is that using a simpler language makes it easier to teach the basic concepts, and that more advances features get in the way of teaching those basic concepts.
I'm not saying this is true, just that it's a reasonable hypothesis.
Learning a simple assembly may making learning a second assembly easier, but that's beside the point -- you need the basic concepts before any of the advanced/more complicated features become useful. And if the more advanced language gets in the way of learning the basic concepts, that could justify using a simpler language.
This is a hotly contested topic in CS education research, and we're not going to come to a consensus here.