I've been programming in C and C++ in Linux for around 3 years, and recently have been interested in developing commercial software for businesses. Let's say I've found a niche where I think I could be successful, but that they only use Windows. I have no experience whatsoever with the Windows API, however. I have a few questions:
Should I learn .NET?
Do I need to learn C# in order to use .NET, or can I stick with C++?
What is the sentiment about compiling using GCC under Cygwin with the --no-cygwin option? I'm interested in portability, and I'm worried that if I start writing for VC++, I might get bound to Windows.
Where is a good place to do my essential reading?
What else can you tell me about transitioning from Linux to Windows programming?