The design principle that suggests that a key design goal for a system (programming language, etc.) ought to be minimizing the number of keystrokes that need to be typed by a user of the system.
Useful in two instances:
- In instances when typing by the operator is the bottleneck - a system designed for data entry clerks certainly ought to minimize keystrokes. (UnixOs is another example - at least in the early days, when Unix systems were run from 300 baud terminals, this was a noble principle. Now, it's considered by many one of the more annoying features of Unix.)
- As a general design principle; certainly, a language that uses "a = b" or similar to test for equality is preferably to one that makes the user type "variable(a) is_equal_to variable(b)" or somesuch.
However, this principle is frequently taken too far; many systems suffer from excessive keystroke optimization. In the domain of programming languages, it can make programs notoriously difficult to read (see
PerlLanguage,
WriteOnlyLanguage) and extend.