5 ms·
it could be better that you learn a commercially dead language first. Why? It does not follow from your argument, you just make that claim - one that I find
by Noseshine 10y ago
it could be better that you learn a commercially
dead language first.
Why? It does not follow from your argument, you just make that claim - one that I find very strange.
- throwaway729 10y ago> 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 enough to be able to understand what "public", "static", or even "void" mean is at best distracting. At worst, it teaches students to use programming languages in highly unprincipled ways.
- smallnamespace 10y agoAren'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.
- toast0 10y agoBecause you will not learn the first assembly as well, code you write in the first language is going to be worse than what you write in the second language you learn (even after you learn the second one). It is better to learn one and throw it away.
- Noseshine 10y agoYou seriously claim you have to learn a "dead assembly language" in order to learn it right? Can an argument possibly be any more ridiculous? Can it even be called an "argument", or is it just random noises at this point?