Institute for Software Research
School of Computer Science, Carnegie Mellon University
Lightening the Cognitive Load of Shell Programming
Ishaan Gandhi*, Anshula Gandhi**
This paper was presented at PLATEAU 2020:
Terminal emulators, or simply terminals, are used ubiquitously by developers. While many have proposed alternatives, this paper examines the fundamental reasons why shell programming, especially when using a terminal as a programming environment, can be difﬁcult, as understood through the Cognitive Dimensions Framework. We will present a task analysis of the shell programming language itself (which we'll refer to as "the shell") and the application most often used to interact with it (which we'll refer to as "the terminal"). We lay out many usability problems of interactive programming via shell in the hopes that tool developers may be able to build upon this analysis in the future.
*Department of Computer Science, Harvey Mudd College, Claremont, CA