TRY MY
COLORED GLASS

 
 Home
 About Us
 Achu's Page
 Interests
 Friends
 Photos
 
Literature
 Technical
 Paintings

 
 
This article was written for the IT Glimpse magazine (2004) published by Computer Science Students Association, Mahatma Gandhi University, Kerala. (Given here is the original article I wrote.)

Being a Windows programmer all along (apart from the couple of years when I was first introduced to computers), I can’t be impartial anymore when talking about programming. When I know for sure I can’t be someone, then what’s the reason for pretending to be that someone? So, I decided to see the world through the colored glass of mine—of a Windows programmer.

I am familiar with a number of my contacts who think that Microsoft is a monopoly and will use its power as a monopoly to do bad things for computer users around the world. They also believe that open source is the solution for all: you get it free, after all. How will they wipe Windows out of the way to make room for the great open source revolution? I can think of some ways: use only open source software. Promote open source by insisting to work only for those companies that promote open source.

These are two reasonably good ideas, you say. When I do a reality check, these promoters don’t exactly walk their talk. (For example: netcraft.com shows that deshabhimani.com is running under Windows 2000, IIS 5 and the average uptime of presidentofindia.nic.in has declined to 1.83 days from 18.47 days since it moved to a Linux-based hosting in January 2004. Interestingly, rajyasabha.nic.in and loksabha.nic.in are currently sticking with Windows-based hosting.) Many have asked this question to the Microsoft-haters: if you don’t like Microsoft, then why are you still using Microsoft software? If you and others like you decide not to use Windows and other software running in Windows, is that a sure shot to eliminate Microsoft’s so-called monopoly?

The answer to this seemingly innocent question is not straight-forward. As far as possible, everyone wants to use the best product available. Depending on how you look at it, your definition of “being the best” can vary. You want to use the best, but you also want to use something that “works”. Microsoft software is preferred because it works, not because it does not have any bugs; and not because it is free. Windows may be fat or sometimes slow because it does not have the luxury that any other “perfect OS” has of being the OS that doesn't have to support the innumerable number of third party hardware drivers and programs. I know first-hand that a huge percentage of reported problems in Windows are caused by one faulty driver or the other that does not adhere to driver-writing specifications. Then why does Windows allow that software to be installed? Tell me how you feel when you buy an expensive digital camera and hook it up to Windows only to find out that the manufacturer did not write the driver well enough to allow Windows to talk to it? It is a compromise—and a huge one. Windows and Microsoft are willing to cautiously make the compromise.

This is exactly what happens even when you write a web application. What is a better browser, IE or Netscape? Netscape strictly follows standards and prevents anything that violates the standard not to be displayed (or run). IE takes the standard and extends it so that it can be more tolerable to make your life (as a programmer) easy.

The question is: if there were only one OS, only one browser in the world, as a programmer, which one would you wish for?

I wish for Windows. I wish for Windows because I like things that “just work”. I like things that make my life easy. I like a computer that I can recover files that I accidentally deleted with relative ease. I like to manage the way I want my computer to run with ease. I want most of my applications to run without complaining. If I choose to run faulty applications, that’s my fault—not Windows’. On to a more serious note, Windows-based software is not tied down to any specific hardware. Buy your computer from one manufacturer, software from a different one, and your life is as happy as it can be. Try this on a UNIX machine: migrate from AIX/PowerPC to HP-UX/PA-RISC and compare the experience. The UNIX model allows hardware vendors to customize the OS for specific platforms. This would mean that developers must uniquely create UNIX applications for each major platform—or at least for the four major players: Sun, Digital, HP and IBM. This will drive up the cost to unimaginable proportion. In the Windows world, everything is interchangeable, including the OS. Those who are not “compatible” with anyone else do not have to worry about what other products or programs work with their OS. As long as this is true, they can even boast of a “compact core”, and a “faster reboot time”.

I wish for IE. World went IE not because it was the worse of the two, but because it was the better of the two. World remain with IE because it keeps getting better. When you write an application (let it be the one to add two matrices or to find the number of Hamiltonian circuits on an n-hypercube), the chances of finding bugs are more if ten of your colleagues pound on it rather than you alone looking for a bug. The same is applicable with any product. IE is constantly tested by more than 90% of the people who use a browser and the likelihood of finding bugs are more. This does not mean that Netscape (or any other browser) is a bug-free product. Now that we are getting reports on comparative bug analysis from independent firms, the different flavors of UNIX are proving to be buggier than Windows on an apple-to-apple comparison.

When you are young, just stepping out of the college looking for jobs, it is easy to get carried away by the glamour of high-profile endorsements (from Presidents and the like) for UNIX and its variations. When you play with your future, you don’t want to be fashionable: just realistic. Welcome to the programming world of Windows where we actually make (not just say) people’s life better. Bill Gates being a multi-billionaire should not affect your decision on what you want to do with your life, programming life, that is.

[Written on November 17, 2004]

Read my other published works:
Are You A Better Software Engineer?
Enterprise Computing with Microsoft’s .NET Framework
Bill Gates has Become Rich, But My Windows Crashed Again!
The Good Doctor Prescribes You a Tablet

 

[ Home ] [ About Us ] [ Achu's Page ] [ Interests ] [ Friends ] [ Photos ] [ Literature ] [ Technical ] [ Paintings ]