Home → Magazine Archive → March 2022 (Vol. 65, No. 3) → Technical Perspective: How Do Experts Learn New Programming... → Abstract

Technical Perspective: How Do Experts Learn New Programming Languages?

By Jonathan Aldrich

Communications of the ACM, Vol. 65 No. 3, Page 90

[article image]

A great deal of academic ink has been spilled about how novices learn programming languages. This is important for educators teaching introductory programming, but for the most part we have failed to ask much about how those students learn languages later. Conventional wisdom is that expertise in programming is highly transferrable from one language to another—so much so that professors and bosses alike routinely expect programmers to pick up a new language by themselves, as required for their class or job. Because new languages continue to emerge, and developers want to leverage their expertise in new settings, learning new languages is a lifelong occupation. What if it is not as easy as we have always assumed?

In the following paper, Shrestha et al. explore this question, and report that learning new languages can be quite difficult, even for programming experts! To make the task easier, developers try applying knowledge about programming languages they know well to a language they are learning. This works often enough to be useful, but it can also lead them astray. In an empirical study of Stack Overflow, the authors identify several situations where programmers ended up with misconceptions about new languages based on incorrectly transferring ideas from languages they know. The paper elegantly frames this in terms of psychology and neuroscience theory, which suggests that old knowledge can either facilitate learning new knowledge or interfere with it.


No entries found