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

UNLV article access

Share

COinS