I want a lot more feedback - perhaps comparing a PC to a Mac. Telling me some cons of the Mac and not all the pros would also be a great addition to this topic I believe.
First my background. IT guy in the 80's on super mini's. DOS programming since 1984. Windows programming since 1995. I bought into all the MS party line at one time and even did support for them on Excel at one point. I was writing back end server stuff in C++ and the native Windows API at the end. I also wrote stuff in ASP for clients and my self. I have a lot of experience with Oracle, SQL Server and Access. OK, enough of my pedigree...
First off, one thing I've heard people talking about is that the Mac OS is new. It is not. It is a presentation layer that is floating on top of an operating system that was written in the 70's called Unix. Unix was created by computer scientists at Bell Labs with the intent of running on wide area networks (WAN's). Read that to mean the Internet. It was design to be secure and easy to use. Prior to Unix, programming a computer meant having an intimate relationship with a hardware device. One of the Unix mantra's was 'the world is a stream of bytes'. Anyway I digress.
What this means is that Unix was designed to be secure. Windows, on the other hand, was designed for workgroups--a small number of computers in an office that talked to one another. In addition, Windows offered an open hardware specification that allowed vendors to easily incorporate their own code into the operating system. Finally, there was no real file security implementation on Windows. Anyone and everyone was allowed to do just about anything with your computers hard drive and configuration.
In these beginning years, it was crucial for the personal computer paradigm to be universally accepted and creating the Volkswagen was the answer. This analogy is pretty good and just like the VW, anyone and everyone makes parts for PC's.
Mac on the other hand, never had an open hardware specification; therefore, they didn't need to publish internal documentation on how they did stuff. This lack of knowledge makes it harder to figure out how to write viral software and in general, keeps the riff-raff out.
There's another thing I noticed while programming Windows machines. It always felt like the interfaces were written by people trying to somehow impress someone. I suspect it was young college graduates trying to impress their bosses or justify the huge salaries they were getting or ? I'm not really sure. However, it became clear after a while, that whoever was writing their tools was both really smart and really immature at times. Take the whole MFC C++ class library. I bought into it in the beginning only to realize after a few years that it was a total POS. I ended up writing my own Windows class library based on Smalltalk and the work of this other guy (can't remember his name right now) that was way more eloquent and efficient. I was just cracking the surface when I finally had enough of them. The point is that when you work with MS products, expect your skill set to evaporate every five years.
Unix, however, is a tried and true OS that is essentially so well written as to be virtually unchanged in 40 years. I'm sorry but I have a little bit of an axe to grind here now that I realize that the MS approach was so down and dirty. It is based on a quick fix mentality and they are so entrenched in this path that they will likely not be able to pull out of it without alienating their customers who expect plug and play, open hardware, free software etc.
So here I am with a Mac finally and realizing that this machine, its underlying OS, its software, its tight hardware specification, its visual styling, its construction are so vastly superior to Windows that I'm dumbfounded as to why anyone would bother with Windows at all?
So to recap, the reason that Macs are superior is:
- An OS designed to be secure on a wide area network (the real reason that there aren't any viruses on the Mac)
- A tight hardware specification that only allows trusted players in the game.
- Lack of general knowledge regarding system internals.
- OS releases that leave behind the old problems and move forward (this means that old software won't run on new releases but frees the OS folks to concentrate on actually improving things instead of backward compatibility).
In case I wasn't clear, the Mac/Unix marriage is a union made in heaven. It is based on sound computer science not marketing strategy. It is the way to go and offers the best path right now. It meets 99% of people's needs on a computer (maybe more since most people just need to browse, get email, and do word processing and spreadsheet stuff. It's reputation in multimedia is stellar also.)
Hope I didn't overwhelm you here.