Has the Command Line Outstayed Its Welcome? 1134
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.'"
really?? (Score:5, Insightful)
Guy is a fucking moron. Thats all.
Re:really?? (Score:5, Insightful)
Re:really?? (Score:5, Insightful)
And yet text expanders, text based app launch shortcuts, etc are all the rage with GUI users these days.
CLI is the defacto interface for Google searches. People use it everyday and all day long. Nobody complains that it isn't intuitive.
The right tool is the one that works the best got the job at hand.
Search (as most people use it) not CLI (Score:5, Insightful)
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.
Re:Search (as most people use it) not CLI (Score:5, Insightful)
Google understands:
y = 3x + cos x
movies 12345 (or any zip code)
light years in inches
taco bell in los angeles ca
valentine's day
Building a GUI that does that, and can still find you cat pictures in an intuitive fashion without using the equivalent of a command line is just not going to happen. Yes, it takes a little effort to learn a command line but at some point a bunch of gestures, buttons, and drop down's just don't cut it.
Re:Search (as most people use it) not CLI (Score:4)
A command line is a line of text that is input for a command.
How is that not a line of text that is taken as input for a command?
Re:Search (as most people use it) not CLI (Score:5, Interesting)
A command line is something that runs through a rudimentary lexical analysis, has a defined syntax, and parses according to rules.
That is a simple GUI with a text input control doing some quite nifty Natural Language Processing (NLP).
actually, thats exactly what CLI is (Score:5, Insightful)
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.
Re:actually, thats exactly what CLI is (Score:5, Insightful)
Re:actually, thats exactly what CLI is (Score:5, Insightful)
Just because you type words into a search box, that doesn't make it a CLI
To call the Google search box inside a GUI object (like a web browser) a Command Line Interface shows complete and utter ignorance to what a CLI actually is.
On a CLI you are actually issuing instructions (hence the words Commands in CLI) to the OS commanding it to do something. In a Google search box you are typing terms or key phrases to be used as parameters of a search.
Re:Search (as most people use it) not CLI (Score:5, Interesting)
>Typing in a few keywords is not CLI. That's just data input in response to a prompt.
Have you used windows 7? the search bar searches programs and enter executes them, I'd say that 85% of my customers are typing excel instead of mousing through multiple menus.
Re:Search (as most people use it) not CLI (Score:5, Interesting)
It's no different than the typical CLI interactive session.
Few people string together complex commands and arguments interactively. Most think about it, then do a few tests interactively, then write a shell script, then make an alias for it.
At this point it you're just passing in an argument : mysearch "some keyword"
Very similar to Google's input.
A better example.
In OS X you type 'open mail.app' in a terminal and pop, mail opens. Many GUI users are amazed by the simplicity when you show them this and instantly want to try more. 'open Microsoft Word' - bam, Word opens. OMG. It's so much faster than pointing and clicking.
Then you show them 'open some file.docx' and when it opens in Word they fall on the floor.
Suddenly they want to know more about this Terminal.
Re:Search (as most people use it) not CLI (Score:5, Insightful)
But typing in a filename is?
The article is pretty moronic. The author seems to be saying "CLI should be there, but should be hidden." Well, it is pretty much hidden. Many users go through life completely oblivious of the command line. Hell, you have to go three or four deep in Windows just to find it (unless you've made a shortcut as I have). He goes on to say, "If the command line is going to be there, it should only be used by tech support". Or something. That's even stupider.
How many people, sitting at computers today, got a computer to do one thing and found out they could do something else completely? I remember my first personal computer back in the 80's. I just wanted a word processor and today half my income is generated using a computer as a digital audio workstation. And I've had to use that CLI more than a few times getting here.
There is such a desire by the elites to make personal computers just a shopping interface. It's when I think about that desire that I find myself being a lot less critical about "the dumb masses", because when it comes down to it, they want us dumb and will go to great lengths to keep us dumb. I have a lot less anger toward ignorant Mr and Mrs America sitting and watching American Idol and Fox News because the amount of money and energy and sheer brute force that's being exerted by the elite god-kings of our society to get those people to do that and stay ignorant is simply immense. Hell, there's a political party that shall remain nameless who has adopted a platform officially opposing the teaching of critical thinking skills.
So...fuck 'em. Keep the CLI and stop being angry at the ignorant. To a great extent, it's not their fault. We should be decent to everyone, whether they're ignorant or they want CLI. In the former case, as I say, it's not their fault. And in the latter case, well, one uses the best tool for the job, no?
Re:Just what they want Linux to become ? (Score:5, Interesting)
You didn't look at Gnome recently, did you?
Re:Just what they want Linux to become ? (Score:5, Interesting)
You didn't look at Gnome recently, did you?
I'd rather one good common way of doing the same thing rather then 4000 different ways of doing the same thing.
The Windows binary registry is actually kind of awesome if you debug and understand how it is used. Each configuration parameter can have permissions. Each read and write to the registry can be easily audited/logged. You can use group policy to enforce permissions on registry keys or set them to certain values. Almost every app uses it, allowing you to enforce policy/set configurations across all your devices centrally. To do the same in *nix, you need to know the configuration paths of all your apps, their compile options, and some method of deploying coniguration changes to them (easier to release your own custom packages for your entire environment)
Wouldn't a proc-fs interface to similar system be awesome?!
Re:Just what they want Linux to become ? (Score:5, Insightful)
Re:Just what they want Linux to become ? (Score:4, Informative)
I still can't stomach Enlightenment, though.
Can you please kindly elucidate the reason you _still_ can't stomach Enlightenment?
Re:Just what they want Linux to become ? (Score:4, Informative)
Re:Just what they want Linux to become ? (Score:5, Insightful)
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.
Re:Just what they want Linux to become ? (Score:5, Funny)
Just the other day a Linux distro decided that they want to do away with "Upgrade Kernel Without Reboot" feature of Linux
Now this guy wants to do away with CLI
Just what do they want to turn Linux into - another M$-Windows-like kludge?
While they are at it, why don't they import the "Windows registry feature" into Linux, and/or turn Linux into a proprietary closed-sourced OS??
Why can't they just leave Linux alone?
Well... given that I reboot about as often as I get laid, this should increase the number of times I get laid in a year. Where do I sign up?
Comment removed (Score:4, Interesting)
Re:Just what they want Linux to become ? (Score:5, Interesting)
Come on, Gnome is written by a guy with a hard on for Bill Gates, what do you expect? Which part of Windows did they not try to implement? .Net, mono, .asp and other weirdass shit.
He did say he would love to work for Microsoft.
Since they wouldn't hire him, he is doing his best to turn Linux into Windows.
Re:Just what they want Linux to become ? (Score:4, Insightful)
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.
Re:Just what they want Linux to become ? (Score:5, Informative)
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.
Not even Windows can be adequately managed by Joe and Jane Average. You need a minimal level of understanding in order to keep any system running - not even talking about keeping it safe. I even get silly questions from the Mac users...
Re:Just what they want Linux to become ? (Score:5, Interesting)
Nah, the real problem with Linux is the same thing it's been for years - lack of critical applications. Sure, these days, any web-based applications will work like a charm... but it's things crucial to your business - in my case AutoCAD, MasterCAM and our Infor ERP system - that prevent Linux on anything but the most basic of machines.
Once those apps get ported to Linux, I think we'd be running it within a couple of years, simply due to the lack of cost and stability(and excellent support for out-of-date hardware).
Users, well, they'll learn whatever it takes to get the job done. CLI is great for some things, horrible for others. GUI is great for some, horrible for others. It shouldn't be one or the other - blend the two. Have a good gui with common options, and a CLI box that can be pulled up for access to the complex and arcane extra features(which perhaps only 100 people in the world use, but for them it's critical).
Re:Just what they want Linux to become ? (Score:5, Insightful)
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.
Re:Just what they want Linux to become ? (Score:5, Insightful)
"These days"? Get real, Microsoft has NEVER had a consistent user interface across their applications.
Re:Just what they want Linux to become ? (Score:5, Funny)
You're forgetting the days of the "Blue Screen of Death." That was pretty consistent.
Re:Just what they want Linux to become ? (Score:5, Insightful)
Re:Just what they want Linux to become ? (Score:4, Funny)
I'd KILL for an official Control Panel option in Windows to allow me to customize the BSOD screen. Power Ranger Pink anyone?
The CLI way (Score:5, Funny)
Almost as good as a Control Panel option: add this to your system.ini
MessageBackColor=D
MessageTextColor=C
That should give you bright red on bright magenta, which is as close as you get to Power Ranger status.
Re:Just what they want Linux to become ? (Score:5, Informative)
I'd KILL for an official Control Panel option in Windows to allow me to customize the BSOD screen. Power Ranger Pink anyone?
http://blogs.technet.com/b/markrussinovich/archive/2011/01/11/3379158.aspx [technet.com]
The "Notmyfault" link.
Re:Just what they want Linux to become ? (Score:5, Interesting)
You're forgetting the days of the "Blue Screen of Death." That was pretty consistent.
Hey, you speak like that was in the past. This weekend I installed a (legal, purchased, licensed) copy of Windows 7 Home Premium onto my new machine so I could run games. I installed six games. None of them would run, and of those three failed with blue screens of death: Oblivion, Settlers IV, and Alpha Centauri. What makes that a particularly sour experience is that Oblivion, at least (haven't tried the other two), runs pretty well under WINE (some minor graphics problems, but it's playable).
Apart from that, Windows 7 cannot access the Internet, although Linux running on the same machine can, and although in Windows it can access the rest of my local network and the rest of my local network can access it. Because it can't access the Internet, my newer games won't run. Microsoft's support pages say the most likely reason is that my router is too old to support the modern wizz-bang networking of Windows 7, and they provide an online tool to test your router... [microsoft.com] but guess what, it only works with Internet Explorer, so if you need it you definitely can't use it, and if you can use it you definitely don't need it.
That's the level of thoughtfulness and quality I've come to expect from Microsoft.
Re:Just what they want Linux to become ? (Score:4, Insightful)
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?
Re:really?? (Score:5, Interesting)
Re:really?? (Score:5, Insightful)
I would say that a pretty large percent of Excel usage involves mis-using it as a database program instead of a spreadsheet program.
lol hilarious ignorance (Score:5, Insightful)
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.
Re:really?? (Score:5, Interesting)
Google searches aren't CLI any more than this comment text box is.
You're full of crap. Don't know know about "site:" etc? The difference between the Google search box and a bash command line is, one is interpreted as a search command, the other as a unix executable.
Re:really?? (Score:4, Interesting)
90% of car drivers can't tell you what a camshaft does either, but it doesn't change the nature of a camshaft.
Altavista had site: before google was born. Where did you think that command came from?
If you type commands into a line it's cli. That it takes free form english as well is a good thing, but we did start doing that in the 70s...
I'd love to get away from the command line. As soon as there's something that can do what it does maybe that'll happen.
But not in my lifetime and not in yours either.
Re:really?? (Score:5, Insightful)
Let me se:
1 - Google gives me a prompt;
2 - I type something;
3 - Google interprets and show the results;
4 - Google prompts me again.
Ok, steps 3 and 4 are somewhat merged, but all of them are present. What is the difference, really?
Re:really?? (Score:5, Insightful)
The difference is that Google understands a lot more inputs than any OS CLI. For example, I cannot type "text file editor" to Linux CLI and have it launch nano or similar or at least display what the currently installed text file editors are.
When I do a basic Google search, Google even tries to correct my typos. On the other hand, if I want to extract a .tar.gz archive, I have to type "tar -zxvf archive.tar.gz", if I get one letter wrong, it won't work. Also, the "zxvf" options probably mean something separately, but I just learned that "zxvf" extracts from tar.gz and "zcvf" creates an archive. Which means, that to use a OS command line effectively, I have to remember much more things (options that do the same thing are different for different commands) than I do when using a GUI or Google "CLI". I do not have good memory, so a lot of times I have to do a Google search to translate between what I want to do and CLI (google "Linux how to extract tar.bz2", read the results, edit the command to suit my needs (replace the file name etc), paste it to the command line).
Re:really?? (Score:5, Insightful)
That "I" in "CLI?" It stands for Interface. You're confusing the interface with the application.
Re:really?? (Score:4, Funny)
I use Lynx [isc.org], you insensitive clod.
Re:really?? (Score:5, Insightful)
Why care about the command line? Because it is a whole lot easier then getting carpal tunnel clicking fifty different things when I could just type a couple commands and get the job done.
Just because non-technical users are afraid of a particular interface does not mean you rip it out. After all, distros like Ubuntu, Debian, Linux Mint, Fedora, RedHat and I'm sure plenty of others make it very easy for Joe User to get his computing done.
Re:really?? (Score:5, Insightful)
Maybe you want to edit 40,000 photos to reset their aspect ratio and resolution, and add a flat color border.
The CLI command to do this is easy. Clicking on multiple menus 40,000 times is not.
Re:really?? (Score:5, Interesting)
Now I want to uuencode them and post them to USENET. Does Irfanview do that? Or maybe transfer them via SCP to various webservers.
The point is that sure, you can automate certain repetitive tasks in a GUI, but it's rare that a GUI anticipates all the potential tasks that might need automation. CLI and scripting languages combined with small focused tools that can be strung together can automate many tasks that were never anticipated by the individual tools' authors.
So, in this case, Irfanview anticipated one action to automate. Does the automation extend beyond the app's borders, though?
Re:really?? (Score:5, Insightful)
There will always be some function that can't be done in the GUI because they didn't knkow how to do it that way or they forgot.
There will always be some function that is faster to do in the CLI than it it in the GUI, especially if you know what you are doing.
Re:really?? (Score:5, Insightful)
I normally don't agree with AC, but I think this one hit the nail on the head.
Why is the command line interface still there? Simply because the GIU is lacking that particular feature. I'm also much faster on a keyboard than I am with a mouse/GIU. Sure, when GUIs are able to do what the command line can, then perhaps there may be a reason to phase it out - but until that happens, keep it there. Simply, if you don't want to use the command line interface, then don't. Pretty simple if you ask me. Just because you don't like it, don't call for it's assassination.
Re:really?? (Score:5, Insightful)
I was going about my day until I read this article. Then I had to login to Slashdot just to flame this article.
The #1 desktop OS finally, after years of being predominately GUI only, caved into CLI with powershell. They are now moving in the correct direction and this guy NOW believes a CLI is useless for regular users?
Lets not forget who dominates the computer scene; computer nerds. I could walk grandma through screens of settings... OR I could just send a CLI script to check and/or set any options. Scripting and automation alone make CLI indispensable. And don't think end users won't be using these scripts to simply tasks. They may not be writing these scripts but they sure will be using them!
Re:really?? (Score:5, Insightful)
but no piece of technology targeted at the consumer market should ever require that something be done via CLI
He didn't say "CLI is useless". He didn't suggest taking out CLI. He says nothing should ever require CLI.
If something requires CLI to work, it means every single user must type in at least one command on the CLI for the device to function.
Re:really?? (Score:5, Informative)
He didn't suggest taking out CLI.
RTFS.
Keep it as an option or you can take it out all together.
NO! (Score:5, Insightful)
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.
Re:really?? (Score:5, Informative)
Maybe CLI should not be required. But CLI should always be available.
I can understand a newbie getting scared of big black empty screen. But the newbie can overcome the fear, learn and use that skillfully.
On the other hand, I will never overcome anguish and frustration of repeatedly clicking through the same "Add User" wizard of BackOffice (Small Business Edition) mandated for schools, as I was trying to add four classes of students, each requiring manually entering the same data over and over, roughly 3 minutes per user. Done with cli+adduser command or config file+text editor this would take up to 10 seconds per user. And after a hour of searching for options to automate the process, I arrived at a page where I learned "Batch user addition is not available in Small Business Edition. You need Enterprise edition for this option to work."
But the GUI was so much more intuitive!
Re:really?? (Score:4, Interesting)
I very rarely say anything good about Microsoft technology, but Powershell is actually really nice. It's consistent in a way that Unix shells aren't, and well documented. The commands are descriptive, unlike many Unix commands.
It's slow. Really, really slow. That one flaw aside, it's very well implemented and the competent Windows admins that I work with are very enthusiastic about it. I agree with them.
Yes, I'm suggesting that if you're a Windows admin and you don't know or like Powershell, you probably are less competent than those who do.
Re:really?? (Score:5, Insightful)
Guy is a fucking moron. Thats all.
No, there's more to it than that. Roberto Lim is essentially saying "I never use an electric screwdriver when I need to open my TV remote, so no one except professional contractors should be allowed to use an electric screwdriver." Yes I do happen to be an IT professional, but I use command line loops for a lot of useful batch processing that "ordinary users" would love to use if they bothered to spend the time to look past the GUI.
Re:really?? (Score:5, Insightful)
Exactly.
Ripping DVDs into ISO format is perfectly suitable for a GUI like brasero, because it's so slow.
But transcoding dozens -- nay, hundreds -- of episodes of TV shows is simplified by the liberal use of bash, control structures, variables, at(1) and handbrake-cli.
Re:really?? (Score:4, Interesting)
I was quite tempted to mod you up, but I would say that even then, in your last example, there are other tools available for users and power users.
OS X has its Automator.app which lets you build up a workflow that can run as a separate program, or as a "folder action" (essentially a macro applied to files in a specific folder).
It gives you most of the power of the CLI, with more ease of use.
It really is quite nice to use.
Oh, this won't end well... (Score:5, Insightful)
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?)
Re:Oh, this won't end well... (Score:5, Interesting)
Thankfully, not many.
On the other hand, very thankfully many CAD applications and the like do have a 'command line'. Not a terminal one, but one built into the GUI.
The reason this is 'very thankfully' is because 1. some things really are just easier when typed in, and 2. it forces the developers to make everything that's doable through the UI, no matter how awkwardly, doable in the command line.
The latter is very important when you consider the potential for macros, batch operations, more full-fledged scripting, etc.
If anything, more applications should have command lines.
I realize the article is more about the main CLI, though - and the modifier "required".. in which case I agree, the CLI shouldn't really be required. It's just damn nice it's there when you want it.
Re:Oh, this won't end well... (Score:5, Interesting)
If anything, more applications should have command lines.
This. Fucking, THIS!
All our scientific equipment (that is controlled by a PC, which means 90% of them) has a GUI. And a host of bugs or user errors related to the GUI. And then, contacting the vendor and getting support is a nightmare, with a GUI. My dream is that all of these devices get a CLI so I can just issue unambiguous commands of the type
That would be also scriptable, flexible, powerful, and as I said, unambiguous and easy to debug.
Re:Oh, this won't end well... (Score:5, Interesting)
I had a scientific instrument that cost $70K ship with an embedded CPU running stock consumer-grade Windows 2000 with a massive 100-pin plug that included wires for keyboard, vga, mouse, and ethernet and a 50' cable. For an underwater application that was supposed to be "automated". Yes, their idea of automation was to put their craptastically bad GUI app in the Startup folder and have someone use a full KVM to get shit started. Oh, and the ethernet plug had an issue such that only 3 of the 4 wires could connect.
All I wanted was: power up, collect sample, transfer data, power down. Instead, I had to write multiple programs in Win32 to simulate mouse and keypresses to get the program to "take sample", re-wire the ethernet to 3-wire RS232 and run Kermit as a daemon, and a 2000-line Perl monitor to check available battery power and issue the shutdown commands if things were getting tight, or just kill power anyway and hope to God that when it came back up it wouldn't be stuck in chkdsk expecting user input.
The crazy thing is that they are still in business all these years later.
Re:Oh, this won't end well... (Score:5, Informative)
It does - sort of. The supported languages are not very well-tailored to the application, but there is a Console and you can enter commands in there directly if you want. :) :) )
I haven't checked if there's a 'apply pencil at x,y' - but I would imagine there is one
( I have only used it for some batch processing - specifically for a segmentation-based chromatic aberration removal process for a lens that makes the usual tools very unhappy (the equations they use just don't fit nicely). Admittedly, the lens is a piece of $20 e-bay crap
I'd start with these two:
http://docs.gimp.org/en/gimp-using-script-fu-tutorial.html [gimp.org]
http://www.gimp.org/docs/python/index.html [gimp.org]
Re:Oh, this won't end well... (Score:5, Informative)
I've seen a pro at work with AutoCAD.
While us, students, would click awkwardly through the menus finding a command buried three levels deep, it was at his fingertips. He'd create our hour's work within less than five minutes, and primarily thanks to never digging in menus. One hand on the mouse to point things, directions, intersections, grid points etc, the other telling what to do with that point - using the keyboard.
Next up on Slashdot (Score:4, Insightful)
"... 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.
Re:Next up on Slashdot (Score:4, Interesting)
I do it all the time. But on the other hand, I install phone systems for a living :) So my answer on the first question is "last Friday", and for the second it was somewhen two weeks ago, when one of my children dropped the remote.
Three words: (Score:5, Insightful)
No. Fucking. Way.
And what are you supposed to remotely?? (Score:5, Interesting)
Sometimes you have to have a user ping something, telnet to something. I know it sucks and it is hard, but basic connectivity tests are what you need. /Love using AppNeta's PathView so I don't have to do this much anymore. //Just need the company to get more testing equipment.
Re:And what are you supposed to remotely?? (Score:4, Interesting)
http://chrome.google.com/remotedesktop [google.com]
No configuration required, just need Chrome. Never been easier to remote Desktop (Works even on Linux, it's just an add-on for Chrome)
Re:And what are you supposed to remotely?? (Score:5, Insightful)
And when you're having the user ping *BECAUSE HE HAS CONNECTIIVITY ISSUES* that remote desktop will be useless.
Re:And what are you supposed to remotely?? (Score:5, Informative)
The problem is that the GUI interface to the network has moved to different locations in different versions of Windows. In an IT department, you probably know what version of Windows is running, but with the public at large, they may have not a clue what version of Windows is running and how to access that information. Running ipconfig works on virtually every version of Windows. And to my knowledge, Windows has not provided a GUI interface to ping or tracert. Sure, there are third-party versions, but most systems don't have them installed, and if you're trying to troubleshoot a network problem, you probably can't just download them then.
Re:And what are you supposed to remotely?? (Score:5, Insightful)
Rhetorical question: Have you ever tried to tell someone over the phone how to navigate around a GUI?
Re:And what are you supposed to remotely?? (Score:5, Informative)
"Yes I have. I have a mother and she's a pain even when you're standing next to her. You pick it up fairly quickly.
The key is to help guide the eyes and always confirm that the expected outcome has happened. It's not a case of saying "Double click network and then click status" It's a case of "Do you see the little icon that looks like ...., now double click it, did you see the window pop-up?, good now at the top of the window there will be a few tabs one of which will say status, now click that status tab..."
It's simple once you adapt to it. Mind you the commandline is not without its problems either. There's a lot of users out there who don't know what the "-" symbol is. Is it a dash, is it minus? Not to mention the many people who don't know which slash is a forward slash and which one is the backslash.
Re:And what are you supposed to remotely?? (Score:5, Informative)
I'll do the same thing with CMD.exe.
xcopy c:\*.mp3 g:\
del c:\*.mp3
I win!
Do not post replies. (Score:5, Insightful)
Article = flamebait.
Re:Do not post replies. (Score:5, Insightful)
But we can fix the article's author. They just need to:
apt-get install functioning-brain-cell
Re:Do not post replies. (Score:4, Informative)
Roblimo is Robin Miller, surely?
Name explained here: http://en.wikipedia.org/wiki/Roblimo
Roberto Lim is NOT Roblimo (Score:5, Funny)
Damn it, this really bothers me. I'm usually very careful to check my theories and hunches before I post a comment, but I really messed that one up. Now instead of modding me down, like I asked, people are modding it up. Apologies to Roberto Lim and Robin Miller, and anybody who read what I wrote but missed the AC's correction.
I want to blame the Euro soccer finals and copious amounts of alcohol, but I should know better than to drink and post.
GUI? (Score:5, Insightful)
Re:GUI? (Score:5, Interesting)
When you use sed and awk you're beyond the reach of basic use of software and are really starting to head down the programming route. I guarantee there is no normal end user in the world, even linux users who even know what sed or awk is let alone can figure out the arcane (to the novice) syntax.
Guess what? Whenever you use formulas in Microsoft Excel, you're starting to head down the programming route. People do this all the time.
Re:GUI? (Score:4, Insightful)
No, excel experts do this all the time. The vast majority of excel users type in numbers and then get quite stuck fairly quickly when something as easy as selecting a row and hitting the sum button doesn't work.
In any case there's still a wide difference in advanced use of excel and the use of tools like sed and awk. One basically requires you to be an expert in the use of expressions, and the other one has an interface which coddles and handholds your way through. I've never once had sed pop-up a window saying "Ooops, there appears to be something wrong with this formula, I've highlighted your mistake and in bold proposed the fix. Do you wish to accept this fix." and when I don't even know what function I want, I click the F(x) button and a GUI pops up with a searchable list of every excel function which guides you through entering every arguement.
You can create really complex functions in excel without ever actually using a single bracket. That's the difference.
'consumer' (Score:5, Interesting)
CLI isn't just for 'tech support and IT', but most users don't have much use for it. Though some people are just going to like it even if they are 'consumers', there are times where it can be a real time saver for common 'consumer' tasks. Though I do have to agree that no 'consumer' app should actually require its usage at this point.
Is that even worth a discussion? (Score:5, Insightful)
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.
That's the whole point. (Score:4, Insightful)
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.
So? (Score:4, Informative)
Why did this even make it to the home page? That door is so open you can't kick it in anymore.
He's right. (Score:4, Insightful)
*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.
Re:He's right. (Score:4, Interesting)
I do not want a gui primary interface.
I want standard input and output on every program.
If it cant be part of a pipeline, it isnt worth much to me.
Re:He's right. (Score:5, Informative)
This would make a lot of sense ... if it were even loosely based on reality.
My wife, my 12-year-old daughter, and my mother in law all use linux as their only desktop OS. None of them know a CLI from a hole in the ground. None of them needs a CLI to do anything they want to do. They use GUIs exclusively -- mainly Firefox, libreoffice, and GIMP. There is no "GUI issue."
The existence of open-source applications on linux is a good thing, not a bad thing.
Re:He's right. (Score:5, Insightful)
My only issue (other than the inflammatory headline) is that these are lessons that were learned thirty years ago. Do we really have to remind developers that non-experts prefer point-and-click interfaces that elucidate the program's functions or that command lines are efficient and allow greater nuance?
A GUI is to a CLI as gesture is to speech. One is multidimensional, pictorial, concrete. The other is unidimensional, verbal, abstract. Each has an advantage at certain tasks: Using a computer that only works visually is like trying to convey War and Peace through mime. Conversely, to a user untrained in a particular application, accomplishing tasks via a command line is like trying to have a meaningful telephone conversation with an aborigine.
Which is better? I don't care—give me both, thank you very much. Visual interfaces are indispensable as they can display complex information in an intuitive and language-independent manner. But please give me an interface to talk to the application and string programs together with all the grammatical complexity of a command line.
Comment removed (Score:5, Insightful)
Re:He's right. (Score:5, Insightful)
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.
How could this post be +4 insightful?
If you have two screwdrivers in your toolbox but only ever use one, the unused one is NOT a hinderance. Others have a need for that 2nd screwdriver.
Look, most people have working legs so all those wheelchair ramps are a hinderance.
You should NEVER have to go to command line.
Then a lot of what you can do with a program will never get coded in a GUI. Even Windows has regedit!
Look past the end of your nose.
Betteridge's Law of Headlines... (Score:5, Informative)
I invoke Betteridge's Law of Headlines [wikipedia.org] here.
No.
No (Score:5, Insightful)
And if it wasn't available we would find a way to install it.
Next topic.
Troll article (Score:5, Informative)
Troll article is trolling. Nothing to see here.
Dinosaurs are blogging now? (Score:5, Funny)
"Mobile Raptor blogger Roberto Lim"
Well I'd assume raptors would be mobile, but I still have no idea why a dinosaur would be blogging, let alone why anyone would care what they thought about CLI vs anything else?
Flamebait or not, the quotes article are so wrong (Score:4, Insightful)
"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.
Silly.... (Score:4, Insightful)
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...
You can have my command line (Score:5, Funny)
human language (Score:5, Insightful)
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 [some.server] && 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?
fallacy is a weak argument (Score:4, Informative)
Lim is using a fallacious argument known as argumentum ex silentio, or appeal to ignorance: Lim is unaware or ignorant of the reasons for a command line to exist, therefore, command line has no reason to exist. Here's another example of the appeal to ignorance fallacy:
Using a lawyer evokes a sense of pride, so I expect to get flamed by the members of your bar, but I have to admit, I usually wind up following instructions from an attorney without fully understanding their import. Lawyers don't make any sense to me, so lawyers are unnecessary.
Here hairyfeet is employing half truths or suppressed evidence --a statement intended to deceive that conveniently omits the facts necessary for an accurate description.
Here hairyfeet cleverly combines half truths with observational selection, which is similar to confirmation bias, as he points out unfavorable circumstances while ignoring the favorable.
Spectacularly, hairyfeet ends his nonsensical rant with a blatant non sequitur, as his wildly inaccurate conclusion does not follow from any legitimate established premises, nor even his own prejudicial opinion. Hairyfeet's reasoning is flawed beginning to end. Apparently, in hairyfeet's world, computer servers are not what they are because they serve the requests of client computers or programs, but they are servers because the type of their human interface is not used for anything often. Let me see if I can construct a similar example of hairyfeet's flawed argument:
There are only TWO reasons to write a blog -- boredom and conceit -- and how many readers or editors require writing blogs or repeating the same editorial constantly? That would be pretty much none, which is why I say as long as a blog is the dominant way to do anything on a webpage, it is a bad habit indicative of narcissistic compulsion and neither a legitimate profession nor a constructive use of free time.
Re:windows are for working with many things at onc (Score:5, Informative)
CLI is for writing code...?
What happens in your GUI when you have a folder with 10,000 files in it? What if you want to do something with all those files? Are you going to do it one click at a time?