Institute for Software Research
School of Computer Science, Carnegie Mellon University


Lightening the Cognitive Load of Shell Programming

Ishaan Gandhi*, Anshula Gandhi**

November 2020


This paper was presented at PLATEAU 2020:
The 11th Annual Workshop on the Intersection of HCI and PL
November 2020, Co-located with SPLASH 2020

Keywords: Terminal, Shell, Scripting Languages

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.

9 pages

*Department of Computer Science, Harvey Mudd College, Claremont, CA
**Department of Brain and Cognitive Sciences, Massachusetts Institute of Technology, Cambridge, MA

Return to: SCS Technical Report Collection
School of Computer Science

This page maintained by