Ok, sit tight and prepare to read a long post...
Tuffgong4 said:
If linux or OS X dominated the landscape would we hear windows enthusiasts bashing the others for being riddled with garbage?
That's something nobody will know unless it actually happens.
There are those who believe that the security issues in Windows stem from the fact that it has the largest market share in the world today, and there are others who disagree and believe it's more than that. I tend to take the middle-path when it comes to this issue, not because I'm a fence-sitter, but because I genuinely believe that market share as well as fundamental design aspects are both responsible for the state of affairs that we're in.
Anyone who tells you that OS X or any other UNIX variant is completely secure is not worth listening to. It's a foolish statement to make. Software is created by humans; humans are inherently not perfect => software cannot be perfect. This is where your point comes in. Adware/spyware creators want to target the largest number of users, which is why they go after Windows first. Miscreants want to attack Windows first for the sake of fame and glory. Imagine if you were someone writing a virus/worm. Would you target the smaller subset of users, or would you aim for the bigger target to see your creation making headlines all over the web?
On the other hand, there are more fundamental design issues that are also involved. One big one is the fact that Windows users, by default, login as members of the administrator group and have absolute control over their systems. In some sense, this can be considered to be a good thing, because of the ease and convenience it brings. You don't have to type in a password everytime you want to install software or perform tasks that require administrative privileges. But it also creates a gaping hole for malware to take advantage of. Viruses can wreak havoc by effectively wiping out critical files, adware/spyware can install itself easily since there's nothing that's preventing it from doing so and so on.
It's a trade-off between ease-of-use/convenience and security in some sense. From the very beginning, Microsoft's operating systems were designed to cater towards "everybody" and they chose to give higher priority to the ease-of-use/convenience side. UNIX systems (and their variants) were historically geek-hobby operating systems that were not for everyone - they were primarily used for servers, and they still are. In fact, most people would agree that even today, Linux hasn't reached the level where it can gain widespread acceptance among the "newbie" community as a desktop OS. Higher priority could thus be given to issues like security.
This worked well for Microsoft in the old days when things were on a much smaller scale and there was no "internet" in existence. With the coming of the internet and connected systems, security issues began to escalate faster than ever. If you notice, viruses and malware were not even half as big of a problem back then as they are today. And if you think about it, one shouldn't really blame Microsoft for all the problems that exist today...which is something that sadly happens so often. Their goal was to design something that everyone could use, and they made certain trade-offs without realizing that these trade-offs would create issues that would come back to haunt them in the future. In a sense, it's like blaming Einstein for the creation of the atomic bomb and all the destruction that was ever caused after it's invention. The ones we should really be pointing our fingers at are the ones who abuse the good things in the world for sadistic pleasure - in this case, the miscreants who create viruses and malware with the sole purpose of inconveniencing others.
Steps are being taken to make things better though. You can be assured that Longhorn will, by default, create Limited User Accounts (LUAs) rather than accounts with full administrative privileges. This will significantly cut down several problems that are caused because of code that is able to execute without your permission on your system today. The .NET model and the idea of managed code applications addresses several problems that affect regular C/C++ applications today. We have to realize though, that all our problems will never be solved. New ones will continue to come up, and this just leads back up to the point about perfect sofware that I mentioned earlier. It's impossible today, and it'll be impossible for a long time to come. This simple fact applies to anything, be it Windows, Linux or Mac OS.
The key to an enjoyable computing experience, regardless of what platform you're on, is to take care always and to use common sense and discretion before doing anything. Trust me - if you know what you're doing as a Windows user, you can be just as unaffected by all the problems as your neighbour using Linux, Mac OS or whatever else is out there.
Just my thoughts