Hacker News new | past | comments | ask | show | jobs | submit login

Do some people really find the command line so difficult to use?

Yes. Very yes. To the point where, when you say "some people", what you really mean is "most people".

I don't think the problem is "the command line" so much as it is "the Unix command line". You don't see a lot of people having difficulty with text-adventure command lines. You demonstrate HELP and GET LAMP and they're off to the races.

Whereas Unix commands are hard to discover unless you already know their names, have illogical names, have inconsistent behaviors, have poorly designed documentation (every command has 27 options and they're often documented in alphabetical order on man pages, with the obscure corner-case options given equal weight to the most useful ones), require combinatoric thinking (because many options can be used at one time), take invisible actions ("gzip foo" returns no output and modifies a file in your current directory; you need "ls" to see that it did anything), are context-dependent (you need to know what a "working directory" is or you won't get past square one), and often require a working knowledge of pipes and redirection to be useful (and pipes and redirection aren't intuitive skills).

You need to read a book. Nobody has time to read books. Reading books is a bicycle activity.




It would be interesting to use a command line interface that acted like a text adventure game.

  > get file.txt
  YOU PICK UP THE FILE
  > inventory
  YOU ARE HOLDING:
  file.txt
  > gzip file.txt
  FILE.TXT HAS BEEN COMPRESSED
  > inventory
  YOU ARE HOLDING:
  file.txt (compressed)
  > drop file.txt
  YOU CAN'T PUT THAT HERE, THERE IS ALREADY A FILE.TXT HERE
  > rename file.txt file.txt.gz
  FILE.TXT HAS BEEN RENAMED
  > drop file.txt.gz
  YOU PUT DOWN FILE.TXT.GZ
Obviously not ideal, but at the very least the idea of inventory-as-clipboard would be useful on the command line.


This is interesting enough to criticize :)

OK: you can get file.txt; gzip file.txt; rename file.txt file.txt.gz; drop file.txt.gz. However, it requires a get and a drop to fiddle the inventory, which doesn't seem to do anything (you are still specifying all the filenames each time).

And I don't see a reason to generate a gzipped file of 'the same name' and then do a rename, it seems better for the new name to be an argument to the gzip operation.

All you really want is to send information from file.txt through gzip to file.txt.gz. As in "gzip < file.txt > file.txt.gz" or "cat file.txt | gzip > file.txt.gz".

But it feels like there should be cases where the clipboard/temporary holding area is much more useful than it is here, I just can't think of them?


That's a very fun idea you have there :)


You are in a twisty set of deeply-nested directories.


When Windows has a command line tool (Powershell, not their crappy native CLI) that's powerful and like 100x easier to comprehend, you know the Unix command line is due for a disruption.




Consider applying for YC's Spring batch! Applications are open till Feb 11.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: