Award Date
December 2019
Degree Type
Dissertation
Degree Name
Doctor of Philosophy (PhD)
Department
Computer Science
First Committee Member
Andreas Stefik
Second Committee Member
Jan Pedersen
Third Committee Member
Evangelos Yfantis
Fourth Committee Member
Hal Berghel
Fifth Committee Member
Deborah Arteaga-Capen
Number of Pages
189
Abstract
Polyglot programming is a common practice in modern software development. This practice is often considered useful to create software by allowing developers to use whichever language they consider most well suited for the different parts of their software. Despite this ubiquity of polyglot programming there is no empirical research into how this practice affects software developers and their productivity. In this dissertation, after reviewing the state of the art in programming language and linguistic research pertaining to the topic, this matter is investigated by way of two empirical studies with 109 and 171 participants solving programming tasks. Based on the findings, the design of a data management library, a common use-case for polyglot programming, is proposed broadly and then applied specifically to the language Quorum as a case study. The review of previous studies finds that there is a pattern of productivity gain that can be explained by the occurrence of type annotations in programming, which gives insight into how programmers comprehend code. Study results show that there is a significant improvement of programmer productivity when programmers are using polyglot programming in an embedded context (partial eta squared = 0.039) and that less experienced programmers do better in a group with more frequent, but less severe, switches, while more experienced developers perform better with less frequent but more complete switches between languages. A study on language switches on a file level shows that file level programming language switching has a clear negative impact on programmer productivity (partial eta squared = 0.059) and is most likely caused by the increased occurrence of errors when switching.
Keywords
Code Switching; Computer Language Switching; Databases; Empirical; Polyglot Programming; Randomized Controlled Trial
Disciplines
Computer Sciences | Linguistics
File Format
File Size
1.2 MB
Degree Grantor
University of Nevada, Las Vegas
Language
English
Repository Citation
Uesbeck, Phillip Merlin, "On The Human Factors Impact of Polyglot Programming on Programmer Productivity" (2019). UNLV Theses, Dissertations, Professional Papers, and Capstones. 3852.
http://dx.doi.org/10.34917/18608807
Rights
IN COPYRIGHT. For more information about this rights statement, please visit http://rightsstatements.org/vocab/InC/1.0/