📜 ⬆️ ⬇️

Style elements: UNIX as literature

(by Thomas Scoville)

In the early 80s, I worked in the research department of a local telephone company in Silicon Valley. My department consisted mainly of candidates of science and gifted hackers. As you understand, the office was UNIX-oriented.

The group manager was an exception: neither a scientific title nor a technical education. He was clearly aware of this. We suspected that he (erroneously, as we thought) was not very sure about the level of his education and mind. Once there was a story that confirmed our suspicions: he told us that he was scared by the knowledge of our department, and that he would take steps to do something about it. He found the unexpected way out: “I need to raise the level of intelligence,” he said, “I'm going to learn UNIX.”

It must be said, it has pretty much amused us: how can UNIX turn it into a genius [..]? I introduced a paraphrase of old advertising: "... and these senior engineers will never look down on you again."
But something in me agreed: “He is right in something, isn’t he? Unixoids do differ from other people, don't they? ” Years later, it dawned on me where my old boss was driving. I still think that he was going the wrong way, but looking back, I think that he noticed rather than what I then thought.

Without a doubt, the society of the Unixoid is technically rather closed and botanically blinded, but in my experience polyglots and humanities are more common here, which is suspicious. I confess that my evidence is fragmentary and anecdotal. For example, if someone stood behind me while I typed on the command line, and I would type a hint of the classics:

if test -z `ps -fe | grep WHO`
echo ^ G
# Let's see who the bell tolls for

then unicoid colleagues would be more likely to recognize a hint and play along as no other VMS, IBM mainframe, or poor working with MS-DOS could.

Being a humanist myself (although I wisely do not mention this in the summary), I wonder why so? My initial explanation — the historical connection of UNIX with university laboratories such as Berkeley — failed to stand the test of time; a lot of unixoids left the establishments with a slight computer bias or none at all. There should have been some connection, but I did not have any clear hypothesis.

And only when I began to be interested in those who escaped from UNIX that they didn’t like it, did something begin to take shape.

Some of the explanations received had a distinctly populist tinge - people felt a snobbish smell coming from the Unixoids, and reacted to this with proletarian indignation, usually directed at such refined things like opera or ballet. This can be understood: until recently, UNIX was the language of communication in higher computer circles. More downloaded, applied and unprivileged computer worlds protested against this aura of privilege. UNIX adepts have historically been a spoiled stratum of society, proud of their hard-won knowledge. But these class differences now disappear quickly. Now UNIX specialists are more common, and cheap and free versions of UNIX work on inexpensive hardware. Definitely, unixoids are not so pampered today, in the days of Windows.

Among the explanations was also a standard list of claims: UNIX is complicated, it is a long time to learn. Too many things to remember. It is too mysterious and unnecessarily complex.

But most of the complaints were that it was too text-oriented. People really hated the command line, with all the utilities, their incomprehensible parameters and the arguments that they need to memorize. They hated all this knocking on the keys. One wrong character, and everything must start over. Interestingly, these complaints most often originated from GUI-oriented Mac or Windows users. The people who lived in DOS in .bat scripts, or spent their early days at the symbolic terminals of multi-user non-UNIX computers, were much less likely to be sad about this.

Although I understood how people can be repelled by the need to memorize such intentionally mysterious names of utilities like grep or cat, I continued to be puzzled by their dislike for knocking on keys. Then it dawned on me that this complaint could be linked with the dominance of the “intellectual elite” in UNIX shops. The common thread was “writing”: a suspiciously large percentage of my Unix-colleagues in the course of my career have already acquired the skills of working with text and words. They were inveterate readers and writers, and on UNIX these skills are very useful. UNIX was in some sense literature for them. Suddenly, a large percentage of polyglots, humanities and insatiable book-eaters in the UNIX community became clear. Moreover, it pointed to a more important point: in a world increasingly loaded with visual images (through TV, movies, .jpg files), UNIX is still based on the culture of the word.

UNIX programmers are expressed using a rich dictionary of system utilities with their parameters, with flexible, varied grammar and syntax. For UNIX enthusiasts, this language becomes their second self. One day, I heard a conversation at a local restaurant: “somewhere on the menu there were shrimps with sauce, costing less than a dozen”. Well, let's see ... cat menu | grep shrimp | test -lt $ 10 ... ”, and although this is syntactically not quite correct and not so witty conversation, dinner from a Microsoft-oriented shop could hardly express its thought so relaxedly.

In UNIX, command line text, STDIN, STDOUT, STDERR is the main interface mechanism: the system utilities here are similar to the elements of the constructor (Lego) for employees of the word. Pipes and filters connect one utility to another, and the text flows invisibly between them. Working with an awk / lex shell with various utilities is literally a dance of words.

Work on the command line, hands balanced on the keyboard and do not come off the frequent grabs of the mouse - this is the usual pose for writers (especially for those old guys who once worked for TTY or electric typewriters). Here are the same requirements as when writing an essay. And here and there writing skills are required. And here and there a detailed knowledge of grammar and syntax is required. In both cases, the skill allows you to get powerful, concise expression.

At the risk of incurring anger and techies and writers, I also assume that UNIX offers something more commendable in literature: coherence, a holistic style, which writers call the “voice”. After a brief acquaintance with UNIX, it becomes clear to you that its central part is the result of the work of several perfectly coordinated minds. I have never met Richie, Kernigan, or Thompson, but after fifteen years of UNIX, I imagine that I could greet them as friends, knowing something that has the form of their thoughts.

It may be objected that UNIX is just as visually oriented as other operating systems. Especially in modern versions of UNIX pretty graphical user interface. In practice, however, the central part of UNIX does not encourage them, and the entire GUI serves the traditions of the culture of the word, not replacing it. Look at the screens of most UNIX computers. Half of the windows are terminals with the command line or the console editor vi, which is running there.

Nowhere is the friction between word cultures and visual imagery so represented in the contrast between UNIX and Windows. As soon as this praised UNIX killer appeared a few years ago, supported by the complete faith and credit of Redmond heavyweight, I took it without a single prejudice. But Windows left me cold. Something was in him, deeply unsatisfactory. I had an unbearable feeling [..] that there was not “there”. I confess, I already knew the cornerstones of system and network administration from UNIX, and admit that picking the registry irritated me for a couple of days, but when I soon began to understand, I looked back at UNIX with the feeling that I was dropped from the driver walking excavator to the picking stick. Windows simply had no room for maneuver. The Windows approach “fits any size”, “point and click”, “we already thought of everything for you” made me yearn for these mysterious parameters on the command line and on “man-k”. I wanted to make my own decisions with my own set of tools, rather than pushing my ideas onto the same-type, prepared, Soviet world of Microsoft Foundation Classes.

Windows was definitely too close to the culture of visual images to be comfortable for me. Endless dialogues, point and click, running around the screen with the mouse, one by one jumping windows that require my attention. The experience was almost exclusively reactive. Each task required a graphical interface, loaded with insidious assumptions about how to visualize (and, therefore, conceptualize) the operation. I could not think “outside the framework,” because everything literally was the framework itself. It was not possible even for a second assumption that the problem can be solved in some other way.

I agree that Windows has made my life easier in some ways. I found that I needed to memorize less (names of utilities, arguments, syntax), and recognize more (solution components related to checkboxes, radio buttons, and drop-down menus). I spent less time tapping the keys. Definitely, my right hand spent a lot of time chasing the mouse around the desktop. But after several months I got tired, a sad feeling, like exhaustion, which you feel after a long channel switch on the TV or playing computer games: too much time was spent on response, not enough time was spent on active analysis and expression. In short, exhaustion from the flow of images.

The only ray of light that illuminated my stay in the Windows world was Pearl's rapid popularity. Pearl somehow snuck into a Windows store as a language for CGI scripts for Web development, but people quickly figured out his power and used it far beyond Web development: for system administration, source control, file distribution, network administration. The irony is that Pearl itself is a subset of UNIX features, hastily assembled into a scripting language. In literary terms, if UNIX is War and Peace, then Pearl is its “summary” for current students.

Mastery in UNIX, like mastery in language, gives real freedom. The price of freedom is always great, but there is nothing to replace freedom. Personally, I would pay for my freedom, instead of living in a pixel window, with merry jumping windows, a dungeon like Windows. I hope that when people mature a little and will be less impressed by the superficial convenience, losing real freedom, they will complain about this freedom and responsibility that UNIX gives. And when they do, UNIX will satisfy their needs.

© 1998 Miller Freeman, Inc.

Source: https://habr.com/ru/post/104526/

All Articles