Has the Command Line Outstayed Its Welcome?
dgharmon writes "The Command Line Interface has its uses, acknowledged Mobile Raptor blogger Roberto Lim, but no piece of technology targeted at the consumer market should ever require that something be done via CLI, he says. Keep it as an option or you can take it out all together. 'If it is there, it should just be there for the IT people or tech support to use when you encounter a problem.'"
Guy is a fucking moron. Thats all.
Mod headline -1, flamebait.
(and the summary is silly, as well—how many popular software products today actually require the end user to run terminal commands?)
How can I believe you when you tell me what I don't want to hear?
No. Fucking. Way.
A squid eating dough in a polyethylene bag is fast and bulbous, got me?
Article = flamebait.
No sig today...
The GUI - Making easy things easier, and hard things impossible. (Seriously, there are still a lot of command line tools like sed and awk which are absolutely invaluable, with no real non-commandline alternatives)
The light-switch is one of the end-user interfaces for electricity in the house. The wiring behind it is better left to the experts. It's dangerous for the non-initiated to fiddle with it.
Same for the command line. Graphical user interfaces have become the de-facto end-user interface to modern computing devices, to information, to the Internet, etc. The CLI exposes some of the wiring behind it. No need for end users to mess with it or to have to understand it. It can be confusing for them or even dangerous.
The sooner software developers realize this, the better it is for everyone involved.
It may be sad that today's users are not introduced at the same level to the technology that many of us were decades ago, but that's the way things go. We don't expect to wire up our house ourselves, or build our own generators or electric engines. We shouldn't expect that a product for the masses should require in-depth knowledge or even expose an interface that is not really useful for every day users.
*gets ready for mindless hate replies*
Look, I'm not against the command line. It's fine. And I actually would say that every program should have a command line. That said, every program should also have a GUI interface.
A serious problem in linux is that frequently you have to go to the command line to do a lot of things. You should NEVER have to go to command line.
The command line is great for people that have memorized all the commands, know exactly what they want to do, and can run the operations in their sleep. But for everyone else it's a hinderence. They have to do queries and check forums to figure out what the program is called. Then they need to look up the syntax.
It's the opposite of user friendly.
Command line is great for certain things. I Scripting especially is much easier if everything can take a command line. I wish more programs in windows for example could take a command line.
But linux especially needs to offer the GUI as the primary interface for EVERYTHING.
I know the old linux hands disagree. This is why you have adoption problems. And because you have adoption problems many companies don't write software for your OS requiring the open source community to write everything themselves. And of course hardware venders frequently don't release drivers for your OS. Fix the GUI issue and all that will change.
Quid pro quo. We're not asking for the universe here. Just the GUI as the primary interface. Keep the command line for those that prefer it. But you'll never get the adoption up so long as its the secondary interface.
I've decided to stop wasting my time responding to AC trolls/sockpuppets... so if you want a response from me... login.
And if it wasn't available we would find a way to install it.
Next topic.
"... but no piece of technology targeted at the consumer market should ever require that something be done via CLI, he says."
"... but no piece of technology targeted at the consumer market should ever require that something be done via soldiering iron, he says."
"... but no piece of technology targeted at the consumer market should ever require that something be done via distillation, he says."
"... but no piece of technology targeted at the consumer market should ever require that something be done via (fill in the blank), he says."
Now ask yourself what percentage of home users have ever used the command line on their phones. Or have opened up a device to re-soldier parts of it. And when was the LAST time something like that needed to be done.
"Just the simple task of separating two kinds of files from a single directory, 'mkdir GIF;mkdir JPG;mv *.gif ./GIF;mv *.jpg ./JPG' and I'm done -- five seconds to accomplish that. How long would it take in a pretty looking GUI?"
Create two directories; sort by file type; drag & drop * 2... done. And it'll deal with mixed case extensions. Don't get me started about Mr. "You can't do that FTP transfer in less than 8 mouse clicks". vs 32 keystrokes. I'm not sure where his maths comes from.
They also don't go into how far you are away from destroying the world with a CLI:
sudo rm -Rf ~/bin
is one keystroke from
sudo rm -Rf ~ /bin
Or just the simple case of "cp a b c/", only you eagerly hit enter before "c/" so you blow away b with no checks.
And who knows what you get when your super awesome smart shell loop isn't escaped properly on a filename with a space, quotes or apostrophe in the name.
GUI or CLI -- do whatever you like -- but don't base your choice on the "quality" of information from the types of people in this article.
CLI is the defacto interface for Google searches. People use it everyday and all day long. Nobody complains that it isn't intuitive.
Typing in a few keywords is not CLI. That's just data input in response to a prompt.
Using the more complex search modifiers does make it more like CLI use as you are driving behavior - but most people do not do that.
"There is more worth loving than we have strength to love." - Brian Jay Stanley
That's the whole point. What percentage of the light switches currently in use are NOT operated by some kind of switch?
He's advocating for something that has been solved and implemented years ago.
Yep. So he's advocating that what has already happened ... happen? How many people have used the command line on their smart phones? Already solved. Already implemented. No need to claim that it SHOULD be done.
They have realized it. They have implemented it. It is already done.
Again, already realized, designed, implemented, shipped and sold.
Been there. Done that. Ten years ago.
s/consumer/retard/g
Efficiency, you can literally type winkey then cmd then ping slashdot.org and you're done. A GUI isn't going to make that any faster and in all likelihood is going to slow the process. Unless of course you're not a touch typist or you're needing to ping a large list of sites.
Rhetorical question: Have you ever tried to tell someone over the phone how to navigate around a GUI?
But I must give to them that they try to look Unlike Windows really hard. Breaking ages old GUI behaviors and leaving the users bewildered and frustrated just for the reason of "because we're not Windows".
45 5F E1 04 22 CA 29 C4 93 3F 95 05 2B 79 2A B2
To be fair, Microsoft is doing the same shit these days. Consistent Windows User Experience Guidelines? No, fuck you, you get ribbons and no start menu you douche, so pay me already.
Funny how yesterday's bloated crap becomes today's lean and fast. I still can't stomach Enlightenment, though.
Lets not forget who dominates the computer scene; computer nerds.
No. Really 1000 times no. The nerds make up a very tiny minority of the computer users. The dominating force in the computer scene are people who spend all day playing on Facebook, the people who actually welcome the Ribbon Bar because it's more "user friendly".
You've made one key mistake, .... or you're just seeking job security, I don't know.... The goal of software should be that WE DON'T NEED to set up a CLI script to run grandma through a list of options. If grandma can't use her computer the way she wants without my help then the designer of the software has failed.
In another reply to me someone compared the use of awk and sed to entering functions in Excel. My reply then makes a good example here too. awk and sed will be ready for the consumer when a window pops up giving the user a searchable list of software functions, guides the user through entering the arguments with extensive help, and when you balls it up fixes the function for you.
A consumer should NEVER need to access a CLI. If they do then the software developer has failed, or they are a power user like most of the Slashdot posters here who like yourself are getting very defensive at the prospect that computers should be usable by untrained monkeys.
please remind us where the word 'prompt' comes from... the 'bash prompt' or 'shell prompt'.
you type 'key words' into it and get responses.
why does it work? because its an anlogue of verbal communication. .. which humans have been doing for 10,000+ years.
as opposed to 'poking square things that look like candy' which humans have been doing for 20 years.
Considering one of the focus areas of recent MS endeavours is to provide a richer baked-in shell (powershell), OSX has the same CLI credentials as the rest of the *nix world, it's silly at this point to say CLI is dead or dying.
I understand the sentiment that nothing should 'require' a GUI, but that's actually a pretty poor sentiment that can lead to an atrocious GUI experience. What you want is a clean GUI that enables what most of your users have to cope with. The CLI in a sense is freeing for the GUI developers. If you have advanced capability that is rarely going to be used by a small portion of the population, you can make it CLI only and keep the GUI clean. Similarly, there are some things the CLI just inherently does better, and any attempts to cater to some of those use cases in GUI is similarly going to ruin the GUI for the things that it currently does well.
I have dealt with software that held the philosophy of 'must provide all function and do it via GUI because CLI is dead'. The GUI had a labyrinth of menus and UI elements. Any attempt to do the most simple tasks prompted a 'wizard', to cover the 'well, 99% of the time, what you wanted to do was obvious, but to cover the corner cases, we are going to force you down a wizard that wants to make sure you want to do it now instead of later, when later you might want to do it, do you want to repeatedly do this same thing, while you are here, are there other things you want me to do this for, occasionally it might make sense for this to be combined with another usually unrelated task, do you want to do that this time? The data that will be processed, would you like the data exported for consumption elsewhere or thrown away?'. While it may be argued this particular piece of software was poorly designed and maybe it could've been done better, if you are trying to cater to all those scenarios trying to be *competitive* with a CLI strategy there aren't a lot of ways really to do that...
XML is like violence. If it doesn't solve the problem, use more.
since 99.9% of users will not have the permissions to start up an access database, and the "IT crew" will be too busy / underfunded to help them, they will revert to sharing Excel files on sharepoint.
furthermore, since the vast majority of people in these corporations have never been trained in database stuff, and the company will not pay to train them, excel is something that is essentially something 'anyone can use' the basic features of and still kind of understand whats happening without much training.
"These days"? Get real, Microsoft has NEVER had a consistent user interface across their applications.
There's no -1 for "I don't get it."
I would say from the release of Windows 95 to the release of Office 2007, they were pretty much within their own standard style guidelines for GUI more or less across the board. That would be 12 years, which is a fairly significant amount of time in the computing world.
And when you're having the user ping *BECAUSE HE HAS CONNECTIIVITY ISSUES* that remote desktop will be useless.
General Relativity: Space-time tells matter where to go; Matter tells space-time what shape to be.
I have never ever had my package database implode on an apt-based system. Indeed, I haven't had my package database explode since Redhat 6. WTF are you doing to your poor systems?
"You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
Believing that any linguistically rich environment for interaction between people and computers will be commercially unpopular, the designers of operating systems want u s to live in an infant's world. They show you pretty pictures, and in order to communicate you point at the appropriate picture and grunt.
The most important accomplishment of humanity is language, it is the single most important invention. Without language we would not have culture or technology. But here we are, trying to eliminate language from computer and replacing it with hieroglyphs and symbols.
The only problem with the CLI is the illiteracy fostered by Windows and the still prevailing inconvenience of the DOS like command prompt. Some people think that if there is no GUI for a problem, there is no solution at all. Most people do not even know that you can actually tell a computer what to do instead of clicking on abstract symbols. We humans tell other humans all the time what to do. We left runes and hieroglyphs and symbols millenia ego, but if you tell people you can actually tell a computer what to do they will not known what you mean.
What is so difficult to tell the computer to "find . MyFile" or "whereis firefox" or to "reboot", or to print the current "date"? Or to "sleep 5m && reboot"? or to "wget http://some.server/some.file && poweroff"?
If you tell me, you have to remember the commands, then I have news for you: humans are very good in remember commands (aka words). We remember at least 10,000 words for everyday usage and if you speak multiple languages, that number can go pretty high. So why do you think the CLI is only for "geeks" and a regular user should not use the CLI at all? Is it because you think of "regular" users are stupid and can't learn anything? I watched flight travel agents and McDonalds workers use the CLI all the time. Or is it more that the dominant operating system on desktops have a horrible command line interface?
http://www.mueller-public.de - My site http://www.anr-institute.com/ - Advanced Natural Research Institute
another M$-Windows-like kludge?
Last I checked MS is pushing Server Core (aka GUI-less server install) and powershell everything.
You were saying?
PS: the registry isnt a bad idea, it just has a lot of cruft. Most anti-registry sentiment is based on ignorance.
Maybe thats because the Windows desktop environment tends to be far superior for the end user than the Linux one. Does linux have better updates backend, better patching philosophy, better boot options? Sure, but thats all irrelevant, and if you doubt that the Windows desktop experience is superior you simply dont work with enough normal human beings.
Queue about 50 responses about how X distro with Y desktop environment and Z window manager is superior, but all with curiously absent explainations for how your average joe is going to set that up, much less get support for it when something inevitably doesnt work that they need. Good luck going to the ubuntuforums and starting with "I ripped out Gnome for lxde, and replaced grub with extlinux....."
I spent several years with Ubuntu as a primary distro, and it was both a lot of fun and a great learning experience, but most of that experience came from things like upgrading to 7.04 and spending several days trying to iron out why sound no longer works, or figuring out why Ventrilo wont cooperate with Wine and push-to-talk. The thing is, Im not really your average user and most people arent gonna want to spend days futzing with kernel driver blacklists or compatibility layers. The honest to goodness truth is that with just about ANY problem you could find on a Windows desktop, I could google it and find a technet article, a MS KB, and a ton of forum and experts-exchange answers on it. The same simply isnt true for Linux, and thats partly because of its fragmentation and marketshare.
Linux is great for systems that will be managed by folks who do Linux, and its great when those folks can set up a locked down system for someone else. But as an every day replacement for Windows, to be managed and run by average Joe? Yea, not quite yet.
You mean Windows' mess of deeply nested and illogical configuration options and wizards? Its haphazard collection of inconsistent user interface elements? The way it randomly and inconsistently remaps the file system hierarchy in the user interface? The way plugging in any new piece of hardware starts a hardware installation wizard that hardly ever seems to work and then causes people to go hunting for some CD or driver on the net? The way you need to reinstall Windows every now and then because it mysteriously slows down or bits and pieces of it stop working?
No, I don't think the Windows desktop environment is "superior" for anybody, not experienced users and not novices.
Look, I agree with your assessment but I feel you're inviting trouble by posting such a comment on Slashdot. You run the risk of people posting retorts, using Ubuntu as an example of a workable alternative, mentioning "grandma" every so often, etc. I don't bother trying to debate the merits of operating systems on Slashdot anymore - as far as most people are concerned Linux rules all, despite the fact most people disagree (but hey, apparently it's because they don't' know any better. Well it didn't stop Firefox and Chrome from gaining market share with the unwashed masses, so maybe it's more than just that...")
Most people on Slashdot are fucking idiots.
(As an example), I am still cursing mozilla and other new web browsers for the way they are keeping their UIs in a constant state of flux. Things like moving the home icon, making the status bar something that only appears if you hover over a link for 2 seconds, and just making everything look different from what it was 2 years ago. That sucks when you have to provide tech support for idiots who don't know if they're using netscape navigator or Internet Explorer 9.
And in Linux, I have found that there are plenty of GUI tools that I never bothered to learn, specifically because the Redhat version is different from the Debian version, and possibly the newer Redhat version is different from the older Redhat version.
So, yes, keep the G-d damned command-line in every version of every operating system, because I want to spend my study time learning new things, not just learning how to do the same old things in different versions of Windows/Linux.
And, no, I'm not going to make the argument for CLI reliability (that it never mangles your settings in such a way that you have to try again), or flexibility (that it's the only decent way to do scripting). Others have done a much better job than I could, in that area.
As far as I know, no one is disputing that the command line is a useful interface for many administrative and scripting functions. But these are not things that most users are going to be doing.
The important part is this: "no piece of technology targeted at the consumer market should ever require that something be done via CLI". If you require a command line, then you must accept that a majority of regular users aren't going to put up with it. Fundamentally, this is aimed at Linux: as long as a substantial number of operations require dropping down to the command line (and Linux fans defend this state of affairs), then Linux on the desktop will never be a mainstream reality.
You can do important stuff from the command line on Windows - IIS log queries with LogParser and batch image editing with ImageMagick are some of the reasons I've used this in just the past couple of days. But the average Windows user never needs to see or touch it. This is why Windows is a mainstream desktop OS and Linux is not.
The windows binary registry is a poorly thought out single point of failure with not nearly enough consideration given to basic disaster recovery. It's a database implemented by people with no clue about databases.
"if you debug and understand how it is used"
In other words: It's great if you drink the kool-aid.
A Pirate and a Puritan look the same on a balance sheet.