[copperpress-advertserve-ad-reload zone="3"]
 June 18, 1999

Here’s why software writers hate Microsoft

geek news

Why do so many programmers hate Microsoft?

Well, I’ll tell you why. In fact, I’ll give you an example of the trash that’s coming out of Redmond, and how it’s making the lives of programmers and technical-support people so.

My software-development company, BizBlast

.com, is in the process of developing a number of Internet-related Windows programs. We’ve recently run into a number of problems with three specific Windows files, oleaut32.dll, vbajet32.dll, and shdocvw.dll.

Now, back in the days of DOS, creating programs was much simpler in many ways. You’d create your program files and drop them into a single directory structure that was dedicated to the program. If there was a problem with the program, it was your problem; there was nobody else to blame.

These days, it’s very different. In order to run a program, the program code you write has to interact with code that Microsoft writes. There’s a host of Microsoft files that carry out various functions; files such as .DLLs (Dynamic Link Libraries) and .OCXs (OLE Custom Control).

For instance, SHDOCVW.DLL is a file that helps run a variety of Weblike windows. (The VW bit in the name probably means Virtual Web.) A number of windows in Windows 98 are controlled by this file.

Now, if Microsoft would create a single version of each of these important files and stick with it, a programmer’s life would be easier. But Microsoft is continually churning out modifications almost on a weekly basis.

That means a programmer can never be quite sure that the code he’s written will work properly, or that the Microsoft system files that he has to transfer when his program is being installed on someone else’s computer won’t harm that computer in some way.

A couple of weeks ago my partner sent me a beta-test program. I ran the installation program, then rebooted my computer ä and found that I was completely locked out of Windows. Each time I booted I’d get an error message telling me that there was a problem with Windows Explorer. I couldn’t even use the Windows Safe mode ä my Windows system was simply unusable.

Here’s what I did. I booted my computer and logged in through the command line. Then I changed a couple of startup files to boot into a different installation of Windows. I have one installation in the WINDOWS directory and one in the WIN98 directory.

The WIN98 installation is a sort of backup system to allow me to reboot if something goes wrong in the WINDOWS installation. Once inside WIN98, I took a look at the installation log file to see which system files the beta program had loaded into the WINDOWSSYSTEM directory. I copied all these files into a backup directory and then replaced them with the good files from my WIN98SYSTEM directory. Then I rebooted back into my WINDOWS installation.

Then I started copying the backed-up files back into the WINDOWSSYSTEM directory — copying a few files at a time, then rebooting. This way, I was able to discover which of these system files was causing the problem. It turned out to be SHDOCVW.DLL.

The bad file was dated 3-18-99, with a version number of 5.00.2314.1000. The good one, the one that didn’t stop Windows from running, was dated 5-11-98, with a version number of 4.72.3110.3.

Now, there are several things to consider here. First, the more recent file was the bad one. The bad one was a matter of weeks old, while the one that was almost a year old worked fine.

Notice also the version numbers. It jumped from 4.72.3110.3 to 5.00.2314.1000 in a period of around 10 months.

The other important thing to consider is that this file was working just fine on my partner’s computer. That means this .DLL file is somehow interacting with something else that’s on my system, but not my partner’s. How on earth can a programmer know if a particular set of installation files will work on every computer? He can’t. In fact, my partner even checked Microsoft’s documentation to see which files SHDOCVW.DLL interacts with, but the documentation didn’t say.

This situation is exacerbated by Microsoft’s Windows Update system. Microsoft has gotten into the bad habit of updating as many computers as it can as often as it can by transferring what it calls “critical updates” across the Internet. Many of the files being transferred each time are these system files.

Microsoft seems to be using this as a crutch. Instead of producing clean, relatively bug-free versions of Windows, and doing a single release every 18 months or so, it figures it can release garbage and do bug fixes “on the fly.”

For software-testing purposes, I’ve taken to collecting system files. In my collection right now I have these versions of a file called OLEAUT32.DLL, another .DLL that can cause installation headaches: 2.30.4265, dated 10-6-98; 2.40.4268, dated 12-18-98; 2.40.4275, dated 03-8-99; 5.0.4265, dated 10-6-98.

Four different versions over a year, with, it seems, intermediate versions, too; perhaps 10 or more. Microsoft’s code is out of control, and unless they can somehow get it back under control, eventually it will grind to a halt. Windows will become so hard to work with, that an opening will appear for an alternative — perhaps some Windows-enabled version of Linux.

Peter Kent’s “Poor Richard’s Internet Marketing and Promotions,” is now in print. Visit http//PoorRichard.com/promo/ for sample chapters, table of contents and more.

geek news

Why do so many programmers hate Microsoft?

Well, I’ll tell you why. In fact, I’ll give you an example of the trash that’s coming out of Redmond, and how it’s making the lives of programmers and technical-support people so.

My software-development company, BizBlast

.com, is in the process of developing a number of Internet-related Windows programs. We’ve recently run into a number of problems with three specific Windows files, oleaut32.dll, vbajet32.dll, and shdocvw.dll.

Now, back in the days of DOS, creating programs was much simpler in many ways. You’d create your program files and drop them into a single directory structure…

[copperpress-advertserve-ad-reload zone="3"]

Related Content

[copperpress-advertserve-ad-interstitial zone="30"]