|  BlueWolf's Howl   | Comics and Art  | Higher Level  | Photography  | Poetry and Stories  |
|  Chess  |  Letterboxing  |
|  2003 Blogathon Archive  |   2005 Blogathon Archive  | 8th Layer Archive  | Blue702 Archive  |

BlueWolf's Howl

« Updates | Bluewolf's Howl | A $tring of Perls »

February 18, 2004

Why Upgrade?

I often hear the grumbling of users whenever the word "upgrade" is mentioned... The most common complaint is that many of their old programs don't work anymore. The second most common gripe is that all these new programs won't work with their old operating systems (which they refuse to upgrade).

Most users don't know why they should (or do) upgrade and are almost totally clueless as to why the components (OS and apps) aren't compatible anymore. It's almost always written off to greed. Greedy Microsoft. Greedy Software companies. These people just want to make a buck.... Well, maybe they do want to make a buck (after all, they *are* in business -- software development is not a charity operation), but that's not really the reason why it doesn't all play together well. Hopefully, if I explain a few things, it may save someone from making an "upgrade" from one OS to another that is *still* incompatible with the apps they need. Or perhaps you may simply understand that there *is* a reason why these things don't work together that is more than just mere greed.

Some programs were written to look for Windows 95 by name. (If that's the case, it won't even run on Windows 98.) That's the way code was written then. There's nothing anyone is going to do about it now. Remember the Y2K debacle... it's a miracle anyone bothered to rewrite any of that code - and that was only because they were forced to by circumstance. In most cases, it forced an upgrade. The only devices that weren't upgraded were ones where it was cheaper to pay someone to rewrite the old code than to manufacture new hardware (very rare). No company is going to rewrite their code to be compatible with a newer version of an OS and hand it out for free. Most of those companies already went bust with the Dot-Com fallout, anyway.

Now, remember all the complaints about 95 and 98 crashing all the time? Well, they tried to fix that. One of the reasons that happened is because the applications would interact directly with the hardware (video, floppy drive, cdrom, etc). If the application was written wrong (and that could be *any* game or program from *any* company), then the whole system would crash. Yes, the cute little executable greeting card (attachment) that you opened could take down the whole system and you would lose everything in the spreadsheet you were working on (that wasn't saved) because you have to reboot due to the video hardware choking on the card code.

How did they fix it? Well...they separated the functions into layers. The new programs and apps have to ask the operating system to do things for them. Instead of accessing your floppy drive directly, the application says "can you open a file on the floppy and put this stuff in it for me? Please." Well, maybe they didn't put the "please" in there, but you get the idea. Yes, it's an oversimplification, but so is "they're just greedy." Since Win2K operates in this manner, programs that try to access the hardware directly won't run. Programs that make requests of the Operating System for hardware tasks (like video display) run fine. This is why some of your Win95/Win98 programs won't run. They're trying to access the hardware directly. It's also why some newer programs won't run on the old systems. They're sending requests to the operating system for hardware access and Win9X is saying, "Not my job, man. Get it your damn self."

So why did they do this? To get your upgrade money? No. They did this so that no single buggy app could take down the whole system. If you've been on Win2K, you'll notice that it doesn't crash (much) [unless you add new hardware and it chokes on that]. Some applications hang sometimes, but a quick trip to Task Manager and an "End Task" click and the rest of your programs are spared the reboot/crash. And...for the most part, I've found that Win2K *is* more stable than 95/98.

Now...close your eyes and take a walk with me down memory lane... Remember your first computer? Mine was a 286 with about 500 MB of hard drive space and 8 mb of RAM. It ran DOS and printed on a dot matrix printer. It cost quite a bit in those days, but it wasn't powerful enough to get on the Internet. So I bought a new computer -- a Pentium 133 with 64MB of RAM and a 2.6 Gig hard drive. Wooo hooo! It ran Win95 - and it was able to access the Internet on its 28.8 modem.

Look at those dinosaurs! Think of what you can and can't do with them. With my current computer, I copy things to the clipboard that are larger than the 8MB of RAM that the ol' 286 had. My current operating system and applications wouldn't fit on that measley 2.6 Gig hard drive, much less have any room to store a file. If you look in the folders on your own hard drive, I'm sure that you have folders larger than 2.6 Gigs (on your 20, 40, 60, 120 Gig hard drives). You probably have more than that just in pirated music files... ; )

Look at how the Internet has grown. The only graphics in email used to be drawn in ascii. Now you have singing and swinging emails. Web pages were simple text-filled pages with a few pictures here and there. Those pages are now few and far between. Most pages now have multimedia or run scripts. And your browser ....on YOUR computer....has to process this information and display it to you. That P133 with a 28.8 modem couldn't handle today's Internet.

There's a compelling reason to upgrade the hardware. People understand that. It's simple and obvious. You want more than 28.8 kbps speed? You have to upgrade your modem. But, the operating system? That's hard to give up. It's familiar. You know how to do things on it. You'll have to *learn* a new system. Hmmm... look at the "pages read" each year while I get you a tissue. If you want the new hardware, you have to use the new system that makes the hardware run. [This is why you can't buy a new computer with Win95/98 on it.]

Knowing about these things, when I bought my present computer, I opted for W2KPro. Part of that decision was based on the upgrade tests that I knew I would have to take (to stay current in the field). The other part was that I would be working on a similar system at work. Hint: if you don't want to learn multiple systems, get the one you'll be using at work.

If you're in the market for a new computer, let me tell you about .NET.... Just like the advance in technology when they separated the hardware from the software (creating a Hardware Abstraction Layer - as oversimplified above), there's a similar advance in the programming world called ".NET."

The Microsoft .NET initiative introduces a major new layer between applications and the operating system, namely the common language runtime (CLR).

What does this do for you and your computing? Well, it means that a program can run on any processor or OS for which a CLR is available. If you buy a program that's compatible now, it will be compatible with your next upgrade -- both hardware (processor) upgrade and operating system upgrade. [Isn't that what you wanted?] The CLR can perform memory management and other services that increase the reliability of both the application and the operating system. [You wanted that too...] And - all programs that use the CLR use the same "data types" and the same interfaces to the operating system. This makes it much easier for programs written in different languages to interact. [You will be more likely to be able to send data from one program to another - even if it's made by a different company or performs a different function...]

Here's the kicker:

Because Visual Basic .NET creates intermediate language code, any programs written (with VB .NET) will only run on computers that have the Microsoft .NET Framework installed. (The .NET Framework includes the CLR).

A quick check of the Microsoft .NET site revealed that there is a "Redistributable" version that does support some of the legacy systems. (Notice that Win95 is absent from the Microsoft list). This will enable programs using .NET to run on those systems.

I hear the Win9X clock ticking. It's the same turn of the wheel that came when graphics became animated. It's the same ticking noise that I heard under the screech of my 28.8 modem... Perhaps your Win9X computer doesn't have the hardware to handle the newer systems. Then, you'll have to upgrade both at the same time. [Note: Plan for this *before* you kick the computer for being so dang slow - save a toe.] But, if your hardware can handle it and you formatted over the WinMe or XP that came with the machine so you could keep your Win98 interface... get those disks back out and do the brave thing.

Posted by BlueWolf on February 18, 2004 12:05 AM