Approaching Polyglot Programming: What Can We Learn from Bilingualism Studies?

Authors Rebecca L. Hao , Elena L. Glassman



PDF
Thumbnail PDF

File

OASIcs.PLATEAU.2019.1.pdf
  • Filesize: 297 kB
  • 7 pages

Document Identifiers

Author Details

Rebecca L. Hao
  • Department of Computer Science and Department of Linguistics, Harvard University, Cambridge, MA, USA
Elena L. Glassman
  • Department of Computer Science, Harvard University, Cambridge, MA, USA

Cite As Get BibTex

Rebecca L. Hao and Elena L. Glassman. Approaching Polyglot Programming: What Can We Learn from Bilingualism Studies?. In 10th Workshop on Evaluation and Usability of Programming Languages and Tools (PLATEAU 2019). Open Access Series in Informatics (OASIcs), Volume 76, pp. 1:1-1:7, Schloss Dagstuhl – Leibniz-Zentrum für Informatik (2020) https://doi.org/10.4230/OASIcs.PLATEAU.2019.1

Abstract

Today’s programmers often need to use multiple programming languages together, enough that this practice has been given the name "polyglot programming." However, not much is known about how using multiple programming languages affects programmers, despite its increasing ubiquity. If we want to better design programming languages and improve the productivity of programmers who program in multiple programming languages, we should seek to understand the user in this context: we need to better understand the impact that polyglot programming has on programmers. In this paper, we pose several open research questions to begin to approach this question, drawing inspiration from psycholinguistic studies of bilingualism, because despite the differences between natural languages and programming languages, the questions considered in natural language bilingualism studies are relevant to programming languages, and the existing findings may prove useful in guiding our intuitions, methods, and priorities as we begin to explore this topic. In particular, we pay close attention to the implications that code switching (switching between languages within a conversation) and interferences (ways an unintended language may influence one’s use of an intended language) may have on our understanding of how using programming languages may impact a programmer.

Subject Classification

ACM Subject Classification
  • Human-centered computing → HCI design and evaluation methods
  • Software and its engineering → General programming languages
Keywords
  • Programming languages
  • polyglot programming
  • bilingualism

Metrics

  • Access Statistics
  • Total Accesses (updated on a weekly basis)
    0
    PDF Downloads

References

  1. Why are multiple programming languages used in the development of one product or piece of software?, April 2018. URL: https://softwareengineering.stackexchange.com/questions/370135/why-are-multiple-programming-languages-used-in-the-development-of-one-product-or.
  2. Jubin Abutalebi and David W. Green. Control mechanisms in bilingual language production: Neural evidence from language switching studies. Language and Cognitive Processes, 23(4):557-582, 2008. URL: https://doi.org/10.1080/01690960801920602.
  3. Ellen Bialystok. Cognitive complexity and attentional control in the bilingual mind. Child Development, 70(3):636-644, 1999. URL: https://doi.org/10.1111/1467-8624.00046.
  4. Esti Blanco-Elorrieta, Karen Emmorey, and Liina Pylkkänen. Language switching decomposed through meg and evidence from bimodal bilinguals. Proceedings of the National Academy of Sciences, 115:201809779, September 2018. URL: https://doi.org/10.1073/pnas.1809779115.
  5. Krista Byers-Heinlein, Elizabeth Morin-Lessard, and Casey Lew-Williams. Bilingual infants control their languages as they listen. Proceedings of the National Academy of Sciences, 114:201703220, August 2017. URL: https://doi.org/10.1073/pnas.1703220114.
  6. Martha E. Crosby, Jean Scholtz, and Susan Wiedenbeck. The roles beacons play in comprehension for novice and expert programmers. In PPIG, 2002. Google Scholar
  7. David W. Green and Li Wei. Code-switching and language control. Bilingualism: Language and Cognition, 19(5):883-884, November 2016. URL: https://doi.org/10.1017/S1366728916000018.
  8. François Grosjean. The bilingual’s language modes. One mind, two languages: Bilingual language processing, pages 1-22, 2001. Google Scholar
  9. François Grosjean and Ping Li. The Psycholinguistics of Bilingualism. Wiley-Blackwell, Chichester, 2013. Google Scholar
  10. Said Hadjerrouit. Java as first programming language: a critical evaluation. SIGCSE Bulletin, 30:43-47, 1997. Google Scholar
  11. Tony Jenkins. The first language - a case for python? Innovation in Teaching and Learning in Information and Computer Sciences, 3(2):1-9, 2004. URL: https://doi.org/10.11120/ital.2004.03020004.
  12. Pavneet S. Kochhar, Dinusha Wijedasa, and David Lo. A large scale study of multiple programming languages and code quality. In 2016 IEEE 23rd International Conference on Software Analysis, Evolution, and Reengineering (SANER), volume 1, pages 563-573, March 2016. URL: https://doi.org/10.1109/SANER.2016.112.
  13. Yu-Tzu Lin, Cheng-Chih Wu, Ting-Yun Hou, Yu-Chih Lin, Fang-Ying Yang, and Chia-Hu Chang. Tracking students’ cognitive processes during program debugging—an eye-movement approach. IEEE Transactions on Education, 59(3):175-186, August 2016. URL: https://doi.org/10.1109/TE.2015.2487341.
  14. Bertrand Meyer. Multi-language programming: how .NET does it. Software Development, 2002. Google Scholar
  15. Jonathan Aldrich Michael Coblenz, Brad A. Myers, and Joshua Sunshine. Interdisciplinary programming language design. In Proceedings of the 2018 ACM SIGPLAN International Symposium on New Ideas, New Paradigms, and Reflections on Programming and Software, Onward! 2018, pages 133-146, New York, NY, USA, 2018. ACM. URL: https://doi.org/10.1145/3276954.3276965.
  16. Casey O'Brien, Max Goldman, and Robert C. Miller. Java tutor: Bootstrapping with python to learn java. In Proceedings of the First ACM Conference on Learning @ Scale Conference, L@S '14, pages 185-186, New York, NY, USA, 2014. ACM. URL: https://doi.org/10.1145/2556325.2567873.
  17. John F. Pane, Brad A. Myers, and Leah B. Miller. Using hci techniques to design a more usable programming system. In Proceedings IEEE 2002 Symposia on Human Centric Computing Languages and Environments, pages 198-206, September 2002. URL: https://doi.org/10.1109/HCC.2002.1046372.
  18. Baishakhi Ray, Daryl Posnett, Vladimir Filkov, and Premkumar Devanbu. A large scale study of programming languages and code quality in github. Proc. FSE 2014, pages 155-165, November 2014. URL: https://doi.org/10.1145/2635868.2635922.
  19. Karen P. Walker and Stephen R. Schach. Obstacles to learning a second programming language: An empirical study. Computer Science Education, 7(1):1-20, 1996. URL: https://doi.org/10.1080/0899340960070101.
  20. Florian Waszak, Bernhard Hommel, and Alan Allport. Task-switching and long-term priming: Role of episodic stimulus–task bindings in task-shift costs. Cognitive Psychology, 46:361-413, 2003. Google Scholar
  21. Susan Wiedenbeck. Beacons in computer program comprehension. International Journal of Man-Machine Studies, 25(6):697-709, 1986. URL: https://doi.org/10.1016/S0020-7373(86)80083-9.
Questions / Remarks / Feedback
X

Feedback for Dagstuhl Publishing


Thanks for your feedback!

Feedback submitted

Could not send message

Please try again later or send an E-mail