Some people who teach programming languages claim that learning a new language is easy if you learn one language. However, Mark Guzdial, a professor of electrical engineering and computer science at the University of Michigan, questions these claims and says they don’t make sense for modern programming language acquisition.
He was recently told by a computer science educator at another school that the programming language he’s studying for the first time isn’t that important, so he shouldn’t care. He said that the idea that if a concept can be learned with certainty in the first programming language, that the same concept can be applied to a programming language with a different syntax, has existed for a long time. Learning a second programming language is not easy. Even if you can switch to another programming language, it’s not perfect.
Of course, he points out that it is important for students majoring in fields other than computer science to study a programming language first. Many students who want to learn a real programming language want to learn a language that will benefit their area of expertise and community. For example, if you want to become a data scientist, learning Python is more meaningful than C language, and if you are interested in visual design, you are more motivated to learn processing than Metalab.
He argues that not everyone learning a programming language these days wants or needs the ability to switch languages as easily as a computer scientist. In recent years, it has become increasingly common for many people to think that the first programming language they learn is not important.
In fact, he believes that there was a certain degree of accuracy in the notion that the first programming language to be learned was not an important issue in the very early days of computer science. By the time computer science was established as a discipline in the late 1960s, the emphasis was on the mathematical foundations of programming. Therefore, computer science majors at that time were talented people with a rich mathematical background compared to modern students.
His hypothesis is that the difference between the acquired programming language and the new language is nothing more than a difference in notation because the fact that the programming language is different for people with various mathematical backgrounds does not change that they are built on the same mathematical basis. A person who is good at math, where there are several authentication methods in one theorem, was able to acquire several programming languages relatively well.
However, in modern times, even elementary school students are learning programming languages, and it is clear that the average math literacy of programming language learners has gone down. Even people who don’t like math may want to use programming languages for work or hobby. Some of them are for the purpose of talking with programmers about their work, even though they are not developing software themselves. It is pointed out that it will be difficult for such a person to learn several programming languages.
Today, learning tools and the evolution of programming languages make it possible to learn a language without a mathematical background. However, the notion that learning one language makes learning another language easy is not likely to be true. Related information can be found here.