A Randomized Controlled Trial on the Effects of Embedded Computer Language Switching
Document Type
Conference Proceeding
Publication Date
11-8-2020
Publication Title
ESEC/FSE 2020 - Proceedings of the 28th ACM Joint Meeting European Software Engineering Conference and Symposium on the Foundations of Software Engineering
Publisher
Association for Computing Machinery
Publisher Location
New York, NY
First page number:
410
Last page number:
420
Abstract
© 2020 ACM. Polyglot programming, the use of multiple programming languages during the development process, is common practice in modern software development. This study investigates this practice through a randomized controlled trial conducted under the context of database programming. Participants in the study were given coding tasks written in Java and one of three SQL-like embedded languages. One was plain SQL in strings, one was in Java only, and the third was a hybrid embedded language that was closer to the host language. We recorded 109 valid data points. Results showed significant differences in how developers of different experience levels code using polyglot techniques. Notably, less experienced programmers wrote correct programs faster in the hybrid condition (frequent, but less severe, switches), while more experienced developers that already knew both languages performed better in traditional SQL (less frequent but more complete switches). The results indicate that the productivity impact of polyglot programming is complex and experience level dependent.
Keywords
Computer language switching; Database programming; Experience; Polyglot programming; Productivity; Programming languages; Randomized controlled trial
Disciplines
Software Engineering
Language
English
Repository Citation
Uesbeck, P.,
Peterson, C.,
Sharif, B.,
Stefik, A.
(2020).
A Randomized Controlled Trial on the Effects of Embedded Computer Language Switching.
ESEC/FSE 2020 - Proceedings of the 28th ACM Joint Meeting European Software Engineering Conference and Symposium on the Foundations of Software Engineering
410-420.
New York, NY: Association for Computing Machinery.
http://dx.doi.org/10.1145/3368089.3409701