All the problems he's describing could be solved in about five minutes, if he were using Emacs' org-mode, bbdb, and VM-mode or Gnus to read mail. But only if he'd spent a couple hours learning them first.
There are tradeoffs with every kind of software. That little screenshot he posted is beautiful; time spent making a program beautiful is time not spent making it functional.
The ability to run these little utility programs on the command line is a great virtue of Unix, and one that is unlikely to be duplicated by pure GUI operating systems. The wc command, for example, is the sort of thing that is easy to write with a command line interface. It probably does not consist of more than a few lines of code, and a clever programmer could probably write it in a single line. In compiled form it takes up just a few bytes of disk space. But the code required to give the same program a graphical user interface would probably run into hundreds or even thousands of lines, depending on how fancy the programmer wanted to make it. Compiled into a runnable piece of software, it would have a large overhead of GUI code. It would be slow to launch and it would use up a lot of memory. This would simply not be worth the effort, and so "wc" would never be written as an independent program at all. Instead users would have to wait for a word count feature to appear in a commercial software package.
Normal people don't use command lines as it's not discoverable, they can barely type, it's a pain, easy to forget, etc.
And compared to 1998 when the article you cite was written, normal people also have supercomputers sitting in their living rooms where time to launch for 1,000s of lines of code is instant, for all intents and purposes.
We have APIs, Flash, Silverlight, WPF, Java and many, many more to take away the pain of writing GUI code.
"time spent making a program beautiful is time not spent making it functional"
Try telling that to all the people who bought an IPhone. It's time to man up and accept the fact that a good UI and hence UX is essential to modern programming.
But feel free to go on living in 1998. I see the appeal, you get to point at your emacs screen and do the old 'all I see now is blonde, brunette, redhead...' ;)
Command Line or GUI is a false dichotomy. For example, both of you cite Emacs as a command line tool, but I haven't used Emacs in a terminal for years. The Emacs I use today is a Cocoa application with pull down menus, drag and drop, etc. (I still wouldn't call it pretty, or a good example of user interface, but not because it is a CLI.)
On the contrary, I think the command line was reborn in 1999 in the form of Google. It should be relatively straightforward to work out how Google succeeded where terminals failed at being effective interfaces for normal people.
Compiled into a runnable piece of software, it would have a large overhead of GUI code. It would be slow to launch and it would use up a lot of memory. This would simply not be worth the effort, and so "wc" would never be written as an independent program at all. Instead users would have to wait for a word count feature to appear in a commercial software package.
Stuff like this is all through the Symbolics Lisp machine OS. Any object that could print itself out to a stream of text automagically got a hot-link back to an "inspector" of itself in any text window it printed itself out to. Not any GUI programming was necessary, but text utilities were part of that GUI navigation. (The magic of "around" inheritance in MOP.)
We have low expectations of OS today, which were formed in the days of green screen machines that were many orders of magnitude slower, had many orders of magnitude less memory, and where you had to count every byte. We have low expectations of GUIs, formed by GUIs designed when machines struggled to run them.
There are tradeoffs with every kind of software. That little screenshot he posted is beautiful; time spent making a program beautiful is time not spent making it functional.
The ability to run these little utility programs on the command line is a great virtue of Unix, and one that is unlikely to be duplicated by pure GUI operating systems. The wc command, for example, is the sort of thing that is easy to write with a command line interface. It probably does not consist of more than a few lines of code, and a clever programmer could probably write it in a single line. In compiled form it takes up just a few bytes of disk space. But the code required to give the same program a graphical user interface would probably run into hundreds or even thousands of lines, depending on how fancy the programmer wanted to make it. Compiled into a runnable piece of software, it would have a large overhead of GUI code. It would be slow to launch and it would use up a lot of memory. This would simply not be worth the effort, and so "wc" would never be written as an independent program at all. Instead users would have to wait for a word count feature to appear in a commercial software package.
http://adam.shand.net/iki/library/in_the_beginning_was_the_c...
Sorry, Seth.