Sign In

Communications of the ACM

Research highlights

Technical Perspective: How Do Experts Learn New Programming Languages?

question mark inside coding brackets in a word balloon

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

Log in to Read the Full Article

Sign In

Sign in using your ACM Web Account username and password to access premium content if you are an ACM member, Communications subscriber or Digital Library subscriber.

Need Access?

Please select one of the options below for access to premium content and features.

Create a Web Account

If you are already an ACM member, Communications subscriber, or Digital Library subscriber, please set up a web account to access premium content on this site.

Join the ACM

Become a member to take full advantage of ACM's outstanding computing information resources, networking opportunities, and other benefits.

Subscribe to Communications of the ACM Magazine

Get full access to 50+ years of CACM content and receive the print version of the magazine monthly.

Purchase the Article

Non-members can purchase this article or a copy of the magazine in which it appears.
Sign In for Full Access
» Forgot Password? » Create an ACM Web Account