I woke up this morning and I realized that I haven't programmed anything outside of Apple OS X. On Windows, I have only programmed in Visual Basic. On OS X, I have a strong background with Objective C, and C++, and the concept of Object Oriented Programming in general. I have developed my applications in Cocoa. What I want to be able to do in Windows is make programs with the help of C or C++. I am also thinking of learning C# in order to use the .NET framework. However, I am completely irrelevant with Windows-specific programming and APIs. I understand that when using C-like languages, there are 2 options: Win32 and .Net framework. What do I need to do to program on both? I hope you, guys can enlighten me on the subject. What available APIs are there, what resources are available, and what must I do to learn programming in windows? Also, what applications do I need to download? Are there any free IDEs? I don't mind if I have to buy a book or two in order to get started.