A Tale From The Command Line

Or: How Serendipitous Timing Shaped How I Use A Computer

I was eight years old when I first used a computer. The year was 1996, and the domination of user-friendly approaches to personal computing was in full swing. Windows 95 had tied the GUI into the system as a whole; Apple’s Macintosh range had been doing this since 1984. While Windows 95 was spreading and changing the way that most people would use a computer, I had been gifted a slightly older machine, a 486 SX/25 with 8MB of RAM and an 80MB hard drive. This is certainly a far cry from the dual-core machine with 4GB of RAM and a 500GB hard drive that I use today, and it wasn’t even state-of-the-art then, but it was a very functional machine, particularly for an eight-year-old who was just beginning to use computers.

This machine, of course, ran Windows 3.1. Or, perhaps I should say that it did when it was working properly, because among the collection of floppy discs which had been given to me with the computer was one with a virus which prevented me from entering the Windows environment. This left me with the underlying environment which Windows 3.1 ran on: MS-DOS. By MS-DOS 6.0, the discs for which I still possess, the platform had become about as refined as it was ever going to get. I couldn’t do much with it, and gaming seemed to be the height of its sophistication at the time, but while I was locked out of Windows, I did the next best thing and explored the DOS environment.

Between reading the hefty user manual and learning from the mistakes I made, I gained a greater appreciation for the abilities and limitations of MS-DOS 6.0 than I would for a long time with any other computer system. The 640KB conventional memory limitation was a particular bugbear, particularly when it came to playing games; a lot of batch-file manipulation was required to really get the most out of this limited amount of memory. The ideas behind the hierarchical file system structure that I learned were particularly insightful, especially when it came to the idea of storing files in locations where they could easily be accessed. Most of all, I learned that the graphical user interface and the mouse were not the be-all and end-all of computing – there were other ways to operate a computer, and occasionally, they were faster.

Eventually, the virus was cleared off the system and I got to work on Windows, but instead of operating the system solely through the Windows GUI, I used the DOS command-line interface whenever it seemed most appropriate. When it came to word processing or graphical manipulation, clearly the GUI was the best choice. When it came to running native DOS applications, though, the CLI seemed like the better choice.

That computer didn’t last long in my possession, and it was soon replaced by a new, much faster computer with Windows 95 and a considerably larger hard disc drive of 1.5GB. This computer certainly didn’t possess the limitations of the 486, with enough memory to run anything I could throw at it and enough disc space to absorb the detritus which I would carefully have to look after on the 486. Even as I got used to a primarily GUI-based operating system, though, I would soon return to a DOS environment – and the command line.

During the summer break from school, I was involved in a series of lessons, some of which involved learning rudimentary computer programming techniques. The language which we used was BASIC, specifically Microsoft’s QBASIC variant of the language, which allowed for the sophisticated control structures which were absent in a lot of older variants of the language. The native environment for QBASIC was MS-DOS, and while we typically ran the interpreter through Windows 95 emulation of the DOS environment, I still had an MS-DOS computer in my possession.

Therefore, an ICL Ergolite laptop with the same type of 486 SX/25 processor that had been in my original computer, even less memory and a balky monochrome LCD monitor became my primary test-bed for running my QBASIC programs at home. At this point, the time I had spent learning the DOS environment came in very handy, particularly as the QBASIC interpreter looked very similar to the text editor that I had been using with my original desktop to edit AUTOEXEC.BAT and CONFIG.SYS files in an attempt to get various DOS games working.

Even as my QBASIC lessons ended (something which, incidentally, created in me a huge desire to learn how to program with a more powerful language, which I’m only properly getting to do recently), my command line adventures hadn’t ceased. As my third computer was constructed in about 1999 or 2000, I was introduced to Linux. My cursory look-over a guide to Linux operation made it seem similar to the MS-DOS environment that I was used to from my original computer – I didn’t fully comprehend the X Window System environment in those days. Through a myriad of struggles with partitioning and installation woes, I finally managed to get an operational system running SUSE Linux 7.0. Having got the KDE environment up and running, I didn’t do much with the command line interface, although I knew of its presence.

My third computer ran primarily on Windows Me, and when I moved the hard disc over to my fourth computer in about 2005, Windows Me inevitably collapsed. Had I not installed Linux on a spare partition, my computer would have been out of commission while I tried to reinstall Windows. Instead, I migrated over to Linux for about six months while I waited for an installation disc for another version of Windows to become available, and along the line, it turned out that I needed to install something from source in order for my computer to be useful. This necessitated actually learning the command line system in Linux, and once I had learned how to do what I needed to do, I continued learning more and more about the command line and its potential in a well-tempered Linux system.

I’m on my fifth desktop computer by now, and I still maintain a partition for Linux. However, this isn’t the only place I keep a command line handy – I use Cygwin to keep a Unix-like command line environment in Windows. Some of the tools on these command lines come in very handy, such as the GCC compilers for C, C++ and other languages. Sometimes, it’s easier to copy and paste using Cygwin or a Bash command line in Linux than it is to go through a GUI file manager. Unlike my time using DOS, I use a command line to supplement my GUI use rather than using the CLI for everything, but ultimately, I’m quite thankful for the time I spent in MS-DOS, even if it was severely limited as an operating system. I think it’s made me a better computer user overall.



Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: