[Why not use Windows for Everything?] [Answer (Long Version)]

As I said, this is a rather complicated question, and this is the longer (but probably more complete) answer.

First a little bit of history...

Windows 2.1, Windows 3.0, and Windows 3.1

I initially started using Windows back in 1988 when I put Windows/286 2.1 on my first PC (a Dell 20MHz 286), and I moved to Windows 3.0 and then to Windows 3.1 when they were released in 1990 and 1992 respectively.

The Windows environment wasn't all that bad back then -- the interface was primitive (remember the old Program Manager and File Manager, and the old Windows 2.1 Executive??), but there were third-party add-ons like Aporia and WinTools which made things a lot more flexible, and it was a lot better than operating at the DOS command prompt (I thought, anyway). Windows 3.1 could only run one DOS program at a time in Real or Standard mode, though, and I couldn't do Enhanced Mode because it required a 386 or better processor.

I mainly used DOS programs back then -- Procomm, Telix, and finally Telemate communications software for dialing BBSes, Session Manager and then SLMR (Silly Little Mail Reader) for reading BBS mail and Fido/RIME forums, Stereo Shell, PC Valet, and ElfTree for file management, WordPerfect 5.0 for word processing, and Semware's QEdit for a text editor. There were a few Windows shareware programs I used and liked, but for the most part my main tools were text-based DOS programs.

GeoWorks Ensemble and PC/GEOS

In the early 1990's I also dabbled with an environment called PC/GEOS (the graphical environment found in original AOL "DOS" client and the underlying graphical environment in GeoWorks Ensemble).

PC/GEOS was the brainchild of a company called Berkeley Softworks, who had developed the GEOS graphical desktop environment on the C64 and C128 some years earlier, and it had some nice advantages over Windows. The GUI was a slick-looking sinver-grey and, based somewhat on the Motif window manager from the UNIX world, and it ran quite quickly on a 286-class machine.

PC/GEOS allowed for two threads per process, and it preemptively multitasked native programs (Windows 2.x and 3.x used cooperative multitasking, which depended on each program to voluntarily release control). The package that was typically bundled with it (Ensemble) included a rather slick word processor which features rotatable resizable vector fonts and a drawing package that handled both vector drawing and botmap graphics manipulation, as well as several smaller programs, and it became one of my favorite pieces of PC software of all time.

Unfortunately, PC/GEOS didn't multitask DOS programs at all! Instead, it folded itself up and swapped itself completely out to run a DOS program, and it reloaded itself when done. This was slow, and not all that useful for running multiple programs at once.

PC/GEOS is still available as New Deal Office for anyone who might be curious. It's still not a bad environment for 286, 386, or 486-class systems.

OS/2 2.0 (almost good enough, but...)

In the summer of 1992 I got my first powerful box (a 486/33 with 8MB RAM), and I installed a new operating system I'd heard about on RIME called OS/2.

OS/2 was pretty different from Windows. It had a drag-and-drop desktop, just like a Mac, and it also had an extremely flexible method for running DOS programs called a VDM (Virtual DOS Machine). Compared to Windows 3.1, the multitasking was smooooth. Not only that, but OS/2 2.0 could run some (but not all) Windows 3.0 programs. Cool!

OS/2's shining feature (as far as I was concerned) was its DOS support. A DOS program ran inside a virtual machine called a VDM. It used the OS/2 mouse and sound drivers so you didn't have to run TSRs (and so those didn't have to occupy valuable low memory), and each and every program could have its own set of drivers, its own EMS/XMS/DPMI settings, and even its own AUTOEXEC.BAT file. Very very cool.

A person could even create a boot diskette image of real-mode operating systems like MS-DOS, PC-DOS, or CP/M, and boot those inside one of more VDMs, essentially allowing for the concurrent running and testing of software in multiple versions of *real* DOS at the same time! This was extremely valuable for software testing, which explains in part why some folks considered OS/2 to be one of the best DOS and Windows development platforms in existence.

My OS/2 setup was admittedly a little slow on my 8MB box when I was using several Windows programs at the time time, but it was fine for juggling DOS stuff as well as for one or two Windows programs, so I used it about half the time and Windows 3.1 the other half, and I bounced back and forth between the two depending on my mood.

Linux (first attempt)

About the same time I also started to dabble a little bit with the Linux operating system (a free Unix-like operating system), starting with a set of the SLS [aka Soft Landing Software] boot and root images and 20-25 or so additional floppies worth of packages that I had grabbed from a local BBS. I had the idea that I could learn about UNIX by installing Linux and playing with it, and in that regard I was somewhat successful.

Unfortunately, I couldn't get X to work with my Diamond Stealth card (Diamond wouldn't released the specs) so I quickly became disillusioned. While I putzed with it in the background, and used it to learn some things about UNIX commands and such, I didn't seriously use Linux until a few years later.

