swcarpentry / shell-novice

The Unix Shell
http://swcarpentry.github.io/shell-novice/
Other
392 stars 979 forks source link

command line an inherent disadvantage? #1404

Closed GentleInfant closed 1 year ago

GentleInfant commented 1 year ago

I was reading through the lessons in preparation for demo and I really dislike this line in 'Introducing the Shell'

The shell’s main disadvantages are its primarily textual nature and how cryptic its commands and operation can be.

In particular putting the idea into people's heads that using a command line is inherently a disadvantage. As I've gone on in life in fact I've often found myself preferring, or even seeking out, the command line option when one is available.

In 'The Art of Unix Programming, Chapter 11: Interfaces, Tradeoffs between CLI and Visual Interfaces' ESR compares GUIs and CLIs and says the following

Resistance to CLI interfaces tends to decrease as users become more expert. In many problem domains, users (especially frequent users) reach a crossover point at which the concision and expressiveness of CLI becomes more valuable than avoiding its mnemonic load. Thus, for example, computing novices prefer the ease of GUI desktops, but experienced users often gradually discover that they prefer typing commands to a shell.

Elsewhere I seem to recall he talks about the related idea of how CLI interfaces tend to lack "discoverability", i.e. you can't really point and click your way to victory if you don't already know what you're doing.

And I just wonder if that's what this line is, maybe a bit unsuccessfully, trying to get at. Maybe a better wording would be something like:

A significant challenge when using the shell can be identifying what commands need to be run and how.

bkmgit commented 1 year ago

Your suggested sentence is an improvement. Can you make a pull request? Even with GUIs, many people use keyboards shortcuts for software that hey use frequently and often complain about lack of keyboard shortcuts or inability to configure keyboard shortcuts.