Привет!
05 Sep 98 20:17, Alexander Varin wrote to All:
> Curator: Alexander Varin
=== Cut ===
UNIX programmers express themselves in a rich vocabulary of system utilities
and command-line arguments, along with a flexible, varied grammar and
syntax. For UNIX enthusiasts, the language becomes second nature. Once, I
overheard a conversation in a Palo Alto restaurant: "there used to be a
shrimp-and-pasta plate here under ten bucks. Let me see...cat menu | grep
shrimp | test -lt $10..." though not syntactically correct (and
less-than-scintillating conversation), a diner from an NT shop probably
couldn't
have expressed himself as casually.
With UNIX, text--on the command line, STDIN, STDOUT, STDERR--is the
primary interface mechanism: UNIX system utilities are a sort of Lego
construction set for word-smiths. Pipes and filters connect one utility to the
next, text flows invisibly between. Working with a shell, awk/lex derivatives,
or
the utility set is literally a word dance.
Working on the command line, hands poised over the keys uninterrupted by
frequent reaches for the mouse, is a posture familiar to wordsmiths (especially
the really old guys who once worked on teletypes or electric typewriters). It
makes some of the same demands as writing an essay. Both require
composition skills. Both demand a thorough knowledge of grammar and syntax.
Both reward mastery with powerful, compact expression.
At the risk of alienating both techies and writers alike, I also suggest that
UNIX
offers something else prized in literature: a coherence, a consistent style,
something writers call a voice. It doesn't take much exposure to UNIX before
you realize that the UNIX core was the creation of a very few well-synchronized
minds. I've never met Dennis Ritchie, Brian Kernighan, or Ken Thompson, but
after a decade and a half on UNIX I imagine I might greet them as friends,
knowing something of the shape of their thoughts.
You might argue that UNIX is as visually oriented as other OSs. Modern UNIX
offerings certainly have their fair share of GUI-based OS interfaces. In
practice
though, the UNIX core subverts them; they end up serving UNIX's tradition of
word culture, not replacing it. Take a look at the console of most UNIX
workstations: half the windows you see are terminal emulators with
command-line prompts or vi jobs running within.
Nowhere is this word/image culture tension better represented than in the
contrast between UNIX and NT. When the much-vaunted UNIX-killer arrived a
few years ago, backed by the full faith and credit of the Redmond juggernaut, I
approached it with an open mind. But NT left me cold. There was something
deeply unsatisfying about it. I had that ineffable feeling (apologies to
Gertrude
Stein) there was no there there. Granted, I already knew the major themes of
system and network administration from my UNIX days, and I will admit that
registry hacking did vex me for a few days, but after my short scramble up the
learning curve I looked back at UNIX with the feeling I'd been demoted from a
backhoe to a leaf-blower. NT just didn't offer room to move. The
one-size-fits-all, point-and-click, we've-already-anticipated-all-your-needs
world
of NT had me yearning for those obscure command-line flags and man -k. I
wanted to craft my own solutions from my own toolbox, not have my ideas
slammed into the visually homogenous, prepackaged, Soviet world of Microsoft
Foundation Classes.
NT was definitely much too close to image culture for my comfort: endless
point-and-click graphical dialog boxes, hunting around the screen with the
mouse, pop-up after pop-up demanding my attention. The experience was
almost exclusively reactive. Every task demanded a GUI-based utility front-end
loaded with insidious assumptions about how to visualize (and thus
conceptualize) the operation. I couldn't think "outside the box" because
everything literally was a box. There was no opportunity for ad hoc
consideration of how a task might alternately be performed.
I will admit NT made my life easier in some respects. I found myself doing less
remembering (names of utilities, command arguments, syntax) and more
recognizing (solution components associated with check boxes, radio buttons,
and pull-downs). I spent much less time typing. Certainly my right hand spent
much more time herding the mouse around the desktop. But after a few
months I started to get a tired, desolate feeling, akin to the fatigue I feel
after too
much channel surfing or videogaming: too much time spent reacting, not
enough spent in active analysis and expression. In short, image-culture
burnout.
The one ray of light that illuminated my tenure in NT environments was the
burgeoning popularity of Perl. Perl seemed to find its way into NT shops as a
CGI solution for Web development, but people quickly recognized its power and
adopted it for uses far outside the scope of Web development: system
administration, revision control, remote file distribution, network
administration.
The irony is that Perl itself is a subset of UNIX features condensed into a
quick-and-dirty scripting language. In a literary light, if UNIX is the Great
Novel,
Perl is the Cliffs Notes.
Mastery of UNIX, like mastery of language, offers real freedom. The price of
freedom is always dear, but there's no substitute. Personally, I'd rather pay
for
my freedom than live in a bitmapped, pop-up-happy dungeon like NT. I'm hoping
that as IT folks become more seasoned and less impressed by superficial
convenience at the expense of real freedom, they will yearn for the kind of
freedom and responsibility UNIX allows. When they do, UNIX will be there to
fill
the need.
Thomas Scoville has been wrestling with UNIX since 1983. He currently works
at Expert Support Inc. in Mountain View, CA.
=== Cut ===
Саша Варин va
...@basistech.com
my icq uin: 3492708