It’s not so easy to teach an old programmer new tricks

Newbies rejoice! When it comes to picking up new programming languages, you may have the edge over the old pros.

And yes, that assessment flies in the face of conventional wisdom which says once you know one programming language, it’s easy to pick another. According to that logic, the concepts and methodology you’ve learned from one language can be leveraged to help you quickly pick up another.

But according to a study published last month in Communications of the ACM, faulty assumptions originating from knowledge about a previous programming language can interfere with the acquisition of a new language.

To understand why difficulties occurred, the researchers interviewed 16 professional programmers. Those interviews revealed that “programmers make failed attempts to relate a new programming language with what they already know.”

What are the real world implications? For one thing, hiring managers shouldn’t assume that experienced programmers are always the best choice when a language transition is necessary. And experienced programmers need to remember old habits die hard; they may need to constantly suppress habits acquired from previous languages.

The researchers concluded, “Our findings inform design implications for technical authors, toolsmiths, and language designers, such as designing documentation and automated tools that reduce interference, anticipating uncommon language transitions during language design, and welcoming programmers not just into a language, but its entire ecosystem.”