I'm finally getting around to learning C++. Currently downloading Code blocks with mingw. Is this a good choice of development environment and compiler? Will compiled programs be compatible with all versions of Windows from XP to Windows 8?
Can anyone recommend any good website tutorials to help me get up to speed with developing in C++ for Windows? I'm far from new to programming - I've been a professional software developer for thirty years and my CV looks like the history of programming languages with everything from 6502 Assembly code, COBOL, FORTRAN, a zillion different versions of BASIC and for the last aeon Visual Studio .Net (2008). For some unknown reason I never got around to learning C++ but have decided now is the time to switch - I'm fed up of having to keep buying the latest version of Microsoft Visual Studio (Professional edition) to be able to write commercial application software using the MS Network Framework as is required for the latest operating system (Windows 8 [spit]). While there are some positives to writing software based on the MS Network framework its downside is that it ties me too much to Microsoft and their need to keep taking money off me to keep up to date with their latest greatest versions of Visual Studio. It also sucks requiring end users to download the relevant version of the Network Framework (depending on what version of Windows they are using - not all versions are included by default with all versions of Windows).
Any tips regarding programming in C++ ?
Last edited by TallyMan on 28 Apr 2013, 12:34 pm, edited 1 time in total.
I don't know any good online tutorials.
Honestly, I think you should buy "The C++ Programming language" by Stroustrup (the creator of the language). Make sure it's the 4th edition, because C++ has changed a lot. The book is thick, but that's because C++ is so powerful.
The problem about C++ is that it's still pretty easy to write bad code, and you will see a lot of bad C++ code out there. That's partially because in early versions of the language, there was no other choice.
EDIT: I'm a bit confused. In German, the 4th edition already appeared in 2010. I'm not sure which English edition it's based on. But the 4th English edition will appear in May.
Codeblocks is a decent IDE, I perfer vim and gedit these days, but it's what I used for the longest time; and though I haven't used it on a Windows system recently, so long as you aren't using API calls that aren't particular to any version of Windows, you probably won't have any quirks recompiling for a different platform.
cplusplus.com is a fairly good online resource; it has a full documentation of the language and a reference for the STL.
I would say, as with any other OOP-based language, is stick to the KISS principle. Templates, abstract base classes, and bridge patterns are a bit of work to set up, but they make things easier to use when extending functionality for a given interface.