In between, some of my co-workers at different companies have touted about Mac. So when my boss offered to give a Mac Pro desktop, I was excited. But after struggling with Mac for one month, I gave up.
I think Mac, Windows and Ubuntu are great operating systems in their own ways. It just what fits your needs. It's just some people like mangoes, some people like apples, and some people like grapes or strawberry.
I am writing here why Mac didn't fit my needs, so that in future if one of my co-worker tried to brain wash me, I can look at this list and see if situation have improved.
Since the production environment at my company is Linux, for development work, a Linux distribution makes much more sense. Although Mac OS is supposed to be Unix, it is case-insensitive, and if you turn it into case-sensitive by reformatting hard disk, remember many applications on Mac will not work. Moreover, Unix is not Linux; When I work on a Linux, I feel at home, when I work at any Unix variation like FreeBSD and all variations of BSD, HP-UX, Solaris, Mac OS etc, it does not feel home because their is subtle difference in the utilities and their various options. On Windows, Cygwin does come with the same utils which are available on Linux and tried to give same files system as a Red Hat Linux, but somehow I don't feel at home in Cygwin also, because installing application in Cygwin is not as good. And even in Linux distributions, I think Ubuntu is ahead of the crowd. Conclustion - use Ubuntu for work-related development.
Here I will list some of the basic functionality which I couldn't find in Mac os x. Apple has money and has lot of smart people, so obviously these deficiencies (if you call them) are not because they can't do, it is because Apple and its management is arrogant.
1. Fast switching between windows. This is a big deal for me. When I work, most of the time I will be switching between two windows (may be one browser and one editor; or may be a two terminals; or may a browser and a terminal). All modern operating systems except mac os x support this with quick Alt+Tab. In mac os x, Alt+Tab switches between applications (which I found useless), where it will bring all the five windows of an application in the front (and probably the window in which you were interested hidden among those five windows). This is a huge huge blocker. I don't like to use the mouse to switch between windows - that's too slow. In general you can use Alt+Tab to switch to any windows in Ubuntu and Windows. On mac os x, it switches between applications and then u can use Alt+` to switch to the desired window...pretty painful. Thanks to the arrogant Apple!
2. Weird Maximize and Minimize. How do you maximize a window to cover the whole screen in mac os x? You can't. The maximize button is totally unpredictable, and it varies with the application (it is to the application to decide on what it wants to do on clicking maximize button). And when you minimize, it goes off from the Alt+Tab list and you have to use mouse to get it.
3. Keyboard customization - does not allow you to customize keyboard. I want to use keyboard to move window, resize window, maximize window, minimize window. Well good luck with that on mac os x. Apple wants you to use mouse for all of these activities... remember mac os x is about looking beautiful and not about usability or efficiency or productivity.
4. To resize a window, the only way to do that is to use the right bottom corner. I like it that you can resize from all four sides of a window which all modern operating systems except mac os x support. Again it is Apple's arrogant behavior is working.
5. Customization. I want to change the whole theme on Mac OS X, but there are limited choice. The default one looks good, but from productivity point of view it is very inefficient. Since everything is gray and different shades of gray, it takes a bit of time to figure out the boundaries of different windows. In general I like to have contrasting colors for title and border around a window, so it is easy to see which content belong to which window. Again, apple prefers looking good over functionality.
6. In general, I found that if you want to do something on a mac which steve jobs does not do, then you have to really do lot of hacks around. It has been made for steve jobs and if you can live with that, then you are good.
7. Apple hardware comes with its own proprietary ports to work with other apple hardware. If you want to keep a hardware device in the middle of other devices, it will become a pain the ass. A simple example is that it comes with a mini display port which means if you want to connect an extra monitor, you have to get an adapter, if you want to connect it to a projector, you have to carry an adapter.
8. I use visual studio and C#. And really not planning to learn Apple's crap objective C.
I also read about how Microsoft is involved in many programs in fighting poverty and helping in times of natural disasters. While Apple is involved in none. That itself told me to give my money to Microsoft instead of Apple.
Thanks to many of you who use Apple products may be just because it looks nice or may be you want to show off. Because of you, Microsoft gets incentive to be ahead in the game which ultimately improves my life and many other people who like Microsoft and its products.
Currently I use Windows as primary desktop and Ubuntu in a virtual machine. Ubuntu is still lacking when it comes to entertainment. So I use Ubuntu only for work-related development.