An early-80s ad for Apple's Macintosh showed an office worker attempting to use an IBM-PC (8086) running MS-DOS. He types something. The machine flashes "SYNTAX ERROR". He tries to re-enter the same command two more times, gets the same error message. Then he freaks out, produces a chainsaw from under his desk and chops the machine in two.
That's how I feel about having to use command lines.
When I first learned to use computers, the weak processors and primitive operating systems of that day wouldn't support graphical user interfaces. The command line interface was all there was. It relied heavily on rote memorization, something I'm not very good at. For applications and functions which I used often, it wasn't such a big problem. For seldom-used functions or when software was changed, it often meant that I had to drop everything and call a proctor, or plow through a virtually-unreadable software manual (unfortunately, good programmers weren't always good writers). Sometimes I went crazy trying to figure out why a complex command kept resulting in error messages, only to find that the problem was a misplaced period or space. Or that the argument needed a comma before it. Or a slash after it. Or some other stupid syntax issue.
Then came the menu-driven applications, and the graphical user interfaces, first the incredible MAC-OS, then the much less elegant but still functional MS Windows. What a relief! Instead of having to carry complex instructions in my head, I could click on a menu and find out how to perform a given task.
I started using Linux just this year after years of using Windows. I switched because of the horror that is Windows Vista. I decided that I had had enough of Microsoft's concentration on "wow" (and DRM) at the expense of functionality and dependability. The graphical environments in which Linux functions, like KDE or Fluxbox, are mighty impressive. It's hard to believe that something which functions just as well as or better than Windows could come from a co-operative community of amateur, semi-pro and professional programmers, all working hard to promote computer literacy in the best way possible - by making it possible for people who don't have scads of money to blow on software to have access to personal computing on a first-class level, not a bare-bones level. Revolution OS indeed!
My sole complaint is that certain functions, including some fairly critical ones, must still be accessed in the command-line environment.
Don't get me wrong. Command lines do have their uses. But not for nothing did Apple and Microsoft develop their respective GUI's. Each time I have to use the command-line, it's like I'm back in programming class all over again (which I suppose I am), with a very understanding Linux-junkie friend in the role of proctor. It is dismaying to have to try and set the parameters for my sound system using the primitive, DOS-like user interface of the ALSA mixer, or to have to open the terminal because the appropriate function in the GUI doesn't quite do the job that I need done. And a lot of documentation, on and off-line, is still written in such a way that my mind cannot quite get around it.
I love Linux, I'm glad there are people out there who are taking positive action against Microsoft's virtual monopoly, and I certainly prefer the community of Linux users and developers to the indifferent-to-nonexistent "customer service" departments of most hardware and software companies. But I still wish that I didn't have to cross that time-warp back to the bad old days of computing each time I have to perform a certain task or change a certain setting not accessible through the GUI.