I need to get up to speed with C++ quite quickly (I’ve never used it previously) – is learning through Visual Studio (i.e. Managed C++) going to be any use? Or will I end up learning the extensions and idiosyncracies of C++ in VS, rather then the language itself?
If learning in VS is not recommended, what platform / IDE do you guys suggest?
Edit: Can anyone elaborate on what VS will hide or manage for me when coding unmanaged C++? I really need to be learning things like pointers, garbage collection and all the nuts and bolts of the low level language.. does VS abstract or hide any of this kind of stuff from you?
Thanks for all the suggestions..
Visual Studio (or the free version, Visual C++ Express) is a perfectly fine choice on Windows.
On Linux, you’ll probably end up using GCC. Both are fine compilers.
Visual C++ supports both “real” native C++ and C++/CLI, the managed .NET version, so if you want to learn C++, simply create a regular C++ project.
If you’re concerned with learning “proper” standard C++, note that the compiler by default enables a number of Microsoft extensions, which you may want to disable. (Project properties -> C/C++ -> Language -> Disable Language Extensions).
For the record, GCC has similar extensions (which can be disabled by calling the compiler with –ansi), so this isn’t just Microsoft being big and evil and nonstandard. 😉