Is Mac Right For Win Programmer? I'm considering a Mac purchase but I don't know if it is right for me.

I use laptops and PCs mostly for programming, most of my time I develop in C# on Windows and Mono Linux (I'm considering to develop on Linux and test if they run on Win), other than that I use Java, Python, C, and Ruby (this is my hobby and freelance projects)

I would also from time to time play some games.

So my current focus is to do my work on Linux (I'm having a hard time to switch) and do fun like games on Windows. But the Linux learning curve compared to Win is rather high.

So is Mac right for me?
What's the learning curve compared to Linux switch from Win?

Now I know that most if not all software dev platforms are for Mac, but can I use a VM to test Win capability? And are there any cost relating the dev tools for Mac that integrate tightly with the OS?

Can I play games on this (e.g Civ 5, Hitman &amp; others)?

I'm considering a MacBook Pro with i5 (i7s are way too expensive on the mac).
This is subjective but my opinion is:

If you are programming in C#, you should use Windows as Mono does not give all that is in Microsoft's version, especially if your users are on Windows.

There are several VMs: Fusion, Parallels and Virtual Box that can run Windows. 

OS X is Unix so is like Linux, so the learning curve will be similar to Linux although most Apple users think the GUI is better and easier to use. 

Mono will run as well as on Linux.

For games, OS X has more than Linux but much less than Windows and running games in a VM will be slow.

Thus why do you want to leave Windows?