A Randomized Controlled Trial on the Effects of Embedded Computer Language Switching

Document Type

Conference Proceeding

Publication Date


Publication Title

ESEC/FSE 2020 - Proceedings of the 28th ACM Joint Meeting European Software Engineering Conference and Symposium on the Foundations of Software Engineering


Association for Computing Machinery

Publisher Location

New York, NY

First page number:


Last page number:



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


Computer language switching; Database programming; Experience; Polyglot programming; Productivity; Programming languages; Randomized controlled trial


Software Engineering



UNLV article access