Saturday, July 25, 2015


Not Learning Unix is a Mistake

Back in 1986 my first exposure to Unix was Venix on an IBM XT which was made by VenturCom.

It wasn't a great experience but I learned about awk (we called it awkward at the time) and most of the basic Unix commands. Venix for the IBM XT was based on Unix version 7 with some programs from BSD such as vi. I still run Venix 2.0 on xhomer on Linux via the magic of emulation. In this case xhomer is emulating a DECPro 350. There was almost zero source code for Venix.

I realized that closed source software was very undesirable from a programmer's point of view after I discovered Unix version 7 (much much later) on the PDP-11/45 also via the magic of emulation. Unfortunately my initial exposure to Unix consisted of various closed source variants of Unix such as Venix and (in the SCO era) Xenix. Xenix was actually the second version of Unix I encountered and although I learned about Unix System V there was still mostly no source code available.

There was little enjoyment to be had with these closed source Unix versions, but learning elements of Unix System V ended up being important as Linux had largely modelled itself on SysV. For reasons of cost we didn't see Personal Computers with the ability to fully run Unix with an MMU until later. MicroVaxes and Sun workstations were well over $10K in price. It wasn't until the appearance of the Intel 80386 that we started to see affordable Unix machines. By the late 1980s most folks could afford such a machine.

It has occurred to me that not learning Unix is a grave mistake. My relatively early exposure to Unix was important. I may not have appreciated Linux as much or even at all if I hadn't had that ability to experiment at home with Xenix. Learning about Unix develops new mental muscles like playing a musical instrument or learning a new language. But learning these new processes becomes more difficult with age. To me the exact technical details are less important. It does not really matter if you are a Linux user or if you use one of the BSDs or even something more exotic like Plan 9. The important thing is you can learn new concepts from what I will broadly refer to as the Unix/Internet Community.

One way to metaphorically dip your big toe into the Unix Pool is to set up Linux (or some other FOSS operating system) on a second computer. The secondary computer can be an old Pentium 3 machine with 256 megs of ram, a new machine is not necessary. The major advantage to setting up a Linux computer is that you have access to tons of source code and tons of application software. The process of learning Unix is similar to physical exercise only in this case your brain is getting the exercise. Although this process will require considerable effort on your part it will be worth it.

My first exposure to Unix wasn't ideal, in fact I could even say that I disliked Unix initially. Part of that was due to the lack of source code. The big realization of the benefits of Unix came later: Unix is the thinking person's operating system and you will find many scientific utilities available. If your interests include physics, mathematics, chemistry, or astronomy then you will find something of interest.

After using Xenix on my computer at home in the late 1980s I made several attempts to use other operating systems. In 1994 I tried Darkstar Linux but I didn't make it my main operating system. Around the same time I tried Minix 1.5 but it seemed quite difficult to use. It wasn't until I had broadband internet access that I finally made the transition to Linux in 2003 by using Red Hat Linux version 8 as my main operating system.

This page is powered by Blogger. Isn't yours?

Subscribe to Posts [Atom]