3 ms·
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 le
by smallnamespace 10y ago
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 simple assembly is not useful, and the goal is purely to learn the 2nd language.
Like, let's say learning a simple assembly makes learning the second language 35% easier. Then learning both languages is better only if the second language would normally take 3x more time to learn.
However, if every subsequent language is also easier to learn, and you intend to learn many more languages, then maybe starting from a simple language will actually be best.
Talking about x86 in particular, it's pretty easy to define a simple, teachable subset of x86 and then expand from there.
- throwaway729 10y agoNo, the claim is that there's a strict ordering of concepts when learning an assembly (or any language). 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.