+1 w/ StoicJoker and JavaJones.
For some people it's: GUI if you can; CLI if you must.
For others it's: CLI if you can; GUI if you must.
Geek posturing aside, a well designed GUI is a major productivity booster for one-off and small day-to-day things. Especially when it serves as a memory jogger for things you don't do often enough that you remember the exact command syntax.
For me, the fundamental difference is that CLI will always be more flexible. Because no GUI can anticipate every scenario.
And the single biggest advantage CLI holds is that it's scriptable.
And that alone is what guarantees the continued existence (and need for) the command line.
Generally, that flexibility is less an issue in the Windows world, where user-generated scripting isn't a widely practiced art. Or at least not on the desktop level.
It's a totally different story in the server room. But everybody knows BOFHs like me and JJ and Stoic are evil six-fingered mutants. So they don't allow us to have our own GUIs. For obvious reasons. (see above)
In the NIX world however, scripting is a very important productivity tool. So users, who are serious about getting all that the Unix derivatives have to offer, soon make the modest effort that's required to learn basic shell scripting. Those that really miss a GUI sometimes also wrap a quick & dirty visual interface around a collection of commands so that the user isn't even aware that the GUI they're running is just a wrapper. In the Windows world, the well-known Super
media file utility does exactly that.
The other big advantage to CLI (for me at least) is that it can be scheduled
. Because a CLI command is not "interactive" (i.e. it just does the one thing it it says) once it's written - it's written! And once it's saved, it can be easily scheduled (via scheduler, chron, etc.) to run at set times or in response to a system event. For people like me who spend far too many hours in front of a monitor, anything that let's me quickly and easily pass important (but boring and repetitive) work off to a machine is a godsend.
GUIs generally don't let you do that. They're 'interactive' critters. Kinda like one of our dogs. It has to be his time, and his time alone
, if you want to play with him.
So while I think the author of the article has made some interesting points, I don't think he made a convincing case for his core argument that CLI is no longer necessary or desirable.
Just my tuppence.