| |
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
|