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.'"
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.
'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.
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: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: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.
You can have my CLI... (Score:3, Interesting)
Dipshit...
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: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:really?? (Score:5, Interesting)
Re:really?? (Score:2, Interesting)
Google searches aren't CLI any more than this comment text box is. A CLI google search would be more like typing out the URL "https://www.google.com/search?sugexp=chrome,mod=18&sourceid=chrome&ie=UTF-8&q=command+line+interface" by hand. And browsing through the results pages is very much unlike a CLI.
I think it's more accurate to say that we are getting a better understanding of CLI behaviors that work well, such as the app launch shortcuts and text expanders you mentioned, and incorporating those into everyday use. I certainly believe that the CLI retains its function, and it is without a doubt the best tool for certain jobs. It's not great for browsing, or any operation in which you aren't quite sure when you start out where something is or how it works, but if you know those things from the outset it is very easy to string a number of commands together to get the exact output you desire.
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:Just what they want Linux to become ? (Score:5, Interesting)
You didn't look at Gnome recently, did you?
Re:And what are you supposed to remotely?? (Score:0, Interesting)
That's not the problem. The real problem with removing the CLI is that it removes the ability for a human being to tell its computer what to do, which effectively reduces the humans ability to have any free controll left over the processing of worldwide (internet) available information(=knowlegde=power).
"First we enslave what can be commercialy shared (copyright), then we controll what can be done with massively processing data (DRM), then we controll what processing system people may use (TCP, 'secure' boot) and then what can't be integrated into systems (patents). Let's turn thinkers who escaped the hell of ' thinking FOR YOU' (television) into mental slaves (you will think about what we let you think about). Of cource democracy and freedom of whatever remains your very power in our holy western developped countries (enslavement sections of the once free world), but we won't let you have the power to use them like we let you use them." -some enslavement tribe of people who just like to see the world burn for the realisation of their stable and manic unipolair SICK mental problems.
Now... Who are these people? Probably some humans who are firends. How do they gain their power? Like humans once largely did: "Those who aren't [physically] strong, must be smart" when they needed to steal food from a lion. How some thinkers steal your food for thought.Why are revolutions never succesful? Because they aren't liberations. Why is fighting never succesful? Because fighting isn't thinking.
The "post-P[ersonal]C[ompute] aera" (-Steve Jobs, glad he's dead) is the last milestone to reclaim the power over your brain (TV, news, music, art) and Apple will be the "just working", shiny, best and easy way to make sure that happens. Wikileaks and that 'horrible' self-thinking, truth telling, selfishless Julian Assange shall be made examples of.
FUCK YOU for posting this article from the shithole it came from!
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: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: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.
Re:really?? (Score:3, Interesting)
Re:The worthwhile point that is missed... (Score:2, Interesting)
Sorry to burst your bubble but Linux already dominates the desktop. The general public sits down to a computer and launches a browser (gui to a linux server).
They spend the better part of 90% of their time logged into some application powered by thousands of linux servers. Google, Gmail, Facebook, Pinterest, Twitter, ClickVille games etc etc all powered by a linux server.
The CLI is not there to assist the general public it is there to allow us professionals to manage things efficiently.
A desktop os is only a vehicle in which to launch a browser.
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: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: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: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: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: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, 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).
Comment removed (Score:4, Interesting)
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: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).