This story was originally published on Sept. 23, 2010, and is brought to you today as part of our Best of ECT News series.
In what’s surely a testament to Linux’s increasingly mainstream-ready graphical user interfaces, it seems to be par for the course that every once in a while someone will suggest that there’s no longer any need for the command line.
Last week, it happened again.
TuxRadar was the one to ask the question this time, and it’s been echoing around the blogosphere ever since.
“Is it finally time to do away with the command line?” TuxRadar asked in a recent podcast.
Linux geeks had their answers ready.
Tech Support Use
“Absolutely not,” Slashdot blogger David Masover hastened to reply. “It’s still my primary interface. It still lets you do things GUIs don’t. It’s still useful for repairing problems when GUIs aren’t. It’s still much more efficient over a network.”
The command line is “actually _more_ useful for tech support,” Masover suggested. “Someone has a problem; I can give them a sequence of commands to run, and they can simply copy and paste.”
When someone has a Windows problem, by contrast, “I have to give them a series of difficult-to-follow steps, possibly with screenshots,” he explained.
No Use of Force
Same goes with errors, Masover added. “With the command line, they can just copy and paste — with a GUI, I have to teach them to take a screenshot.”
Of course, “no one should be forced to use a command line unless it’s their job to do so,” such as programmers and sysadmins, Masover asserted.
By the same token, however, “no one should be forced to choose between GUI and command line,” he concluded. “You get a GUI unless you know enough to make that choice for yourself. But that choice is the greatest asset Linux and OSS in general has.”
A Thousand Times Yes
Of course, unanimity is about as rare in the Linux blogosphere as choice is in the proprietary world.
“YES YES YES! CLI needs to DIAF if Linux is ever gonna gain critical mass!” countered Slashdot blogger hairyfeet.
“This is something I’ve been saying for years,” hairyfeet added. “Do Windows and OSX have a command line? Yep, but NOBODY outside of servers and power users EVER uses it. Working in PC repair, I can count the number of times I’ve had to go CLI on one hand, with fingers left over.”
Linux’s command line is “nothing but a crutch, because you haven’t designed a decent user interface,” hairyfeet charged. “The simple fact is home users will NOT use CLI…period, full stop. They won’t do things your way, no matter how much you tell them to ’embrace the power of CLI’ like it’s the force.
“And why should they?” he added. “It’s 2010, not 1979. Why should the ONLY answer to 90 percent of the problems in Linux be, ‘open up Bash and type…’ some convoluted mess in a lame 70s-era terminal interface that lacks even the most basic of amenities, like spellcheck and auotcomplete?”
The answer, hairyfeet opined, “is Linux snobbery combined with developers that couldn’t design a decent UI if their life depended on it.”
In fact, a good test for Linux fans is to stop using Bash for six months, hairyfeet suggested.
“Just pretend you are the average PC non-tech user for a while — you’ll quickly find that without CLI access, Linux quickly becomes about as useful as Windows ME,” he predicted. “How sad that an OS with such a solid foundation should be crippled by such a fundamental weakness as lack of a decent UI, especially for fixing problems.”
Other bloggers saw it differently.
“Don’t take the command line,” Montreal consultant and Slashdot blogger Gerhard Mack entreated. “Some of us actually use that on a daily basis.
“Despite what the point-and-click crowd says, it is still the easiest way to make complex configuration changes on a server,” Mack explained. “In fact, Microsoft did an about-face on the command line some time ago, and now pushes PowerShell for all of your CLI needs on Windows.”
That said, however, “I’m happy with the progress being made on eliminating the need for command-line use for desktop, but even there I still want the option.”
The command line “could theoretically go away one day, but scripting will never vanish,” Hyperlogos blogger Martin Espinoza pointed out. “Thus the command line will never really go away, because interactive script execution is one of the common means of script development.
“Even for it to vanish, we would need better-defined interfaces so that we could ‘script’ by connecting GUI blocks,” Espinoza concluded.
Indeed, “the command line is the lingua franca of Unix-like operating systems,” blogger Robert Pogson agreed. “It should no more be done away with than C or other venerable programming languages.”
The Right Way
The command line “brings together the art of computer programming and system administration,” Pogson explained. “It is the right way to do lots of things, particularly in combination with SSH.
“One is not limited by the OS when the command line is used; one is not limited by the particular client machine,” he added. “One is only limited by one’s imagination.”
Lack of imagination, meanwhile, “is a problem for fans of that other OS, but not for FLOSS,” Pogson opined. “Fans of that other OS believe with a certainty that M$ is the font of all wisdom in IT, when in fact M$ is the bane of IT.”