Slashdot is powered by your submissions, so send in your scoop

 



Forgot your password?
typodupeerror
×
Operating Systems GUI Software Programming IT Technology

In The Beginning Was The Command Line, Updated 416

Unqualified code-monkey Garote submits his annotated version of Neal Stephenson's In The Beginning Was The Command Line, updated to discuss UI design theory and fill in some of the gaps from the last five years. (And yes, he has been granted permission from Neal to do this.) There's plenty more to cover of course: Will the command-line last only as long as the keyboard? How will desktop search technology change our workflow? What about the 3D interface? Scroll to any random paragraph in the essay and you'll find something worth expounding on. What's ahead for the next five years?
This discussion has been archived. No new comments can be posted.

In The Beginning Was The Command Line, Updated

Comments Filter:
  • Hopeful (Score:4, Interesting)

    by dsginter ( 104154 ) on Wednesday January 05, 2005 @09:29AM (#11262751)
    What's ahead for the next five years?

    Hopefully, some higher power will pick an OSS desktop, create some interface and application standards and we can all start dumping Windows. Until then, my Linux migration ends at the point where I have to pick gnome or KDE (or even something else).

    Which one should I pick and why?
  • Future ? (Score:3, Interesting)

    by mirko ( 198274 ) on Wednesday January 05, 2005 @09:32AM (#11262773) Journal
    There are many ways to predict the future, I personally think the monitors will be everywhere, from our flat's walls to our clothes' sleeves.
    It'll still be flat (2D) and people should now realize that what counts is the input.
    For years, we only had one focus at a time and this should change, thus allowing drastical changes (imagine if several networkedusers have a focus on an app at the same time... impossible ? who remembers the Acorn "Spheres of chaos" where 4 users could play on the same machine at the same time ?).
    So, I'd go for a more practical approach to a 2D interface (I was thinking of some itnerface that would ban both scrollbars and overlapping windows by magnifying the active zone of each focussed elements while reducing the others thus making these still visible, ergo invokable)...
  • Monad (Score:5, Interesting)

    by Jugalator ( 259273 ) on Wednesday January 05, 2005 @09:36AM (#11262796) Journal
    When seeing an article like this going on about command line histories and 3D desktops, it's interesting that a major new feature in Microsoft Longhorn will be the completely new shell code-named Monad [wikipedia.org]. Hm. Better late than never, I guess. I wonder why they see a need for it though; aren't they trying to move away from a command line? Maybe it's an attempt to get back users having switched from Windows. Who knows, but that sounds a bit strange too, since it won't be very compatible with a *nix shell either. :-/

    IMHO, it's one of the strangest and most surprising moves in Longhorn.
  • Real computing (Score:4, Interesting)

    by Himring ( 646324 ) on Wednesday January 05, 2005 @09:36AM (#11262799) Homepage Journal
    I studied English lit and ancient Greek in college. I gained the best understanding of grammar, syntax and sentence structure from Greek. Breaking down those huge words, looking at a language from scratch -- it has helped me the most in English. It's tough now to not see Greek in English words. I view prepositional purposes from the Greek model and all parts of speech came into light through Greek (queue the "it's all Greek to me" jokes).

    When it comes to computing, I started out at the command line. True computing, to me, IS the command line, and I gained the most understanding of computers from it. I prefer to use Linux that way (I don't load a GUI). "Windows is a good terminal" is how I think Richie put it, and although the GUI is here and necessary, real computing will always be from the command line. I will admit Lynx never replaced a GUI web browser for me, but someone who really knows the command line (and therefore the OS) can run circles around the mousey admins....
  • by md81544 ( 619625 ) on Wednesday January 05, 2005 @09:44AM (#11262840) Homepage
    The keyboard isn't sacrosanct... granted, we'll always want to be able to enter text (at least those of us belonging to the rebel alliance will).

    I can't imagine ever having speech recognition being good enough for a programmer, it would be too slow to have to say "cout less than less than quote capitalised Hello comma world less than less than quote semi colon", and it would make the workplace an awful noisy place :-)

    But what about the non-invasive "thinking caps" featured recently in a story? Maybe one day we'll be able to simply "see" the word or line and it will be entered...
  • by perkr ( 626584 ) on Wednesday January 05, 2005 @09:45AM (#11262849)

    And why would that be the case considering how long time it takes to be proficient in typing? Surely, it is possible that an alternative text entry interface would emerge in the future.

    For example Dasher [cam.ac.uk] is pretty cool, and there are other (in fact numerous) alternative interfaces. See for example Masui's on-line bibliography [pitecan.com].

  • Eventually (Score:3, Interesting)

    by Bruha ( 412869 ) on Wednesday January 05, 2005 @09:50AM (#11262883) Homepage Journal
    Interaction with a computer will evolve to the point that we think and the computer picks it up. It's plausable that our very thoughts could someday be tuned in much like you can pick up someone's bluetooth network from a short distance away which leads to major privacy concerns. However if we become closer and more intergrated into machines with enhancements it could very well be that we give up on privacy for the benefits of group mind (What one knows all know).
  • by buro9 ( 633210 ) <david@nosPaM.buro9.com> on Wednesday January 05, 2005 @09:53AM (#11262903) Homepage
    You couldn't say them?
    Or think them?
    Or look at something and have the brainwaves converted into words applicable to that which you're looking at (or have bound to that image).

    The command line will only be around as long as there is a keyboard... and the keyboard won't live forever.
  • by RenatoRam ( 446720 ) on Wednesday January 05, 2005 @10:04AM (#11262970)
    Doskey?

    No, you obviously don't know what we are talking about.

    Press CTRL-R and some letters: the history is searched backwards for that command. Press it again and go back for other occurrences.

    doskey... pah!

    And we are NOT talking of "addons". Most of the pipe filters are part of the basic binary apps.

    Sure, if you are on a Digital Unix 4.0 machine you are pretty much stranded with the oldish and poor userland utilities, but on modern linux CLIs all the things I'm talking about are there FOR SURE.

    Installing a *nix app in my book means "windows has a featureless cli".

    Oh, and please, try this on windows:
    $ for file in 'ls image*.jpg'; do echo "Processing $file..."; mv $file 'date +%d%m%Y'-$file-image.jpg; done

    ...and this is without checking manpages, and really only a very simple example.
    (yes, I know about the backticks, but I have no time to search how to post those in slashdot)

  • Re:pick anything (Score:3, Interesting)

    by youngerpants ( 255314 ) on Wednesday January 05, 2005 @10:09AM (#11262991)
    Actually very good advice (if completely off topic)

    I was (and still am) a windows power user who was going up the very steep learning curve of learning Linux some 5/6 years ago. I could do "some" stuff with it, but it wasn't until my main PC died and I was left with my Linux laptop for a couple of weeks that I all of a sudden Just-Got-It tm

    These days all operating systems are all pretty much the same as far as I am concerned, XP is a great desktop, Linux is a great server, Sun is a great number cruncher and I still miss CP/M :)
  • by Junks Jerzey ( 54586 ) on Wednesday January 05, 2005 @10:24AM (#11263106)
    I'm a die hard command line user, yes. I have no delusions about it always being better than a GUI--I use both--but I do a significant amount of work from the command line.

    What's peculiar to me is how crusty and stale most command line environments have become. Most UNIX users swear by bash, which isn't even as nice as 4NT for Windows. Feels like there's a lot of room for improvement here. For example, how about capturing all of the output per command, then quickly allowing you to scroll through a list of previous commands and jump to its output? Or getting away from overly static command line windows and instead having something like a simple text editor, where you can move around in a "document" and press Enter at any time, with the output always appearing below it (some language interpreters work like this). And shell scripting languages are irrelevant these days, so a shell doesn't need to be bulked up with such commands. Just use Perl or Python (or whatever) for that sort of thing.

    Note again, I'm not trashing the command line. I'd simply like to see it move forward.
  • by dasunt ( 249686 ) on Wednesday January 05, 2005 @10:26AM (#11263126)

    When comparing a industrial strength drill (hole-hawg:unix/linux) to a normal drill (consumer-drill:windows/mac) the commenter writes:

    What's more powerful, a hole-hawg, or a five-speed consumer drill with large grips, a safety shut-off, and a built-in level? The hole-hawg, obviously. But which would you rather use to drill, say, five hundred chandelier mounts in a ballroom?

    I have to go with the tool that has a good chance of drilling 500 mounts. I don't trust fancy consumer drills to survive drilling many large deep holes.

    Which, I think, also applies to unix/linux. I don't get all misty-eyed and sniffly at the thought of using a shell and good ol' CHUI tools. Nope. I use them because they consistantly get the job done quicker and easier than other tools.

    The problem is that a lot of these nifty tools are scary, in meatspace and in cyberspace. They also require some training before use -- a steep learning curve. Take a bolt extractor (looks like a very corsely threaded thich screw with a square end for the wrench). Hand one to the average person and they won't know what the hell its for. But with a little knowledge and another simple tool (a good drill and a bit for metal) its rather useful to take out a broken bolt. What about a cutting torch? Screw up, and you'll be seeing grandma and Elvis. Learn to use it correctly and you'll be able to remove a drum from a vehicle with rusted out brake hardware, or to cut through thick chunks of iron.

    Are these tools a little macho? Perhaps some of them (cutting metal with fire is damn fun). But is that why these tools are in use? No, these tools are used because they get the job done.

    I have money in the bank, and I spend enough time in front of a monitor to be able to justify the purchase of software tools if they were able to fulfill a need that OS tools could not (and a certain proprietary OS is an excellent software tool for running proprietary games).

    This commenter reminds me of someone who got into OSS because OSS was "cool".

    Imagine someone who decides that he'll learn vim because hackers use vi (or emacs). He looks at a cheat sheet, figures out what i, a, hjkl, and :wq does, and is content at being a "hacker" for the next six months. Afterwords, he discovers some nice commercial IDE and, sick of the lack of features he finds in vim, decides to go with the commercial IDE. After all, he knows that vim can't lookup man pages for functions, jump to a function declaration, change its indentation style, edit multiple files, integrate with compiler errors, or a host of many other things that the commercial IDE can do. He sits back convinced that those OS lusers are fooling themselves, the same way he fooled himself.

  • The ultimate UI (Score:2, Interesting)

    by funkymonkjay ( 840915 ) on Wednesday January 05, 2005 @10:31AM (#11263175)
    All this discussion made me think, what is the ultimate UI? An obvious answer is another human or humaniod. We will use all of our natural channels of communications, with negligible learning curve. Obviously such a system requires great break throughs in AI.
  • by Anonymous Coward on Wednesday January 05, 2005 @02:13PM (#11265313)
    Our main PC is dual-boot Win98 and Debian. The Debian installation has accounts for me, my wife, and my six-year-old daughter. My daughter used to use Windows for Reader Rabbit and similar things, but now she insists on booting into the "Penguin System" whenever she touches the machine.

    I use Debian for everything except Quicken, and sometimes I even get that to work via Wine, depending on the effects of the most recent apt dist-upgrade.

    My wife uses the computer solely for email and simple games like solitaire. She went for three years without ever trying Debian, even at my urging. Recently, I changed the background images for the login manager and her KDE desktop, and now she thinks Debian is the coolest thing in the world.
  • by Anonymous Coward on Wednesday January 05, 2005 @02:38PM (#11265780)
    All back in the day when a software bug was an actual insect, who after crawling into the monstrosity for warmth, shorted something out causing a programming error with a byte stuck on 1 somewhere inside the rat's nest.

    Debugging meant finding the bug, removing it, and cleaning the ichor off of the circuit board.

    Also why hasn't anyone mentioned the mile long punched paper tape rolls, like the ones my dad used to feed into vietnam era helicoptor simulators. You didn't want that tape to break!

    LOL
  • by gidds ( 56397 ) <slashdot.gidds@me@uk> on Wednesday January 05, 2005 @03:29PM (#11266695) Homepage
    I thought it was just me...

    I first tried it coz Mac OS X doesn't come with ksh, where my previous experience was, but it did come with zsh which was supposed to be like it.

    But since then, I've come to love some of its unique features. In particular, the recursive filename completion is just wonderful -- I use it all the time, and it makes things so much easier. All right, you can probably use the 'find' command to do many of the same things, but having it right there in the globbing is so much neater and easier.

    Trivial example: to remove a file from the current directory, I might use

    rm .DS_Store
    To remove it from any subfolders too, I just use
    rm **/.DS_Store
    But it's much more powerful than that: it's trivial to select files by type, size, permissions, age, &c &c, and there are exclusions and umpteen other possibilities. In fact, I haven't used the find command once since getting the hang of zsh!

    And zsh has many other great features, too, including most things I recall from bash, ksh, &c. And it's free and open source, and supplied with Mac OS X... I'm really surprised it's not more popular, coz IMO it deserves to be.

  • by lwriemen ( 763666 ) on Thursday January 06, 2005 @09:04AM (#11274226)
    No. Originally, what became Windows 95 was slated to be released as Cairo in 93. Cairo was too ambitious of a product to get done in the original time frame. Cairo was supposed to be the merging of the Win3.x branch with the NT branch with a bunch of new technologies thrown in to boot (like OFS).
    Microsoft was probably still about two or three years away from having a releasable version of Cairo, when they decided to divert resources to produce Windows 95.
  • by doinky ( 633328 ) on Thursday January 06, 2005 @12:18PM (#11276358)
    Rong.

    OS/2 scared Microsoft enough to drop plans for a much bigger rewrite and instead release Windows 95, and it was based on their fear of losing a chunk of the home market AND the big chunk of the business market that Windows 3.x had finally acquired them.

    Microsoft's activities vis-a-vis the IBM PC Company show pretty conclusively that they viewed OS/2 (especially v3) as a threat.

  • by fvwmfan ( 792446 ) on Thursday January 06, 2005 @10:30PM (#11284083)
    Wow, you sure got a lot of reaction there!

    You mention the concept of "something like a simple text editor, where you can move around in a "document" and press Enter at any time, with the output always appearing below it"

    I first wrote an editor like this in 1985, using Forth on a C64. In 1988 I implemented it using APL on a mainframe, later using CPM/VM (???), xedit and REXX. I implemented it using Java and an invented language called Dork (which might appear on Sourceforge eventually), and when I migrated to Linux I had a shot at getting it working by piping Dork stdout into bash.

    All of these environments not only allowed you to "press Enter" at any point to execute the text, but also allowed you to organise the "document" as a heirarchical tree of pages with arbitrary hyperlinking between each page (again, just "press Enter").

    This is without a doubt the most powerful way of working that I have ever used, and I miss it greatly in my day to day work. Remember, that these environments are first and formost text editors, so you mix text (documentation, comments etc), commands and output as you see fit. You only differentiate when you want to execute something. You don't need to swap to another mode, or type :!ls (or whatever), just "point and click".

    Bash history is NOT the same thing. History is strictly sequential and chronological, an edited document is organised by task or subject matter, hence the commands you find there are related to that task or subject.

    All the flack you got was from people who simply did not get what you were talking about. Maybe also because you rubbished one of the most powerful tools in the linux/unix/gnu world - the shell.

    Also, you got a comment like "just go hack the source code yourself". Well, easier said than done. I recently had a look at xterm code to do what I thought would be a simple change. No way! The code even had comments like "If you think you understand this code, you don't" Even the maintainers weren't completely sure what was going on in the code! I wouldn't be surprised that bash is just as difficult - just look at the man page to see how complex it is! Sometimes good ideas come from people who are not capable of implementing them.

    I realise that emacs could do this, but I have not got into emacs enough to make it happen. I got introduced to vi quite early and find emacs really annoying to use, so haven't yet tackled what is yet another learning curve (linux has so-o-o-o many of them!) to get emacs to work in the way you describe. So I keep looking at different linux-based technologies (emacs, tk, mozilla, curses, parrot..) thinking "could I use this to make [your/my] idea work - and how much work is it really?". Even considered the gwm window manager - that may still be the key. Anyhow ...

    What I really want to say is this:

    I have tried this idea in real life to do real work, and it made my work a whole lot easier. It IS a good idea, but it is a whole different conceptual model from the line-by-line mode that CLI shells normally use. Therefore most people will probably not understand what is being described, or why it is such a powerful concept.

"Gravitation cannot be held responsible for people falling in love." -- Albert Einstein

Working...