An Empirical Study on the Impact of C++ Lambdas and Programmer Experience
Document Type
Conference Proceeding
Publication Date
1-1-2016
Publication Title
Proceedings - International Conference on Software Engineering
Publisher
IEEE Computer Society
Volume
14-22-May-2016
First page number:
760
Last page number:
771
Abstract
Lambdas have seen increasing use in mainstream programming languages, notably in Java 8 and C++ 11. While the technical aspects of lambdas are known, we conducted the first randomized controlled trial on the human factors impact of C++ 11 lambdas compared to iterators. Because there has been recent debate on having students or professionals in experiments, we recruited undergraduates across the academic pipeline and professional programmers to evaluate these findings in a broader context. Results afford some doubt that lambdas benefit developers and show evidence that students are negatively impacted in regard to how quickly they can write correct programs to a test specification and whether they can complete a task. Analysis from log data shows that participants spent more time with compiler errors, and have more errors, when using lambdas as compared to iterators, suggesting difficulty with the syntax chosen for C++. Finally, experienced users were more likely to complete tasks, with or without lambdas, and could do so more quickly, with experience as a factor explaining 45.7% of the variance in our sample in regard to completion time. © 2016 ACM.
Keywords
C++11; Human Factors; Lambda Expressions
Language
English
Repository Citation
Uesbeck, P. M.,
Stefik, A.,
Hanenberg, S.,
Pedersen, J.,
Daleiden, P.
(2016).
An Empirical Study on the Impact of C++ Lambdas and Programmer Experience.
Proceedings - International Conference on Software Engineering, 14-22-May-2016
760-771.
IEEE Computer Society.
http://dx.doi.org/10.1145/2884781.2884849