Is the theory that 'learning one programming language makes it easy to learn another' true?



Many people who teach programming languages claim that 'if you can learn one language, you can easily learn a new language.'

However, Mark Guzdial, a professor of electrical engineering and computer science at the University of Michigan, casts doubt on this claim, claiming that it doesn't fit the reality of modern programming language acquisition.

Why Did We Ever Think the First Programming Language Didn't Matter? | Blog @ CACM | Communications of the ACM
https://cacm.acm.org/blogs/blog-cacm/253393-why-did-we-ever-think-the-first-programming-language-didnt-matter/fulltext

Guzdial recently heard from a computer science educator at another school that 'the programming language you study first doesn't really matter, so don't worry about it.' They believed that if students could learn the concept of programming languages well, they could apply it to the next language they learned.

The idea that 'if you can learn a concept well in the programming language you learn first, you can apply the same concept to another programming language with a different syntax' has been around for a long time . However, this cannot be applied to programming languages with different basic concepts, and even from Guzdial's empirical evidence, it is not easy for many learners to learn a second programming language. “You can switch from one programming language to another, but it's not seamless,” says Guzdial.

Guzdial points out that the first programming language to study is especially important for students majoring in fields other than computer science. In fact, many students who want to learn a programming language will want to 'learn a language that is useful in their area of expertise and community.' For example, students who want to become data scientists make more sense learning R or Python than C, and those interested in visual design should be more motivated to learn Processing than MATLAB.



'Not everyone learning a programming language today wants or needs the ability to switch languages as easily as a computer scientist,' Guzdial said. Recently, he said that he has been thinking more and more from the perspective of 'Why do many people think that the programming language they learn first is not important?'

In fact, Guzdial believes that in the early days of the field of computer science, the idea that 'the first programming language you learn is not an important issue' had some correctness. When computer science was established as an academic discipline in the late 1960s, programming focused on the mathematical foundations. Therefore, the students majoring in computer science at that time had a rich mathematical background compared to most modern students.

Guzdial's hypothesis is that 'for those with a rich mathematical background, different programming languages are still based on the same mathematical foundation, so they have been mastered. The difference between a programming language and a new language is just a difference in notation. ' Just as there are multiple proofs in one theorem, those who are good at mathematics are good at approaching the same idea from various directions, and these people are good at learning multiple programming languages. ..

However, in modern times, even elementary school students are studying programming languages, and it is clear that the average mathematical background of programming language learners is declining. Even people who are not good at math may want to use a programming language for work or hobbies, and some learners say, 'I don't develop software myself, but I want to be able to talk to programmers about tasks.' Exists. Guzdial points out that learning multiple programming languages can be difficult for these people.



At the time of writing the article, learning tools and programming languages have evolved, so you can learn a language without a mathematical background. However, the idea that 'learning one language makes it easy to learn another' is unlikely to apply, and researchers and teachers need to be aware of this when teaching and educating students. Guzdial said.

in Note, Posted by log1h_ik