Year: 2021
Type: article
Abstract: How working statically-typed functional programmers write code is largely understudied. And yet, a better understanding of developer practices could pave the way for the design of more useful and usable tooling, more ergonomic languages, and more effective on-ramps into programming communities. The goal of this work is to address this knowledge gap: to better understand the high-level authoring patterns that statically-typed functional programmers employ. We conducted a grounded theory analysis of 30 programming sessions of practicing statically-typed functional programmers, 15 of which also included a semi-structured interview. The theory we developed gives insight into how the specific affordances of statically-typed functional programming affect domain modeling, type construction, focusing techniques, exploratory and reasoning strategies, and expressions of intent. We conducted a set of quantitative lab experiments to validate our findings, including that statically-typed functional programmers often iterate between editing types and expressions, that they often run their compiler on code even when they know it will not successfully compile, and that they make textual program edits that reliably signal future edits that they intend to make. Lastly, we outline the implications of our findings for language and tool design. The success of this approach in revealing program authorship patterns suggests that the same methodology could be used to study other understudied programmer populations.
DOI: 10.1145/3485532
Authors: Justin Lubin, Sarah E. Chasins
Institution: University of California, Berkeley
Language: English
Subfield: Software
Field: Computer Science
Domain: Physical Sciences
Open Access status: diamond
Funder: National Science Foundation
Awards: A1: Knowledge Network Development Infrastructure with Application to COVID-19 Science and Economics, Convergence Accelerator Phase I (RAISE): Linking the Open Knowledge Network to the Web with End-User Programming, Graduate Research Fellowship Program (GRFP), RAPID: Collecting Reliable COVID-19 Datasets in Crisis Conditions
OpenAlex ID: W3206925941
