Fog Creek Software
Discussion Board

C++ -> VC++

i consider myself to be sufficiently proficient in c++, i've however been developing on the *nix platform. my efforts to get comfy with vc++ always end when i see the vc++ development env, how should i go about this? atl/com/mfc, i need to figure out that stuff..

Thursday, September 11, 2003

It's not VC++ you need to learn; it's Windows development. VC++ is trivial.

Thursday, September 11, 2003

I agree with '.' - VC++ is just a C++ copmpiler that runs on Windows. It also has some good tools for auto-generating some code (helpful, but not completely necessary).

If you want to do WIndows development (with VC++ or another compiler) pick up a good book on Windows development. If you're used to developing C++ on Unix, Windows development can see a bit strange.

I've been switching back and forth between Windows and Unix for most of my career. The hardest thing is keeping current on both platforms. The only sucky thing is having potential employeers say "you have 8+ years of C++, but only 4 on Windows (or Unix), we really wanted someone with more Windows (or Unix) experience..."

Thursday, September 11, 2003

For getting up to speed quick, look on for the "win32 tutorial".  It's very basic, but will give you some neccessary building blocks for working with the windows API.

Next, go to a site that has lots of MFC/ATL tutorials ( comes to mind) and using what you already know of the win32 API, pick up as much of whatever interface you need.

Of course, books are nice and probably even better...

Thursday, September 11, 2003

Depending on what you want to do, you can develop software for Windows without ever seeing ATL, COM, or MFC.  ATL and MFC, in particular, are frameworks that are intended to make some things easier, but are otherwise totally optional. 

The core of C++ works pretty much the same in Visual C++ as it does in other platforms.  There are differences but not much more than you'd see moving between Unix flavors.  You can likely accomplish much of what you need to do using the subset of C++ and the standard libraries that work cross-platform.  It's no different than working with Unix other than having to wean yourself off of any system libraries that you use. 

For the basic Win32 stuff, the typical recommendation for a beginner text is Petzold.  A quick run through this book will give you a general idea of how to work with the Win32 API.  MFC tends to just be a wrapper on top of this.  MSDN is a great source of information though the newer versions are a bit cluttered by .NET stuff -- find one that's a few years old if you can. 

There's a lot of stuff to learn and it takes time.  Just stick to it and focus on the parts that you need rather than trying to quickly learn everything. 

Thursday, September 11, 2003

thanks everyone for your comments :)

Friday, September 12, 2003

*  Recent Topics

*  Fog Creek Home