Windows NT 3.1 (Microsoft's first solid OS)

Windows NT 3.1 (actually the 1.0 release) was released in 1993, and it was a pretty slick environment. For folks who didn't play games and who had a need for a more stable platform on which to run Windows software, NT was a dream environment.

Unfortunately, for me it had four serious drawbacks:

This last point was the real kicker for me, and it's the main reason that I never really considered Windows NT to be a good OS choice for my home use. DOS support to me was critical.

OS/2 2.1 (finally, a GOOD alternative!)

In the spring of 1993 OS/2 2.1 was released, and the new version had two big improvements over OS/2 2.0: It was a little bit faster and more stable, and (more importantly) it came with the ability to run Windows 3.1 programs! So not only was it a better DOS juggler than Windows 3.1 or Windows NT, but I could finally run all of my Windows software on it as well.

That was the clincher for me, since it was the best of all worlds as far as I could see, so I moved to OS/2 2.1 full time. I also added another 12MB to the machine given it 20MB total, and that helped to speed things up when running multiple large programs in separate VDMs.

OS/2 Warp 3

In the fall of 1994 OS/2 Warp 3 was released, and it came with dial-up networking and a number of other things. I had developed a very strong interest in the internet at that point, and Microsoft's promised "Chicago" still hadn't been released, so I upgraded to Warp 3. Several of my friends did as well, and OS/2 was the "in" operating system for the PC hobbyists I knew. Some of them were also dabbling with Windows NT, but even NT 3.5 still had the old Windows 3.1 interface that I knew very well and hated, and it also had fairly weak DOS support, so it really wasn't a good fit for me at all.

Chicago ... I mean Windows 4.0 ... I mean Windows 95

Microsoft made a lot of promises during the period of time between 1992 and the fall of 1995 about their next version of Windows for consumers, a 32-bit envirnment initially called Windows 4.0 and code-named "Chicago"., I remember reading a lot in places like Byte and PC Magazine as well as on the various online forums about how Chicago would be a true 32-bit OS for the home user just as Windows NT was, and that it would be Microsoft's answer to OS/2 on the desktop. Many people were torn between moving to a strange environment (OS/2) or waiting for Windows 4.0.

When Windows 4.0, renamed "Windows 95", was finally released in the fall of 1995, it was (at least for me) a big disappointment. Yes, it had a nice drag-and-drop shell which worked sort of like a Macintosh or like OS/2,, but the shell was a far cry from the WorkPlace Shell that I was used to in OS/2, and the OS itself was somewhat unstable. And while it was getting a lot of hype in the press, most of the applications for sale for Windows 95 were still essentially Windows 3.1 applications which used the WIN32S.DLL 32-bit extensions that Microsoft had released for Windows 3.1 some years before.

In time it became known that Windows 95 was actually still dependent on DOS for some functions, and I became really disillusioned with the Microsoft world. They had years to develop a new sophisticated 32-bit OS for home users, and yet in the end they released a product that wasn't anywhere near as sophisticated as OS/2. It had no advanced filesystem while OS/2 had HPFS, it didn't have a scripting language even though OS/2 had come with REXX for years at that point, it had serious problems running multi-threaded software, running more than a few programs would serious strain the system, etc.

At that point I vowed that I wouldn't wait for a Microsoft product again. I stuck with OS/2 (which at that point was selling very well via retail channels and was gaining in market share), I purchased the software that I could find and tried to get other developers to consider porting software to OS/2, and I thought that it would become obvious to others that OS/2 would be the best solution for their needs. A number of folks agreed that OS/2 was a high-quality OS, and publications like InfoWorld continued to give it Best Operating System honors for years, but the mainstream press continued to largely ignore it, preferring instead to focus on Windows 95 and its slowly increasing market.

Linux (second attempt, this time successful)

In the spring of 1996 I installed Slackware Pro 2.3, a version of the Slackware Linux distribution created by Patrick Volkerding and marketed by Morse Communications, and things on my home PCs haven't been the same since.

After getting Linux to work on my box and XFree86 to work with my new Diamond SpeedStar 64 video card, it became clear to me almost immediately that there was a TON of free software out there (meaning both "free" as in no money and "free" as in source code available), and that some of it was really *really* good. A lot of it rivalled the OS/2 and Windows shareware packages I was used to, and some was even better.

In the spring of 1997 (I had a 64MB PPro/200 box by then) I grabbed a copy of Slackware 3.2, and that was even better than the older Slackware Pro. Next, I tried Red Hat Linux 4.2 and tried that, then moved to Red Hat 5.1, SuSE Linux 5.0, Mandrake Linux 5.0, SUSE 6.0, Red Hat 6.1, and finally Mandrake 6.1 (the latest one I've played with). I usually purchase the "official versions of the various distributions from their web sites, but it's still neat to know that I can go to a place like Cheap*Bytes or Linux System Labs and get a CD-ROM for $2-3 that I can legally install on all of the boxes on my entire LAN!

In the fall of 1997 I brought my normally sleeping 486 back to life as a firewall, starting first with the full version of Red Hat 5.1, but finally ending up with Coyote Linux, a single-floppy version of Linux that boots from a 3.5" floppy diskette to a RAMdisk on the firewall server and talks to my cable modem via DHCP.

Conclusion

Microsoft operating systems have come a long way from those days, Linux is slowly gaining marketshare, and once-promising alternatives like PC/GEOS and OS/2 have almost completely faded from sight in the marketplace. I now use Windows NT 4 at my workplace as well as at home for a few things (mainly dialing into work), and it seems like a stable desktop OS. And I have Windows 95 OSR2 here on all of my boxes which I use for gaming purposes, since almost all game development has shifted from DOS to Windows.

However, I still use OS/2 as my main desktop at home (after upgrading to OS/2 Warp 4 when it was released in 1996), and I also choose to use various forms of Linux on the desktop, as my firewall OS, and on my fileserver.

Why do I choose to do this, you ask? Why not use Windows for everything?

First, I like the non-Windows environments that I'm already using.

Remember that I had been using OS/2 for almost two years before a consumer version of 32-bit Windows even existed, so I guess in some ways I still use OS/2 by default. It still works for me, it supports the hardware that I use at home, and I still have more than enough software to get by.

I do look at the newer versions of Windows, and as I said I already have Win95 here and a couple of copies of Windows NT 4, but I still think that OS/2 is a better general-purpose desktop OS for me given my fondness for the command line and given the things I like to do on my main home machine.

In addition, I've found that Linux can be a very flexible and reliable operating system for server use. It doesn't need a monitor (you can use telnet or X to administer the server remotely), and it simply doesn't go down. My old fileserver uptime was over 240 days before I moved into my new townhouse.

Linux can make its filesystem available to the other boxes in my LAN using both CIFS (Windows file sharing) or NFS (the UNIX Network File System), which means I can use the same server (and disk space) from OS/2, Windows, Linux, FreeBSD, BeOS, and Solaris.

Linux is also extremely flexible, and people can package it in many ways. The version I use on my firewall box, for example, is stored on a single 3.5" floppy diskette, and after I boot it into RAMdisk it doesn't need to have a real disk mounted at all! Not bad for a free piece of software...

Second, moving to Windows is expensive!

If I were to replace all of my OS/2 software with new Windows software, I'd end up paying a lot of $$. Even if Windows were the technical equivalent of OS/2 (and I still don't think it is), that would be a factor.

Linux, FreeBSD, or BeOS can also be expensive per copy, at least if you purchase official versions as I tend to do from time to time, but that one copy can be installed (legally) on multiple machines. Since I have six "serious" boxes of my own on the LAN, a single $50 Linux license is a LOT cheaper than several $80-90 upgrade licenses for Windows 9x, or twice that for the more expensive versions of Windows.

Third, Windows is a proprietary software product.

This is true of OS/2 as well, by the way, and it will likely result in my dropping OS/2 as soon as Linux becomes as good in my eyes on the desktop.

By "proprietary" I mean that only one company (in this case Microsoft) is in charge of the software. They control the pace of development for the software, they alone control whether or not bugs in the software get fixed, and at any moment they could decide to make the version of their software that you and I depend on an unsupported product.

That can result in a number of undesired situations, including:

Proprietary software also has a nasty habit of becoming dormant or even dying in some cases, mainly due to a lack of interest on the part of the company making the software, or sometimes due to the demise of the company itself. There is no option, in most cases, for a third party to step up to the plate to continue development or support -- the software becomes frozen in time.

That isn't a good thing if you're depending on that software to function correctly -- sooner or later you will likely end up having to stop using the software entirely because it isn't being fixed or enhanced.

By using an non-proprietary operating system like Linux or FreeBSD whenever I can, I'm a lot less likely to be "forced" to upgrade against my wishes, and I also know that it's a lot less likely that the software will end up being abandoned.

That is why I don't use Windows for everything...


[Go Home] [E-Mail Me] [See Resume] [Valid HTML 4.01!] [100% Hand-Coded] [Best Viewed With *ANY* Browser!]

Most recent revision: August 26, 2003
Copyright © 1996-2003 by Richard C. Steiner

Site Meter