Windows Beat Unix, But it Won't Beat Linux
Onymous Hero writes "The amazing thing isn't that Windows beat the pants off Unix; it's that so many of the Unix companies survived until today. An article from eWeek looks at why Linux has been so successful where Unix failed." From the article: "While the Unix companies were busy ripping each other to shreds, Microsoft was smiling all the way to the bank. Because the Unix businesses couldn't settle on software development standards, ISVs (independent software vendors) had to write not a single application to get the whole Unix market, they had to write up to a half-dozen different versions. Which would you rather do? Write a single application that would run on all Windows systems, or six different ones, each with its own unique quality assurance and support problems? "
Make that three.
NeXT are still in the Unix business.
.. you just have to choose your API's/frameworks carefully.
.. as long as you're developing on Unix.
i mean, its not so difficult to set up a project that will cross-compile, use GTK+ or one of the other, smart, GUI libs, heck even SDL+libcairo works wonders, and then get it running on Solaris, Linux, *BSD's, OSX, and Windows
but you certainly can't easily do it the other way around: develop on Windows, and port across. It can of course be done (with GTK+, etc), but its not as easy as it is to do under Unix.
; -- the corruption of government starts with its secrets. a truly free people keep no secrets. --
And it won't for one simple reason. Its open source and free. Time and time again people say that Linux won't be able to last another year against Windows, and time and time again Linux is still here and stronger than ever. It is for one simple reason. It will last so long as people still have an interest in it and keep developing for it. Theoretically, Linux could last forever against Microsoft because there will always be people who don't want to buy into them. And there will always be people who want software for free and be able to modify their software. We could sit at 24 million Linux users for the next century and be fine. Still using Linux? (version 8.6.12-ac3) You bet I am.
Which would you rather do? Write a single application that would run on all Windows systems, or six different ones, each with its own unique quality assurance and support problems?
Well let me think... I'll write a single application that would run on all Windows systems, after they pry my cold dead fingers off my smoking gun.
If Microsoft was mass, stupidity would be gravity.
From TFA:Hold on a second...according to Ulrich Drepper, the LSB was fundamentally broken.
(Note: see the Slashdot discussion regarding Ulrich's assertions here.
If Ulrich is on target, LSB, far from being the saving grace of Linux, could well be its downfall.
____
~ |rip/\/\aster /\/\onkey
Back when Unix ruled the world you programmed in C at the OS level, you had to understand about pipes and processors and threads and lots of other elements of the OS. This meant it was a pain to re-learn across all the other platforms.
Now there are (for enterprises) only two real choices, Java and
Linux is winning in large enterprises because its the cheapest, and safest, way to run Oracle RAC and J2EE Application Servers. If you really don't care about the OS (and most of the time you don't) then you might as well pick Linux.
If programming was still at the OS level then IMO Linux would still struggle as you'd have to understand a lot more about it. J2EE in paticular has made hardware a commodity, and in the commodity world Linux is the best choice.
An Eye for an Eye will make the whole world blind - Gandhi
haha I know this is off topic, but...
When clicking on the story to ready it, there was a sun ad saying "With their evil systems, it's no wonder their name rhymes with hell"
haha Classy.
If an officer ever threatens to taze you, say you have a pacemaker.
the Unix businesses couldn't agree on software development standards
Oh, and Linux can?
Why is it that for Linux to succeed Microsoft must fail and vice versa? Surely there's room for both of them in the market and competition is a healthy thing to prevent stagnation. No one looks for ATi to destroy Nvidia or wants Sony to put Nintendo out of the market so why the constant desire to see Microsoft fail? I actually like a lot of what Microsoft is trying to acheive with its next round of software. At the same time I love the progress made by Debian, Ubuntu, E17 etc. one spurs the other. If Microsoft fails surely thats bad for the American economy and in the long term means less jobs for people like ourselves, it's almost like wishing another Katrina on yourselves, doesn't make much sense to me.
" Which would you rather do? Write a single application that would run on all Windows systems, or six different ones, each with its own unique quality assurance and support problems?"
Now how does that make sense? Microsoft didn't meet anyone elses standards either. If anything even though the Unix guys didn't exactly pull it off, they still did a better job meeting standards than Microsoft. The truth is they were all doing their own thing, just MS managed to sell enough to get the userbase it needed to make developing for their platform a no-brainer.
In short, it wasn't Windows standards compliance or lack thereof that made them win, Windows won in spite of it.
Sigs are awesome huh?
From the article:
The second advantage was it had Linus Torvalds.
There are other open-source Unix operating systems: the BSDs.
None of them, though, have had even a fraction of Linux's success.
Because Torvalds is the single leader of Linux, it has avoided the old Unix trap of in-fighting, which continues to bedevil the BSDs.
Excuse me? Sure, there is in-fighting among the BSDs, but there is certainly more in-fighting and more competition among the Linux distributions.
For instance, the ports/packages of OpenBSD is inspired by FreeBSD's, while NetBSD's pkgsrc has been selected by DragonFlyBSD. OpenSSH, from OpenBSD, has been adopted by both FreeBSD and NetBSD (not to mention countless other OS) and pf has also been imported into FreeBSD and NetBSD. And so on and so forth. That does not sound like in-fighting to me.
So... in-fighting? Sure, there is competition between the BSDs, and a fair amount of sniping and name-calling, but I don't think this is worse (or better) than the in-fighting between the different Linux distributions.
The right to offend is far more important than the right not to be offended. (Rowan Atkinson)
1. Most Unix operating systems ran on proprietary hardware only. NT could be installed on cheap hardware you could buy from a store.
2. The exception was SCO Unix. But SCO treated it exclusively as a high-end product, so it didn't end up on desktops.
3. No serious push was made to put Unix on the desktop. As a result, Microsoft was able to sell NT as an operating system that the majority of system administrators were familiar with, as opposed to Unix where almost nobody had it on their desktops.
If these issues had been knocked on the head, Unix might have stood a chance. As for "rival" versions all making different decisions, who gives a crap? So "Unix" wasn't one operating system, but several: if it was five different operating systems, then it had five chances to be successful. Any one of them could have succeeded and changed the market. None of them did, not because they were rivals, but because they all had at least one major flaw as documented above:
- AIX might have been successful had it been available for x86 and with low-cost desktop versions available that were properly pushed.
- Solaris might have been successful had it been available for x86 (before Linux) and with low-cost desktop versions available that were properly pushed.
- HPUX might have been successful had it been available for x86 and with low-cost desktop versions available that were properly pushed.
- DEC Tru64 might have been successful had it been available for x86 and with low-cost desktop versions available that were properly pushed.
Whether, of course, it would have been capable of being properly pushed, given Microsoft's stranglehold on the desktop market in the early nineties, is open to question.What the summary documents is a nonsense and ignores the real issues. Arguing that AUX didn't succeed because it competed with Solaris would be like arguing MSDOS didn't succeed because it competed with CP/M. The fact all of these operating systems shared a brandname does not mean they didn't independently fail. They may have failed for the same reasons, but they didn't fail because they were all slightly different yet had a brandname and some code in common. That's ridiculous.
You are not alone. This is not normal. None of this is normal.
Would you rather have 1 tyrant (Bill Gates) 3,000 miles away or 3,000 tyrants (open sourcers) 1 mile away?
Cogito Ergo Sum
You have this comment saved up somewhere waiting for a chance to use it? I recognise it.
/ 1128201&threshold=-1&tid=156&tid=163&tid=8&tid=106
http://linux.slashdot.org/article.pl?sid=05/09/19
Come on, you can do better AC.
all the best,
drew
--
http://www.ourmedia.org/node/57503
Paper Plane 001 video at ourmedia
FreeMusicPush If you want to see more Free Music made, listen to Free
hmmm...java - self installing executable.
Firefox, and netscape before it - self installing executable.
Flash - self installing executable.
MyEclipseIDE (a commercial J2EE feature / plugin for Eclipse) - self installing executable.
Even Oracle is a simple clicky wizard away on Linux these days.
The challenges to installing 3rd party software on Linux or any Unix are no different to the ones in Windows. - In fact, with the complete lack of package management in Windows, most Unix like systems are actually easier to create installs for.
It's not the fault of the operating system if the application vendor can't be bothered spending the extra time to make the installation process easy.
Advanced users are users too!
Are you suggesting that there's a better way than writing everything for the curses library?
No folly is more costly than the folly of intolerant idealism. - Winston Churchill
As a previous poster pointed out, we have been told again and again, that Linux has been on the path of destruction.
While I am a c++ fan, i don't see the advantage of a C++ gui API. Furthermore, while it may seem huge to you, we only have two main GUI API on linux. They are even mostly crossplatform now. Plus you know that by choosing either one of them it will run on your linux box, as both GTK and QT are installed.
As for the media framework, i guess you haven't been following it very well, but to my knowledge, we can say we have three major one on Linux: Mplayer, Xine and finally my favorite GStreamer. While initially Gstreamer was Gnome, it is one becoming a major player (pun almost intented) in KDE. Amarok uses it quite well. Furthermore, they have from what i understand an almost functionnal version for Windows, making it crossplatform too.
Choice doesn't create chaos. What creates chaos is when you are stupid to make a good choice, and that you are gloating that your choice is valid because you picked it. Choice push to competition. Plus, i would prefer choice, than a single road finishing with a wall at the end.
I don't really if Linux beats Windows, or the reverse, as long as I have the choice to work on a consistent platform Linux or Windows. It all adds up to what is better for you.
but:
Write a single application that would run on all Windows systems, or six different ones, each with its own unique quality assurance and support problems?
Seems a little bit oversimplified. I'm not directly affected because I don't use Microsoft software, but I've heard where I work that it takes months to verify if every service pack for Windows will work with existing software. And when I was a Windows developer, we were doing some pretty low level stuff with the authentication subystem, and things were very different between Win 98, 2000, and NT 4 (was that really still around then?). Granted, for a simple GUI app, Windows is very portable across its products, but if you get a little lower into the OS, things get nasty quick.
History says that if you build an app for Solaris first and that gains marketshare, then maybe it might be worthwhile to port it to other Unices if the development and porting costs can be recouped with sales and support. Linux has been changing that somewhat, but I'd still wager that most development houses that write for a Unix market almost always have Solaris as a primary platform.
As to why you'd do this (and to some extent, this is still valid), it's because Unices provide a stable, well-mature platform for apps and are capable of more processing power than your typical Windows system -- all desirable traits for an application that people are going to depend on. People use Windows because the time-to-market for development is typically shorter than that of Unix development, mostly due to the fact that 95% of the world can write an app on their Windows desktop and copy it to a Windows server platform without modification. Doesn't mean it's good code or a well-thought out development strategy, but it's an enabling technique that keeps Windows development prevalent in IT.
Rule #1 -- Politics always trumps technology.
Good grief what bull - anyone would think you've never been able to write large scale single source apps until you ship on one platform (Linux, Windows or the Mac, choose one). Between 1990 and 1994 I worked for Laser Scan (out of business for about a year now) www.laserscan.co.uk. We wrote GIS systems for VMS and 6 Unix platforms. All single source, in C, using X11 and Motif with Oracle I think, using object based code (the GNU C++ compiler wasn't up to much in 1990 when we had to choose). There was I think one header file with the few platform specific things in (like missing macros on Solaris) etc. I can't remember how many lines of code, but I think about the 1 million line mark, excluding comments. 11 years is a long time to try to remember that stuff.
But single source - that is the majority of your headache gone right there. Which leads to the next FALSE assertion:
Write a single application that would run on all Windows systems, or six different ones, each with its own unique quality assurance and support problems?
Write a single App for VMS and six competing Unix vendors from single source - why thats the same as write an app for seven different Linux vendors from single source. You STILL have the seven unique quality assurance and support problems because each distribution will be different.
It would be nice to assume that because you built it on RedHat it will run on Suse. Maybe it will most of the time. But will it always? And when it does not, will the cause necessarily always be the same when it fails on Linux vendor #2 compared to failing on Linux vendor #4? Maybe, Maybe not, that is the question, for alas quality assurance and support did not exist when he wrote plays in Stratford upon Avon.
Still, I'm sure the informed journo that wrote that article has a nice pay cheque.
May I suggest you tell Apple that "MacOS X is not Unix"?
According to you tf Apple site:
"Beneath the surface of Mac OS X lies an industrial-strength UNIX foundation..."
http://www.apple.com/macosx/features/unix/
Luckily I commented on you so that I am not tempted to mod you overrated.
Wether you call BSD dead or not, I don't care, I just use what works the best for me, sometimes it is windows sometimes it is Mac other times it is bsd. I tried linux but I am more experienced with BSD's.
The other thing is biting the hand that feeds it: Geeks. Yes, I know, we geeks are unmarketable, economically unviable, socially inept, prone to expect other people to know how to do Really Complex Stuff like unzip an archive, but before you burn us all at the stake just to get us out of the way so you can sell Linux for $14.99 off the shelf at WalMart, you might want to preserve a couple of us. Nobody else is going to make more Linux for you to sell. Programs do not write themselves.
No kidding: Programs really do NOT write themselves!!!!! So if you throw out the compilers based on the notion that including them with the distro will just confuse Joe Sixpack? That's disabling the programming process. If you get rid of the command line? Programs are written there. Throw out programs like vi, Emacs, gcc, gdb, yacc, sed, awk, and man just because they have funny names that won't look tasty on the flashy label? Wait, those are programming tools, we need those! If you make Linux into a Windows clone, thinking you'll attract all the Windows users and be just as rich as Bill Gates (because that's exactly what people are thinking!)? But Linux programmers would really hate that, and you'll scare them all away to BSD or BeOS. Hang lots of whistles and bells on it, decorate it with frosting, throw out every particle of substance and dumb it down? Yes, you will win points with the very lowest common denominator market segment - the ones who spend the money, after all - but you'll ostricize all the other users, who will get tired of being locked in another playpen and wander off looking for better stimulation. Believe it or not, Linux did NOT get to where it is by being Just Like Everybody Else.
Yes, yes, yes, I know this post is getting flamed to a crisp the moment I hit the "submit" button. That's OK, you don't have to listen to me. Look around in three years, five, ten, and see what happened.
"Which would you rather do? Write a single application that would run on all Windows systems, or six different ones, each with its own unique quality assurance and support problems? "
.INIs, then some .INIs and half a registry, then Win32s, Win32, then Win 9x and the registry, then NT, it's unique registry, then running 16 bit in 32 via thunk and later WoW, ad nauseum! Then, its C, then VB, then, Visual, then VB + VC++, whatever...
.dll, then VxDs, then .NET,...
Development, installation and running on multiple MS platforms was NEVER easy: how quick everyone forgets...
In Win 3.x installation was text files, then
Never mind the network. Monolithic, NDIS, NDISII, II(?), Netbios/NETBEUI, then Bill Gates invented the Internet and IP, then broken IP stacks....
Then COM, COM+, ADO, then AD, then....
Then this
MS Easy to Develop and maintain for, and runs on all machines my Rear.
The economics were: DOS==FREE (forced bundling) -- XENIX $400
When you have 1 or 2 machines, this is not too much of a problem. However, when you plan on deploying 20 or 100 or 1000 machines, this $400 adds up very fast. Management balks....
In the early '90's, we had to pay EXTRA to Dell to get 486 PCs without DOS and Windows. So the cost was EVEN HIGHER. Management would look at the cost of XENIX (or other UNIXs which were comparable) and ask why you could not do it with DOS. As a result a lot of extra, unpaid OT happened to write executives and multi-taskers for DOS when XENIX/UNIX would have been an ideal fit!
Another factor is price elasticity of demand -- lower price, more demand, higher price, less demand. DOS=FREE (or even $29) versus XENIX $400 -- now which would management let you purchase or design into your product? Concurrent (?) UNIX was $99 and it was an option, but not widely supported. It has taken FREE versions of UNIX/UNIX-like O/Ss (Free BSD, LINUX) to change the market dynamics -- it is hard to compete with FREE and with FORCED BUNDLING.
No middle manager gave a rat's ass about the difficulty of porting to different vesions of UNIX. Certainly the effort to port a UNIX app to Windows and retrain all those programmers was far greater than merely adding a few IFDEFs to existing code. UNIX lost just as squiggleslash says. When time came to add a simple print server or file, managers said, Whoa, I can add a cheap Windows commodity system, or I can buy an expensive UNIX box that has to go in the dataceneter with special power and cooling requirements. As for who would admin the damn thing, since none of the UNIX guys would touch it, the answer was as simple as Microfoft's ad campaign, why the manager would, it's a GUI, what could be simpler?
UNIX ignored cheap systems, everyone knew the money was in the big boxes, and as for the desktop, that was an insignificant market to be sniffed at. No serious vendor paid attention to desktops, only (sniff) Microsoft and their toy operating system.
Infuriate left and right
However, if Linux wins and Microsoft loses, there are still N-1 companies competing in the OS market, where the -1 is the loss of Microsoft. So still (almost) as much competition as before, and it's still good for everyone.
I want NVidia and ATi both to succeed as while they are both there, there is real competition. Linux doesn't work that way, it's not a good analogy.
That's the beauty of the GPL. It's all in the licence, stupid.
43 - For those who require slightly more than the answer to life, the universe and everything.
This is of course, going to get modded down into oblivion, but damnit, this is going too far now.
Are are you mods on crack? This is the lamest troll I've ever seen and you tools are lapping it up? Fuck me, but is slashdot ever full of POSERS if you guys can't tell that this is pure crap.
FreeBSD has Linux have always been very neck to neck. While linux would be a touch faster at this, FreeBSD would be a touch faster at this, etc. Linux has better hardware support, FreeBSD tends to have better stability. It goes on like that and pretty much always had.
FreeBSD has not benefitted from Apple. Apple has benefitted from BSD. Purely a one way relationship. Since when did Apple write FreeBSD's VM and SMP code, that makes "OSX running effiecently" -- OSX is not efficent. Its bloated to the max. You might dig is GUI and design, thats fine, but you can't tell anyone that its effiecient code because you don't have to look hard for benchmarks to make that claim a joke.
FreeBSD does not run on Apples mach microkernel, holy shit, how did this slip by? Is this just Apple fanbois modding anything even remotely pro-apple up? This has got to be happening here. What the hell is this long and precarious history of FreeBSD -- its bloody free software, what exactly is supposed to happen to it? And... ooh! So annoying, the troll even posts about how FreeBSD has wicked HARDWARE support now -- argh! Like they even run on the same machines sand you guys still modded it up!
If god were real he would strike you down for modding this up, even if you are a mindless apple fanboi.
--SD
"Computers will never truly be free until the last windows user is strangled with the entrails of the last mac user."
Linux bigotry blinds these folks from reality. Unix vendors such as sun sgi et al, were hardware vendors NOT unix vendors. They prospered because in the 1980's through 1990's they kept their high margin hardware 5 years more advanced than the commodity priced PC market. Example, a Sun Ultra2 had 4.3GB/s memory bandwidth when the best PC's had 512MB/s.
The "workstation" companies began to fail when they could not maintain this technology lead. Why pay Sun's margins for the same basic hardware you can get from the local whitebox shop? Unix and windows don't enter in to it.
IT is shifting from expensive big iron to throw away whitebox clusters.
Linux will succeed because it allows consumers to further commoditize the cost the computing for companies that have the staff to build and maintain their own OSS distributions (Google?). For companies that cannot do this and have to purchase Linux support contracts, its generally equal to or more expensive than Windows.
Which would you rather do? Write a single application that would run on all Windows systems, or six different ones, each with its own unique quality assurance and support problems?
As a programmer, I'd rather write six versions. This is because writing six versions takes longer without really being that much harder. It's not as if you'd have to write six completely different programs, just six similar ones. That would take longer than just writing one program, and then you'd have more to do and thus higher job security. Plus, it sounds a lot better claiming overtime when you're writing six programs versus just one. Of course, if I'm a manager or supervisor or something, I only want one program written. Depends on who you are and what you are looking for, I suppose.
http://xkcd.com/386/
Actually, FreeBSD does not use the Mach microkernel. FreeBSD, NetBSD, and OpenBSD all use their own traditional kernels. The only free BSD flavor to sport a microkernel is Darwin (and its variant OpenDarwin). Actually, according to Apple, Darwin does not even support SMP on x86 platforms currently (though I'm sure this will change with Apple's transition to Intel)
Actually, this is only partly true. They tend to mix and match bits of the BSD userland from FreeBSD and NetBSD.
Apple's biggest contribution has been in the form of good press. Actually, Apple's OS only sort of resembles FreeBSD. The init plumming is all different. Directory structures are very different. NetInfo is very different indeed than FreeBSD's more traditional model for user management, etc.
And what's with the link in your last line to trollaxor.com? (Look at the period at the end of the last sentence.) As glowing an endorsement this would seem of FreeBSD and Apple (of which I'm fond of both), it would seem maybe that a lot of mods were cleverly trolled?
-Peter
. Penguins Surely Ca
For related 'extra' information... Chapter 2 in the Art of Unix Programming (Eric S. Raymond) contains a very interesting discourse about the history of the UNIX operating system, and offers insight into operating system wars in general.
One of his points is that many early UNIXes suffered because of licensing issues. I definitely feel that Linux's edge over older UNIXes is its open source license.
Back in the 80's (about 10 years before the compatibility issue resulted in POSIX), there was a complete, well defined standard for UNIX. This was ATT's version, which was BINARY compatible across all x86 versions (not just source code compatible).
UNIX should have won out over Windows then. It had networking back in 1986. It had graphics. It had far superior technology to the main competition, which was DOS.
But, AT&T did everything in their power to kill UNIX. Not deliberately, but out of greed and incompetance. And one of the key factors was that the people who sold cheap UNIX on the PC (Microport, ISC, etc.) all had to pay an exhorbitant royalty to ATT - while Microsoft didn't have any royalties to pay.
The royalty was about $100 IIRC. That's absolutely rediculous in the PC biz. This meant you simply couldn't beat Microsoft when it came to OEM deals. Nor could you beat them when selling to the average consumer, where price almost always won out. So this was the main reason why UNIX could never beat DOS, or later Windows. Not even binary compatibility could surmount that cost difference. Fragmentation of the standards was an issue later on, and was only a secondary issue.
As an amusing side note, for a while NONE of those small UNIX companies selling x86 UNIX were paying the royalties to AT&T, not even SCO. When AT&T found out about it, it caused a serious collapse in the x86 UNIX biz. Microport went out of business, Bell Tech got "aquired" by Intel (who was responsible for the licenses - via the ATT "Micro Port" program). That is, Intel paid AT&T in exchange for aquiring Bell Technologies.
Even SCO wasn't immune. They licensed their Xenix code from Microsoft. It was Microsoft who ended up paying AT&T, and in turn got 20% of SCO stock there for a while.
Now, with Linux, there are no royalties to pay. Everyone is on a level playing field with Microsoft.
The best way to predict the future is to create it. - Peter Drucker.
don't mess with those geekgrrls
If anyone is screwing themselves up, its Microsoft. They are trying to make their earnings targets by raising prices and cutting services. MSDN used to be excellent, but now, how often do you just get a book about the topic instead and use Google to look for answers to Windows issues. The search in MSDN is useless and getting worse.
Programs -don't- write themselves, and that is the ultimate point.
Right now, the entry level system for Windows, Visual Studio Express, is completely crippled, for $50. Even the $500 offering lacks source control. The only suite that really wins is Team System, and that's $2500, a year. That's almost enough to make a car payment with. I've been working with Beta 2 and for C++ its actually worse than KDevelop and for the rest, well, I don't see the justification of a $2500 premium.
If you are a small indy developer, the economics of writing for Windows is almost absurd. On the other hand, you can do a lot with Linux for the money. I have to believe that this trend will fuel the wider spread of adoption of Linux. That's not to say that it will be easy, but, the more developers switch, the more MS has to raise prices in its tools division to show growth, causing more developers to switch. Microsoft is in a feedback loop and even now licensing costs are starting to get even large IT concerns to take notice.
It used to be that Linux advocates were a minority, and they still are, but now they are less of a minority than before.
This is my sig.
I worked on a C code base that spanned several UNIX systems (the standard ones and wierder ones like AIX or IRIX). It also ran on MPE and VAX systems.
Let me tell you, there were a LOT of ifdefs going on to deal with vagaries in the size of an int, byte ordering, even memory management.
You seem to claim that POSIX gives you just as good cross-platform abilities as a system like Java or Python. But that is simply false; at best Posix is only an order of magnitude worse in terms of testing across systems that is required to be done compared to a cross-platform language like Java.
One reason for this (at least in the case of Java) is a really rigorous set of tests that help ensure to what degree Java will do the same thing across platforms. Posix is not as well defined as Java to start with, and as a result simply cannot be tested as throughly to insure a similar level of behavoral similarilty across systems.
The common Joke with Java is that you "Write Once, Test Everywhere". But in my extensive practical experience I have seen no code changes required to easily develop day-to-day Java across Windows, Solaris, and Linux. There is NO WAY if I were writing POSIX C code I would be as comfortable just writing on Windows or Linux and then deploying straight to Solaris.
Java has moved out the bits that you really do need to "test everywhere" out much further on the fringes of coding than C has.
"There is more worth loving than we have strength to love." - Brian Jay Stanley
You do have to write a different version of your app for every version of Windows. OK, maybe it's not 6, but there are massive differences between Windows 98 and, say, Windows 2000. Windows XP represents another, albeit less disruptive, set of changes. Windows Vista will probably represent the biggest set of changes yet. Each of these is a development target, with its own QA requirements and so on.
I've worked on software that had to be supported on HPUX, AIX, Solaris, and yes even SCO's crappy UNIX. There were notable differences and QA requirements, but the differences between the Windows branches are much more significant.
Windows won for one reason. It was pretty, so you could trick people into learning how to use it. Well that, and people had windows computers at home, and they brought that skillset with them to job interviews.
It can't beat Linux because Linux doesn't have stockholders to answer to. And it's losing share to Linux in direct proportion to the degree to which Linux is getting prettier.
It's rare that you're presented with a knob whose only two positions are Make History and Flee Your Glorious Destiny.