Here We Go Again: Why Is It Difficult for Developers to Learn Another Programming Language?

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 Sta...

Descripción completa

Detalles Bibliográficos
Publicado en:Communications of the ACM Vol. 65; no. 3; pp. 91 - 92
Autores principales: Shrestha, Nischal, Botta, Colton, Barik, Titus, Parnin, Chris
Formato: Artículo
Publicado: Association for Computing Machinery Mar2022
Materias:
Acceso en línea:Ver este registro en EBSCOhost
fields @attributes:
  recordID: 1
pdfLink:
plink: https://search.ebscohost.com/login.aspx?direct=true&db=hlh&AN=155410728&site=ehost-live
header:
  @attributes:
    shortDbName: hlh
    uiTerm: 155410728
    longDbName: Humanities International Complete
    uiTag: AN
  controlInfo:
    bkinfo:
    jinfo:
      jid:
        00010782
        ACM
      jtl: Communications of the ACM
      issn: 00010782
      maglogo: N
    pubinfo:
      dt: Mar2022
      vid: 65
      iid: 3
      pid: 68
      pub: Association for Computing Machinery
    artinfo:
      ui:
        155410728
        10.1145/3511062
      ppf: 91
      ppct: 1
      formats:
      tig:
        atl: Here We Go Again: Why Is It Difficult for Developers to Learn Another Programming Language?
      aug:
        au:
          Shrestha, Nischal
          Botta, Colton
          Barik, Titus
          Parnin, Chris
      su:
        Programming languages
        Computer programming
        Computer programmers
        Semi-structured interviews
        Cognitive interference
      sug:
        subj:
          Programming languages
          Computer programming
          Computer programmers
          Semi-structured interviews
          Cognitive interference
      ab: 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.
      pubtype: Periodical
      doctype: Article
      src: R
    language: English
    refInfo:
    copyright:
      @attributes:
        flag: Y
      dt:
        @attributes:
          year: 2022
    holdings:
      @attributes:
        islocal: N