Here we go again: why is it difficult for developers to learn another programming language?
Nischal Shrestha, Colton Botta, Titus Barik, Chris Parnin
Abstract
Once a programmer knows one language, they can leverage concepts and knowledge already learned, and easily pick up another programming language. But is that always the case? To understand if programmers have difficulty learning additional programming languages, we conducted an empirical study of Stack Overflow questions across 18 different programming languages. We hypothesized that previous knowledge could potentially interfere with learning a new programming language. From our inspection of 450 Stack Overflow questions, we found 276 instances of interference that occurred due to faulty assumptions originating from knowledge about a different language. To understand why these difficulties occurred, we conducted semi-structured interviews with 16 professional programmers. The interviews revealed that programmers make failed attempts to relate a new programming language with what they already know. 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.
Ask about this paper
Your agent reads all of it.
Lune indexed this paper to the last equation, along with the top-tier papers that cite it. Ask a question and the answer quotes them.
Your agent calls
Luneget_paper_fulltext
Free to start. No credit card required.
Terminal
Install the CLIlune papers fulltext 9ee5cf45-72d7-4cc8-b32e-313f417b3b24Cited by top-tier papers4
- Leaving My Fingerprints: Motivations and Challenges of Contributing to OSS for Social GoodYu Huang, Denae Ford, Thomas ZimmermannICSE 2021 · 36 citations
- Onboarding vs. Diversity, Productivity, and Quality - Empirical Study of the OpenStack EcosystemArmstrong Foundjem, Ellis E. Eghan, Bram AdamsICSE 2021 · 23 citations
- Docable: evaluating the executability of software tutorialsSamim Mirhosseini, Chris ParninFSE 2020 · 8 citations
- Toward Human-Quantum Computer Interaction: Interface Techniques for Usable Quantum ComputingHyeok Kim, Mingyoung Jessica Jeng, Kaitlin N. SmithCHI 2025 · 7 citations
Related papers
- Demystifying Issues, Challenges, and Solutions for Multilingual Software DevelopmentHaoran Yang, Weile Lian, Shaowei Wang, Haipeng CaiICSE 2023 · 11 citations
- A randomized controlled trial on the effects of embedded computer language switchingPhillip Merlin Uesbeck, Cole S. Peterson, Bonita Sharif, Andreas StefikFSE 2020 · 8 citations
- Efficient Detection of Test Interference in C ProjectsFlorian Eder, Stefan WinterASE 2024 · 2 citations
- Learning and Programming Challenges of Rust: A Mixed-Methods StudyShuofei Zhu, Ziyi Zhang, Boqin Qin, Aiping Xiong et al.ICSE 2022 · 27 citations
- Concept-Annotated Examples for Library ComparisonLitao Yan, Miryung Kim, Bjoern Hartmann, Tianyi Zhang et al.UIST 2022 · 14 citations
