People say something about Microsoft and Apple and I think I have something to share with you all.
@lukehicks: I am also an avid programmer who is keen to learn and design and develop software, may be not more than you, but I am sure not less than you.
I have more than 20 years of experience in programming in Windows with C/C++ and in the last decade: C# and .NET Framework and I am also a Microsoft Certified Solution Developer for Micorosft .NET. Java and VB are the other two languages that I know well. I am also an author, writing technical books (in Persian Language; I live in IRAN); so I used to read books and articles alot.
When Apple released iPad I saw it in the TV for the first time. I thought It was a very good device for reading books, As I used to read eBooks on my PC. But I didn't want to buy an iPad, since it was expensive. So I decided to buy an eBook reader. After searching a lot and looking all the abailable devices at that time, I found iPad as a revolutionary device, specially for me as someone who used to read books alot. And It really was, as I have not take a paper book in my hands since iPad.
It is more than a couple of years that I bought an iPad; the first Apple device I have bought in my life. I have never seen any Apple devices as a buyer before. And that's it: It changed my life.
Believe it or not, having an iPad in my hands, made me so curious about developing and running apps on it. And those days I was exactly in the state you are in now.
After a few months (may be 2 or more), I lastly decided to buy a Mac. And I did; an iMac 21.5" Late 2009. Started to learn programming in the Mac environment.
But I couldn't leave all my background in Windows programming. So I brought Windows to my iMac using Bootcamp.
I don't want to say all things that happen to me, but the net result is:
Working in OS X is so much better, safer, easier, more reliable, and more joyful than Windows. I am sure you have heard about that, but you must experience it to know well. Just think why people working with Macs and iPhones and iPads, don't want to go back to Windows (or any other environment they used to work with).
For me, today:
1. I have and iMac 21.5", a MacBook Pro 17", an iPad, an iPad 2 WiFi/3G, an Apple TV 2 and NO PCs (I think these are not enough for me, but I just say this to show that I don't use Windows PCs anymore).
2. I have transfered all my works from Windows environment to Mac. So I don't have Windows on Bootcamp and not even on virutal machine.
3. All the programming I do, is in Xcode; I really don't want to go back to those days of Visual Studio (The best development environment for me 3 years ago).
After more than 20 years of working with computers, I think I am born again 2 years ago, as the meaning of computers and all my view about programming has been changed. May be it's due to the fact that I was so focused on Microsoft technologies and never looked around. In fact, I was deep in Microsoft tools and design patterns in development.
As a developer point of view, just know that there are a lot intresting things to learn in Apple way of designing and implementing software. Cocoa is a collection of very well designed object-oriented frameworks which is used to develop software on OS X. It's little brother, Cocoa Touch is used in iOS. So learning one, makes learning the other so much easier. If you come to the world of Apple, you can develop for both iOS and OS X.
There are alot of resources out there, but if you want some help to pass the learning curve, or to know where to start, you can count on me.
Sorry to talk so much. I Just want to say, If something is good, it is good. don't try to attack it without enough knowledge. Apple is selfish or not; it doesn't matter. Apple creates good products that make our lives easier.
I just recommend you and all people like you to buy a Mac.