Thread: C/C++ questions
View Single Post
Old 18 May 2007, 23:27   #10
eLowar
Citizen of Elthesh
eLowar's Avatar
 
Join Date: Sep 2003
Location: London, UK
Posts: 949
For learning C++, I would recommend Thinking in C++ by Bruce Eckel, which is available online for free on his homepage.

I'd like to point out that while at first glance, C++ is just C with some extra features, it represents a very different philosophy. You'll want to look into the principles of object oriented programming (Wikipedia link) to really understand what C++ is all about.

The differences between different modern C/C++ compilers are generally rather small. For portability you might want to look into using the GNU Compiler Collection, which contains (among other things) both C and C++ compilers and is available almost everywhere (on many different architectures and for many different operating systems, including Amiga). Microsoft Compilers have been known to have slight differences, but I believe nowadays it's not so bad anymore. So if you want a really nice development environment for Windows, you might want to look into Visual C++ 2005 Express as ant512 suggested.

As for C and C++, there are two major C standards, being the old ANSI C and C99. While ANSI C is almost a subset of C++ (in that a C++ compiler will compile almost all ANSI C code), C99 has developed independently a bit. However, many compilers hide some of the differences from you. There is only one major C++ standard at this time, which is C++98 (although it got some bugfixes and enhancements in 2003). A new C++ standard is currently being worked on and is expected to be released "before 2010".

All that said, these things only have minor effects on every-day work, and especially on learning the basics of the language(s). The actual languages (C/C++) only have a small number of features, so it's all about libraries, which don't change all that much at the very core either. So if you start learning C/C++ you don't really have to worry about the different standards way too much.

If you've worked mainly with assembly language, C will probably feel more natural to you than C++, but you might want to look into some of the cool stuff that you can do with an object oriented language.

Maybe a mod could split this thread and move part of it into the Coder's Heaven forum?
eLowar is offline  
 
Page generated in 0.06053 seconds with 10 queries