Command and Control

Verfasst von
Peter Coffee
Peter Coffee
Published: Mar 15, 2004
Updated: Feb 2, 2021
3 minute read
eWeek Inhalte und Produktempfehlungen sind redaktionell unabhängig. Wir können Geld verdienen, wenn Sie auf Links zu unseren Partnern klicken. Mehr erfahren

Command-line skills confer the power to speak to the machine. Despite a decade of effort to replace the DOS or Unix command prompt with a point-and-click user interface, fluency at the command line still streamlines many operations. Its welcome news, then, that Microsofts “Longhorn” initiative includes major improvements in commanding system actions.

In the 1980s, PC users were baby-duck-imprinted with the power of batch files and their higher-level commands, using conventions adopted from Unix. Those facilities are still available in console windows. Ive even been known, in decades past, to accelerate a task by writing a batch file that composes and runs other batch files issuing complex strings of commands.

Our modern-day tool kits feature far more general scripting languages, such as REXX, Python, Ruby, REBOL and Perl; power users have also hailed the appearance of command lines and associated scripting facilities in Mac OS X.

Even so, I wonder if this sort of power-talking to PCs is a dying art on the client side of the IT tracks, despite its popularity on servers. Its a real loss—as if we gave up verbs and pronouns to return to caveman-style point-and-grunt communication. Its understandable, though, that users find the command line inadequate for working with todays rich forms of data.

What strands the traditional command line in the 20th century is its limitation to text-based input and output. The problem is forcefully summarized in Chapter 8 of “The Unix-Haters Handbook,” a 1994 compendium thats been posted by its editors at www.web.mit.edu/~simsong/www/ugh.pdf.

The books bill of particulars against Unix-style commands and their connecting pipes begins with their one-way flow of information. More seriously, it continues with the requirement that the receiving and sending processes must use a stream of bytes. “Any object more complex than a byte cannot be sent until the object is first transmuted into a string of bytes that the receiving end knows how to reassemble,” the handbook observes, adding that a process cant send an object or a pointer into another process address space or a handle to a file.

When we try to represent abstractions like these—for example, with path strings to files or with names of “helper” applications to be used—we wind up with house-of-cards solutions that may demo well but dont hold up in real life.

Advertisement

Its especially important to note that current command-shell technology imposes conversion to text strings at many points, not only at the beginning and end of a process. The state of play has to be represented in that limiting form at every intermediate step, saddling the user with laborious and error-prone parsing chores and discarding useful metadata. Think about how annoying it would be to have copying and pasting of unformatted text as the only possible data transfer among GUI applications, instead of being able to paste and edit tables or figures—or even more active objects.

The Longhorn vision transcends these limits with Microsofts next-generation command line—dubbed Monad, or MSH—that gives our commands a work space of .Net objects. As Jeffrey Snover, Microsoft management architect, put it: “We keep the idea of A pipe to B pipe to C, but we pass .Net objects instead of structured text. We can pass ADO, other kinds of objects, and we can create reflection-based utilities.”

The goal, Snover continued, is to let users interact with many stores of data as easily as they do with the file system today. Registry keys or networked devices, for example, can be just as accessible as files. Thats not enough, of course—accessibility alone just lets people make a mess more easily. The rest of the solution is a programming model thats far more consistent and robust in handling the errors—that is, the violated expectations—that inevitably arise in distributed environments.

The Monad bits are available now at beta.microsoft.com. I hope people dont wait to see what this looks like in the context of Longhorn (or should I call it “Longwait”?). I hope developers will think about the implications and start working now to give us comparable power in standards-based environments as well.

Technology Editor Peter Coffee can be reached at peter_coffee@ziffdavis.com.

Peter Coffee

Peter Coffee is Director of Platform Research at salesforce.com, where he serves as a liaison with the developer community to define the opportunity and clarify developers' technical requirements on the company's evolving Apex Platform. Peter previously spent 18 years with eWEEK (formerly PC Week), the national news magazine of enterprise technology practice, where he reviewed software development tools and methods and wrote regular columns on emerging technologies and professional community issues.Before he began writing full-time in 1989, Peter spent eleven years in technical and management positions at Exxon and The Aerospace Corporation, including management of the latter company's first desktop computing planning team and applied research in applications of artificial intelligence techniques. He holds an engineering degree from MIT and an MBA from Pepperdine University, he has held teaching appointments in computer science, business analytics and information systems management at Pepperdine, UCLA, and Chapman College.

eWeek Logo

eWeek has the latest technology news and analysis, buying guides, and product reviews for IT professionals and technology buyers. The site's focus is on innovative solutions and covering in-depth technical content. eWeek stays on the cutting edge of technology news and IT trends through interviews and expert analysis. Gain insight from top innovators and thought leaders in the fields of IT, business, enterprise software, startups, and more.

Eigentum von TechnologyAdvice. © 2026 TechnologyAdvice. Alle Rechte vorbehalten

Werbetreibenden-Offenlegung: Einige der auf dieser Website erscheinenden Produkte stammen von Unternehmen, von denen TechnologyAdvice eine Vergütung erhält. Diese Vergütung kann beeinflussen, wie und wo Produkte auf dieser Website erscheinen, einschließlich beispielsweise der Reihenfolge, in der sie erscheinen. TechnologyAdvice schließt nicht alle Unternehmen oder alle auf dem Marktplatz verfügbaren Produkttypen ein.