Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Yeah. The command line is dead too. That's what purists believed in 1986. The Mac killed it. Except, it just keeps coming back because it's so danged useful.


How many people do you know, whose job title does not start with computer and/or IT and/or sysadmin, actually use the terminal?

Think of this as a "meta-filesystem". Instead of asking the OS for files and folders, an app just asks the OS for "photos" or "music". Most people, and by most people I am referring to the lowest common dominator like your grandmother, don't care where a file is and actually constantly loses where files are.

As with all things Mac, since Apple obviously dogfoods their systems and servers with their computers, the filesystem will not go away. But it will be hidden from the bottom 99% technical layperson who simply doesn't care. Files and Finder, like Terminal.app, will be there for those of us who do care.

You need to differentiate between what's good for the people/commoner and what's good for the developer/pro-user, since they are in extremely difference market segments given technical proficiency.


How many people do you know, whose job title does not start with computer and/or IT and/or sysadmin, actually use the terminal?

Loads. They are called working scientists. Sometimes there is a perception that the world is divided into geeks and "appliance" users. There is actually a non-trivial amount of grey area in between.


Why do those scientists have to use the terminal?

Not a snarky question: I'm not very familiar with scientific computing and am curious (from a UI perspective) why, say, applications for office work manage to keep things essentially all in the GUI, but apps used by scientists can't. Is the problem that scientific apps don't devote enough resources to good/comprehensive UI or is it that what scientists do is better done from a command line?

Regardless: as I said elsewhere in this thread, this is why I'm starting to think of PCs/Macs as the workstations of this era. There will always be a need for them. But they're probably needlessly complex for most uses.


To answer your question, there's a number of reasons. Undoubtedly some do just come down to "historical reasons" but there are many reasons why a command-line is actually the right choice. The main reason is that the scientist wants to run a very specialised analysis of her data, and so is almost certainly either running custom code, or at least code that was developed in an academic environment. Creating GUIs that are flexible enough to cover all the things somebody might do with their data is a complex and time consuming task, and does not directly produce "science". It is a lot easier to use the command line to interact with your dataset. Moreover you often don't know what you want to do in advance ("if we knew where we were going, we would't call it reasearch"). Therefore a typical user may fiddle around with the command line trying to get the most out of their data, and then string it all together in a script - so again, a command line makes a good prototyping environment.

Certainly in my area (astronomy) I have seen some attempts to provide gui based intefaces to data reduction, and even mocked up a few myself; but the effort to reward ratio isn't worth it - especially since you are dealing with people who can, in general, follow instructions.

Also, do not underestimate the higher effiency of the commandline - after all, there is a good reason we all use it. Even if there was a system administration gui out there, would most sysadmins use it? It's actually faster to type.

I think the "appliance" model of computing (eg. iPhone/iPad) is perfectly valid for a good percentage of the population at least for some of the time, but it won't render "classic" computers obsolete.

I also have to say that personally, I have generally been dissatisfied with attempts to disguise or flatten the filesystem by, for example, using tags instead. I actually think pretty damn hierarchically, so I often organise my material as IF it was a filesystem, when the application will allow me to do so - maybe it's just me?


Excellent answer, thanks, and I think my (also-hierarchically-inclined) gut agrees with your last paragraph: if you're gonna expose a complex filesystem to the user (and, for many usages, that's a good thing), hierarchical — with metadata/content indexing for fast querying — is probably the way to go. I'd like to hear of situations in this area where people think a tag system is/would be better than the hierarchy+index system, though.


well, I'm a doc; I and every other doc in the military use a ncurses-like system on a VT500-7 emulator hundreds of times a day because it's insanely fast compared to the slick java/IE7 GUI that the gubm'n't spent $20B to write (AHLTA, look it up. Tons of money for you if you can beat it. Would be willing to help).


Ahh, thanks! I was thinking of terminal usage as being synonymous with shell usage, when, of course, there are many users of character-mode apps that never see a shell.

An iPad running a terminal emulator and with a keyboard attached would be a comparable experience. Though, clearly, it's not the best solution for most such users. Linux/etc all the way for that.


The terminal is not the only command line. I would imagine a lot of people use Start->Run, Windows Search, Spotlight, Google Desktop Search, and search engines, and those are all command line interfaces in a sense.


I disagree with you there. Yes, those are command line "interfaces" in terms of what the GUI (or lack thereof) is. But typing in a name into a search box and being presented with a graphical list of results as links or icons is not at all the same thing as a command line interface that lets you actually type commands, parse results, and execute other command line programs. Don't confuse a search box with a command line, because those are very different things.


I never said it was the same thing, and I'm a little insulted that you'd think I did. Of course a shell is different from Spotlight or even Start->Run. But they do share the basic UI paradigm of typing in commands rather than graphically navigating to them, because that paradigm is more usable for many tasks.


My apologies; looking back at what I wrote, I realize I did respond harshly. Your comment (and you) deserved more courtesy than that...

I guess my disagreement stems from the fact that I don't see what I type into those boxes as commands (even though some search boxes, like the one in the Windows start menu, can work that way). I think of those boxes as fixed to one command, search, and all I get to type are parameters.


Yes, but what you type into a shell is just parameters to a system call ;)

Seriously though, from the user standpoint, typing "vim" into the shell and typing "TextMate" into Spotlight are more similar to each other than either of them are to navigating through the Finder and double-clicking TextMate, or even clicking it on the dock. The shell is smarter, but perhaps too smart for some users.


What about tab-completion?


A lot of people use Google.


You're right, the command line isn't dead, just as the Finder isn't going to die. But like the command line, the Finder will asymptotically approach uselessness for most people. iTunes just manages music better; iPhoto manages photos better.

Ask ten random Mac users how to find a file by name via the command line.


Interestingly, the Finder might go away before the command line. The first answer that popped into my head to give you was "mdfind"—and then I realized that it wasn't "by name," but rather by Spotlight metadata. File names have already hit the limit of infinitesimal usefulness.


You clearly don't get the semantic power of written language over gesturing over icons. I wonder if we are not intentionally de-evolving ourselves with all this gesturing.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: