A very quick bit of reminiscing.

I don't remember my first experiences with UNIX clearly enough.

It was in 1984 at the Naval Postgraduate School in Monterey, CA, where I was starting the computer science masters program. Initially, we studied basic programming (not Basic programming!), then data structures, then algorithm design, all in pascal on the mainframe. I think I remember keying in pascal source on an IBM 3278 terminal in a large computer center. The operating system was VM/CMS as I recall, and it was my first experience with timeshared systems. I had a lot of fun on that system learning a new text editor (Xedit), two new programming languages (Pascal, and Rexx), and a whole new OS (VM/CMS). This was a wonderful time for me, exploring a new universe of high-powered computing, and so unlike the punch card, Fortran nightmare of my undergraduate days in the late '70s.

It was somewhere during that first year of graduate school that I had the opportunity to move off the school's mainframe and onto smaller machines owned by the CS department. We had a VAX-11/780 with a VAX-11/750 front end, and we had the new Sun Workstations. I can't remember what models the Suns were, but they were usually already taken by students doing special research projects, so I mostly used the Vax, which ran 4.2BSD. This was my first exposure to UNIX and all that comes with it. I had never been so fascinated with computing before, and I remain fascinated with UNIX to this day.

Let me try to explain why I became so committed to UNIX. I had experience in two other major areas of computers and operating systems: TRS-80 Model 1, which I'll ignore for now because it's not in the same class, and IBM timesharing systems, which is the important one. I had gotten a fair amount of programming done on the mainframe, but when I first started with UNIX, I found a freedom and power that I never knew existed. The reason? Well, one of the tenants of all the IBM OS's was to keep the user at a distance from the machine. Remember, this was still the day of big iron being kept in a bunker tended by technicians in white lab coats. Very few people ever got the see the machine; I know I never did. But the Vax was sitting in the middle of a computer room that I had physical access to anytime I wanted it - 24 hours a day. And the philosophy of the UNIX system it ran was very similar: it gave you the power to interact with the machine in ways not possible with the mainframe. It provided a toolset that gave you the power to manage information in ways that are still unmatched. The original philosophy of small, special purpose tools that could be strung together through the use of redirection and pipes to form more powerful tools was and still is a liberating concept, especially when it was so simple to build new small tools. The C programming language gave one access to the low level functions necessary to write small tools, and the shell provided the power to quickly write very complex logic with little trouble.

The shell will be the subject of another post, but I thought I'd upload a couple of early documents about the shell. There's one for the Bourne shell and one for the C shell, by the original authors. This is great reading for anyone interested in early UNIX, or why UNIX is the way it is.