Programming is everywhere, and is becoming an increasingly essential component of knowledge work outside the realms of traditional software development. Examples include data journalism, scientific computing, machine control, machine learning, financial management, and others. A key aspect of this trend is that users have to use programming tools, but typically lack programming education, let alone a computer science background. In this short paper we revisit potential assumptions and preconceptions underlying traditional programming system design, from the perspective of practicing scientists using tools like MATLAB, R, Bash, Python, C++, and others. Specifically, we aim to peel off some ingrained assumptions that have informed programming language and system design for decades. Without giving a lot of answers, we hope some of our contrarian observations may turn out to be controversial, and stimulate a meaningful discussion towards a better programmer experience in the domain of science.

End-user programming, Language design, Programmer experience, Scientific programming
dx.doi.org/10.1145/3397537.3397557
ACM International Conference Proceeding Series
<Programming> '20: Conference Companion of the 4th International Conference on Art, Science, and Engineering of Programming
Software Analysis and Transformation

van der Storm, T, & Bakker, G. (2020). MATLAB doesn't love me: An essay. In ACM International Conference Proceeding Series (pp. 97–101). doi:10.1145/3397537.3397557