This week's book giveaway is in the OCPJP forum. We're giving away four copies of OCA/OCP Java SE 7 Programmer I & II Study Guide and have Kathy Sierra & Bert Bates on-line! See this thread for details.
This question can stir up more heated arguments than even the fabled "vi vs. Emacs" question; it's essentially a religious debate. Let me offer my pronouncement to start: Windows is better for games; otherwise, you're better off using an actual operating system.
If you want customer support, hardware support, run off the (store)shelf software, use Windows. If you want to look c00l to your friends, use Linux. There's a market for both, but Linux isn't (yet?) ready for the mainstream user.
Microsoft Windows can provide you with the interface you want,
Other commercial packages provide you with whatever other tools you need
you don't mind paying whatever Microsoft decides you must pay now and might decide you must pay later
However as soon as any one of those items is not correct then you might want to look at Linux or any of the other alternatives in the market. So here are some items that I don't believe fit into the list above:
You want to experiment with the computer (what happens if I change the filesystem for better performance or for better crash recovery (Microsoft: one filesystem fits everybody) and later decide to change it back.
You want (or need) a different interface - for example you have a remote server - with Linux you can do everything via a telnet prompt. Microsoft have an add on package to give you a shell prompt, but you can't do it natively, and most Microsoft administrators are far more comfortable using the GUI interface anyway (try doing remote graphical admin work over a 33Kb modem!
An alternative - you do want a graphical interface, but you do not want the "Microsoft" style - there are plenty of other styles out there, one which may make more sense to you (not everybody's brain works the same way).
You decide you want (or need) some other software e.g. an HTTP server or an email server, or an FTP server. Microsoft: each one costs money. Linux: they all come supplied with your distribution (though not normally configured to run automatically). Sure, some of the free servers have been ported to Microsoft platforms, but then what is your reasoning for using the Microsoft OS?
So what are the reasons people stick with Microsoft:
It came with the computer they purchased. Fair enough - many people also stick with the radio that came with the car.
They are used to the interface that Microsoft provides - not really valid, you can configure Linux to give you a very similar look and feel.
They own a copy of Microsoft Office, and are afraid that they will loose their documents if they go to another platform. Not true - Star Office and Open Office do an excellent job of reading and writing the Microsoft legacy formats. And sticking with Microsoft Office means that you will be continually purchasing new versions (or going on Microsoft's annual license fee program) to keep up to date with new versions.
Some other program exists that they cannot do without that only works in Microsoft Operating Systems. This is usually the clincher. In the rare cases where an alternative cannot be found, and that it cannot work in Wine, then you may be forced to stay in the Microsoft collective.
Regards, Andrew [ September 12, 2003: Message edited by: Andrew Monkhouse ]
Originally posted by Andrew Monkhouse: Some other program exists that they cannot do without that only works in Microsoft Operating Systems. This is usually the clincher. In the rare cases where an alternative cannot be found, and that it cannot work in Wine, then you may be forced to stay in the Microsoft collective. [/list] Regards, Andrew
Such cases are far less rare than you'd think. Most programs that require DirectX for example (among them games which is a core reason for the sale of most PCs to home users) have no alternative under Linux and won't run (at least adequately) under Wine. Another area is 3D modelling. 3DSMax won't run on Linux, and neither will most equivalent products. Training expense is a major reason for companies to stick with Windows. Not only would they have to teach their entire staff a new OS, they'd need retraining on every single application as well. Then there's the cost of rewriting all the custom software companies use. For a midsized company that cost alone would easily eat up the entire IT budget for several years. And of course the installation is a lot harder, especially for non-technical users. With Windows you push in the CD and half an hour later you're up and running. With Linux you have to put in all kinds of magic data about hardware that most people don't know and have no way of retrieving ("go to the manufacturer website" is NOT a nice thing to say to someone who just wiped his harddisk to install Linux because someone told him it was better). It took me (and I have installed my share of machines over time) 2 weeks to get my laptop up and running on Linux. The only reason I succeeded was because I had another machine left running Windows which enabled me to go online to get help from someone who happened to have installed the same distribution on the same type of laptop, and even me could not help me with the network card, which I later found out had a broken driver in the kernel I needed. I ended up replacing that card. A non-technical user would have given up. Then there's the severe lack of documentation for most products, and indeed even basic tasks.
author and jackaroo
Most programs that require DirectX for example (among them games which is a core reason for the sale of most PCs to home users) have no alternative under Linux and won't run (at least adequately) under Wine.
Agreed. Although the situation is slowly getting better.
Another area is 3D modelling. 3DSMax won't run on Linux, and neither will most equivalent products.
Perhaps - but then the best platform for 3D modelling used to be the Sun workstations (SGI?).
Training expense is a major reason for companies to stick with Windows. Not only would they have to teach their entire staff a new OS, they'd need retraining on every single application as well.
Really? How much training does the average user get on how to really use the Microsoft OS at a low level? Most people are taught to use the GUI interface to the OS, and the GUI interface to the applications. The GUI interface to Linux can be configured to be remarkably similar to Microsoft if you want it to be, and the interface to Star Office / Open Office is very similar to Microsoft Office. Even if you stick to Microsoft, you are not spared the retraining issues. The user interface has changed with Windows 95, 98, NT, 2000 (those are the ones I am used to). Likewise it has changed with the different versions of Microsoft Office - and the more of a power user you are, the worse it is.
Then there's the cost of rewriting all the custom software companies use. For a midsized company that cost alone would easily eat up the entire IT budget for several years.
I am hopeful that will change with Java and web applications. But sooner or later Microsoft may get burnt with their attitude that they can continue raising prices and forcing people into maintenance products because it is too expensive to migrate. Other companies have fallen into the same trap - I remember working for one company that decided to stop paying maintenance on their VMS licenses for one year, and the money they saved payed for the migration of all their VMS software to AIX. Managers may end up doing the math and determining that in the long run other solutions may be cheaper.
And of course the installation is a lot harder, especially for non-technical users. With Windows you push in the CD and half an hour later you're up and running. With Linux you have to put in all kinds of magic data about hardware that most people don't know and have no way of retrieving ("go to the manufacturer website" is NOT a nice thing to say to someone who just wiped his harddisk to install Linux because someone told him it was better).
This is also getting better. If you have fairly standard components that have been around for a while (say 6 months) then the chances are you can get the latest RedHat distribution and do the same thing. The last install I did was: insert CD, boot, click on "English" as my language, click on "101 keyboard", click on "Australia/NSW" as my region, and click on "standard workstation". Half an hour later I was asked whether I wanted DHCP (default) or a static IP (it had detected my network card automatically) and then I was asked if I wanted to configure a printer. A reboot later, and I was up and running. If you go for a big name like Dell all parts are already checked by Dell to ensure that they will run Linux. In some countries they will supply the machine with Linux pre-installed. In all countries they will supply servers with Linux pre-installed.
It took me (and I have installed my share of machines over time) 2 weeks to get my laptop up and running on Linux.
Yes, Laptops have always been a problem, since most laptop manufacturers use non standard / proprietary chips in order to make their systems smaller / cheaper / less power hungry. Unlike PCs where 1000 Linux users may choose to install the latest video card, so a driver is written fairly quickly, laptops are not so often chosen by Linux people.
Then there's the severe lack of documentation for most products, and indeed even basic tasks.
Yes that can be a problem. Most Linux developers seem to assume that their audience is as technical as the programmer who is writing the software. And since it is all voluntary work, there are rarely technical writers around to make proper documentation. Although I don't think it is necesarily much worse than Microsoft. Everyone assumes in the MS world that you will use Explorer to copy files. There are similar graphical applications for Linux. But try and get clear information on using the "copy", "xcopy" or "xcopy32" commands, or even find out what the differences between them are. Compare that with the huge amount of information you get from "man cp" or "info cp". Regards, Andrew
Joined: Oct 12, 2000
Last I checked Windows pricing was still the same as about 5 years ago (if not longer). That's despite having a more powerful product as well as having lived through a lot of inflation in the meantime. Effectively therefore the price of a Windows installation has gone DOWN instead of up as you claim. The price of Office has gone up some compared to Office 4.x, but for that money you now get several extra products that previously were available at extra cost (whether everyone needs those products is another question, which is why there are several versions of Office available). The "Microsoft increases prices all the time" argument is blatantly untrue. They have been instrumental in getting software prices DOWN instead of UP over the years, until at last people could afford a mature computer and associated software at home (rather than being stuck with a C64 or similar where a small game might cost $100 or more). Thanks in part to them the software market is now extremely competitive with prices for an average application now lower than the price of a box of floppy disks 10-15 years ago.
author and jackaroo
OK - just checked my facts. Windows 95 when it was released was $109 USD for an upgrade, and $209 for a full release. I vaguely recall purchasing an upgrade for $150 (the last time I purchased a Windows OS - since then I have been forced to get various versions when I purchased new PCs) Looking at Windows XP Home edition, an upgrade will cost me $205 Australian, or $405 for a full release. This would indicate a 4% acumulative increase. So perhaps a little higher than inflation, but not much. The Windows XP Professional edition and Windows 2000 professional are much more expensive, but I don't think I can justifiably compare them. So I retract my statement that Microsoft keeps raising prices. It appears that they have been keeping close to inflation. Regards, Andrew