Back to TOC Departments


Editor's Forum


Maybe I shouldn't admit it, but I still do much of my work typing command lines at a text-mode shell. I run shell scripts and edit scripts all the time. I lash together pipelines to do quickie one-off tasks. In short, I am an unrepentant software tools junkie.

Don't get me wrong. I really like the WIMP interface (consisting of Windows, Icons, Menus, and a Pointing Device). When you have a finite number of choices, particularly ones you can't always remember, you can't beat menus and icons as prompting aids. When you're performing operations in two dimensions, such as moving around blocks of text in an editor, you can't beat those windows and pointers. When a WIMP interface is good, it is very very good.

But when it is bad, it is horrid. Sometimes it is simply easier to type a command than paw through menus. I can't abide having to repeat long point-and-click sequences to do jobs I know will be performed often and unchanged. I make too many mistakes that take hours to find and fix. Regression testing is really lame in such an environment. I want exactly the same input, with automatic checking for exactly the same output, every time. Sometimes you can build a decent script with an event recorder, but not always.

So a lot of the time, my pretty color screen with all those pixels is tiled with multiple MS-DOS and Unix sessions. White typewriter font on black background, 25 lines of 80 characters. Multiprocessing for me means compiling in one window while I edit files in another and grep about at the command line in a third.

What bugs me the most is inconsistencies. Returning to Unix after years of exile in DOS-land has been an eye opener. I love the powerful software tools, which were invented in early Unix. But I hate the way they have proliferated versions over the years, while nevertheless retaining as fossils all the early design mistakes. And I really miss using keyboard arrows to flip quickly through commands typed earlier.

I use the MKS Toolkit on Windows systems, but I can't say it's always a productivity boon. It slavishly imitates all of the flaws of the early Unix tools, adding in the bargain all sorts of inconsistencies in the handling of CR/LF, ctl-Z, and wildcard filenames. On top of that, Windows NT is just different enough from Windows95 to be a source of continual frustration.

Over the last two decades, people have asked me off and on why Brian Kernighan and I haven't revisited Software Tools in yet another, more modern, incarnation. We've thought about it from time to time, but have never quite got it together to do the job. Besides, I hate revisiting old themes. But every once in a while I still kick myself for not having done so. If I'm going to remain a stone-age programmer, I sure could use a sharper flint axe.

P.J. Plauger
pjp@plauger.com
http://www.tiac.net/users/pjp
http://www.dinkumware.com