{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,4,30]],"date-time":"2026-04-30T14:29:36Z","timestamp":1777559376518,"version":"3.51.4"},"reference-count":25,"publisher":"Association for Computing Machinery (ACM)","issue":"3","license":[{"start":{"date-parts":[[2022,2,23]],"date-time":"2022-02-23T00:00:00Z","timestamp":1645574400000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"funder":[{"DOI":"10.13039\/100000001","name":"NSF","doi-asserted-by":"publisher","award":["1559593, 1755762, 1814798"],"award-info":[{"award-number":["1559593, 1755762, 1814798"]}],"id":[{"id":"10.13039\/100000001","id-type":"DOI","asserted-by":"publisher"}]}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["Commun. ACM"],"published-print":{"date-parts":[[2022,3]]},"abstract":"<jats:p>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 semistructured 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.<\/jats:p>","DOI":"10.1145\/3511062","type":"journal-article","created":{"date-parts":[[2022,2,23]],"date-time":"2022-02-23T15:20:04Z","timestamp":1645629604000},"page":"91-99","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":5,"title":["Here we go again"],"prefix":"10.1145","volume":"65","author":[{"given":"Nischal","family":"Shrestha","sequence":"first","affiliation":[{"name":"NC State University Raleigh, NC"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Colton","family":"Botta","sequence":"additional","affiliation":[{"name":"NC State University Raleigh, NC"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Titus","family":"Barik","sequence":"additional","affiliation":[{"name":"Microsoft Redmond, WA"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Chris","family":"Parnin","sequence":"additional","affiliation":[{"name":"NC State University Raleigh, NC"}],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"320","published-online":{"date-parts":[[2022,2,23]]},"reference":[{"key":"e_1_2_1_1_1","doi-asserted-by":"publisher","DOI":"10.2307\/25148803"},{"key":"e_1_2_1_2_1","doi-asserted-by":"publisher","DOI":"10.1145\/3196398.3196430"},{"key":"e_1_2_1_3_1","doi-asserted-by":"publisher","DOI":"10.1145\/3236024.3236040"},{"key":"e_1_2_1_4_1","volume-title":"My Experience with Learning Rust","author":"Barragan N.","year":"2018","unstructured":"Barragan, N. My Experience with Learning Rust. 2018."},{"key":"e_1_2_1_5_1","first-page":"59","article-title":"Programming plans: internal or external structures","volume":"2","author":"Bellamy R.","year":"1990","unstructured":"Bellamy, R. and D. Gilmore. Programming plans: internal or external structures. Lines Thinking: Reflections Psychol. Thought 2, (1990), 59--72.","journal-title":"Lines Thinking: Reflections Psychol. Thought"},{"key":"e_1_2_1_6_1","doi-asserted-by":"publisher","DOI":"10.1145\/2591708.2591721"},{"key":"e_1_2_1_7_1","doi-asserted-by":"publisher","DOI":"10.1145\/1999747.1999809"},{"key":"e_1_2_1_8_1","doi-asserted-by":"publisher","DOI":"10.1145\/1518701.1518944"},{"key":"e_1_2_1_9_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-981-10-5251-4_103"},{"key":"e_1_2_1_10_1","volume-title":"I Tried Haskell for 5 Years and Here's How It Was","author":"Coelho L.P.","year":"2017","unstructured":"Coelho, L.P. I Tried Haskell for 5 Years and Here's How It Was, 2017."},{"key":"e_1_2_1_11_1","doi-asserted-by":"publisher","DOI":"10.1145\/2786805.2803197"},{"key":"e_1_2_1_12_1","doi-asserted-by":"publisher","DOI":"10.1145\/1734263.1734299"},{"key":"e_1_2_1_13_1","volume-title":"Python for Lisp Programmers","author":"Norvig P.","year":"2000","unstructured":"Norvig, P. Python for Lisp Programmers, 2000."},{"key":"e_1_2_1_14_1","unstructured":"Paskvan D. Why Coffeescript? 2014."},{"key":"e_1_2_1_15_1","first-page":"1","article-title":"Learning second and subsequent programming languages: A problem of transfer. Int. J. Hum.--Comput","volume":"2","author":"Scholtz J.","year":"1990","unstructured":"Scholtz, J., Wiedenbeck, S. Learning second and subsequent programming languages: A problem of transfer. Int. J. Hum.--Comput. Interact. 2, 1 (1990), 51--72.","journal-title":"Interact."},{"key":"e_1_2_1_16_1","volume-title":"Why Learning Functional Programming and Haskell In Particular Can Be Hard","author":"Shankar H.","year":"2011","unstructured":"Shankar, H. Why Learning Functional Programming and Haskell In Particular Can Be Hard, 2011."},{"key":"e_1_2_1_17_1","doi-asserted-by":"publisher","DOI":"10.1109\/VLHCC.2018.8506508"},{"key":"e_1_2_1_18_1","doi-asserted-by":"publisher","DOI":"10.1109\/VLHCC.2019.8818911"},{"key":"e_1_2_1_19_1","doi-asserted-by":"publisher","DOI":"10.1145\/800049.801754"},{"key":"e_1_2_1_20_1","doi-asserted-by":"publisher","DOI":"10.1145\/3230977.3230995"},{"key":"e_1_2_1_21_1","doi-asserted-by":"publisher","DOI":"10.17348\/era.5.0.147-158"},{"key":"e_1_2_1_22_1","unstructured":"Uesbeck P.M. Stefik A. A randomized controlled trial on the impact of polyglot programming in a database context. In T. Barik J. Sunshine S. Chasins editors 9th Workshop on Evaluation and Usability of Programming Languages and Tools (PLATEAU 2018) volume 67 of OpenAccess Series in Informatics (OASIcs) (2019) Schloss Dagstuhl--Leibniz-Zentrum fuer Informatik Dagstuhl Germany pages 1:1--1:8."},{"key":"e_1_2_1_23_1","doi-asserted-by":"publisher","DOI":"10.1037\/h0044616"},{"key":"e_1_2_1_24_1","volume-title":"From Java to Kotlin and Back Again","author":"Walacik B.","year":"2018","unstructured":"Walacik, B. From Java to Kotlin and Back Again, 2018."},{"key":"e_1_2_1_25_1","volume-title":"9th Workshop on Evaluation and Usability of Programming Languages and Tools","author":"Zeng A.","year":"2019","unstructured":"Zeng, A., Crichton, W. Identifying barriers to adoption for rust through online discourse. In 9th Workshop on Evaluation and Usability of Programming Languages and Tools (2019), Schloss Dagstuhl--Leibniz-Zentrum fuer Informatik, Dagstuhl, Germany, 15."}],"container-title":["Communications of the ACM"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3511062","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3511062","content-type":"application\/pdf","content-version":"vor","intended-application":"syndication"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3511062","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,17]],"date-time":"2025-06-17T20:12:14Z","timestamp":1750191134000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3511062"}},"subtitle":["why is it difficult for developers to learn another programming language?"],"short-title":[],"issued":{"date-parts":[[2022,2,23]]},"references-count":25,"journal-issue":{"issue":"3","published-print":{"date-parts":[[2022,3]]}},"alternative-id":["10.1145\/3511062"],"URL":"https:\/\/doi.org\/10.1145\/3511062","relation":{},"ISSN":["0001-0782","1557-7317"],"issn-type":[{"value":"0001-0782","type":"print"},{"value":"1557-7317","type":"electronic"}],"subject":[],"published":{"date-parts":[[2022,2,23]]},"assertion":[{"value":"2022-02-23","order":3,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}