Scientists and Code: Programming as a Tool
Many scientists use programming to analyze their data. In this paper, we explore the computational ecosystem of scientists and their socio-technical system of computing through a human-centered approach. By employing contextual inquiry techniques with nine scientists drawn from fields such as theoretical physics, biomedical science, and entomology, we learned that programming is a tool for scientists, and as such the output is more important than the code itself. We found that during analysis, scientists often write code to create plots, and then compare these plots to assess the match of output to their expectation. Participants used ChatGPT while coding. We also found that scientists’ programming tools and practices often limit their analysis. Finally, based on a combined human-computer interaction and programming language analysis, we identify drivers and blockers of scientists’ work. Our findings uncover opportunities for the design of programming tools and languages.