5 ms·
I can't find it right now, but I've read a study that showed that teaching Python and then another language yields better understanding then just jumping into t
by TJSomething 8y ago
I can't find it right now, but I've read a study that showed that teaching Python and then another language yields better understanding then just jumping into the harder language.
I was able to find the article "What About a Simple Language? Analyzing the Difficulties in Learning to Program" by Mannila, et al., which found that first time programmers found it easier to write bug-free programs in Python than Java and subsequently had a lot less trouble with the details of Java after learning Python, as they did not have to use the mental bandwidth to learn the most basic concepts of programming while also learning static typing and the incantations required to use Java.
- hsivonen 8y agoAs the very first language Python may be a good choice compared to Rust in the sense that one can learn to _program_ with a smaller risk of such up-front frustration as to give up altogether. However, after getting to the point of feeling “I can do this programming thing”, I don't think Python provides any specific help for learning Rust more efficiently than learning a given thing in Rust directly.
- kungtotte 8y agoI think it's sometimes difficult for those that already know how to program to look back and realise what it feels like to not now anything about programming. When you're starting out you're really learning three things at once: General problem solving, the vernacular and methodology of programming (what's a variable, a function, control structures, how is a program run, what are expressions and statements, etc.), and finally the actual language itself. The first two are universal across languages, but the third is very different depending on what you pick. A language like Python makes that part much simpler than a language like Rust. There's fewer hoops to jump through, less to keep track of, and you can dive in applying your newfound knowledge of the first two topics.
- mic47 8y agoUnless the target language is functional language. Actually, prior experience in imperative languages makes it harder for you to move into functional programming language, as you have to unlearn some things.
- AnimalMuppet 8y agoI wonder if the same isn't true going the opposite direction, too - learning functional, then moving to imperative. But it's much less common to do it in that order, so we may not see it happen enough to notice it as a pattern.