Where to start?

Hello, Mircosoft was kind and posted me a copy of Visual Studio 2005 so,

Where should I start learning C++? or should I learn C?
Whats the main differences, adv/disadvantages of them both?
Can you recommend any websites, ebooks, books?
Your own comments?

Im looking for lots of information people :)

I already know Delphi (Pascal) and dont really have many problems reading c/cpp code.

Who is Participating?
Start with C++... although the C++ compilers also compile C, the programming style in both are a little different, and you can get confused if you mix both. E.g, C uses malloc() to get memory from the heap, while C++ uses the 'new' operator. C++ has object orientation, generic programming (templates), operator and function overloading, good encapsulation and a good library (the STL).

I recommend the books from Andrei Alexandrescu, Herb Sutter and the C++ father Bjarne Stroustrop. Some very good books:

* The C++ Programming Language (Special 3rd Edition) <-- The Bible!
* C++ Coding Standards : 101 Rules, Guidelines, and Best Practices
* Modern C++ Design: Generic Programming and Design Patterns Applied
* C++ Standard Template Library, The
* C++ Templates: The Complete Guide
* Effective C++ : 55 Specific Ways to Improve Your Programs and Designs
* Exceptional C++ Style : 40 New Engineering Puzzles, Programming Problems, and Solutions
* The C++ Standard Library : A Tutorial and Reference

You should also check the BOOST library, it is very good, very complete and very handy! ( www.boost.org )
Nguyen Huu PhuocSenior ManagerCommented:
If you must select between C++ or C. I think you should select C++.Why? C++ programming is OOP language and it was extended from C. So when you learn C++ you also learn C.
C is not an OOP language. If you are used to programming Delphi, I think you will be easy to catch C++.
I think you should start by reading some articles about comparison between Delphi (OOP Pascal) and C++ such as:
and mamy and many you can google them.
C is usually used when the system related problem is solved.
Why don't you learn C#, it is a modern language.
I started to learn C/C++/C# by example, my favorite site is The Code Project:
Best wishes to you
Phuoc H. Nguyen

Hi -Karamja-,

Dont worry about it! In VS6 the C and C++ compilers are one and the same. Just learn to work with VS and you will learn both because by learning C++ you are also learning a lot of C.

I agree with Phuoc. Start with C++ and, if you ever have to, you will be able to write in C, you'll just have to learn what is NOT available in C.

To learn very fast the language basics, follow a good tutorial and do some simple programs and examples.


Also, whenever you get a doubt about the language, check the C++ FAQ:


And the comp.lang.c++ newsgroup:


And of course, the experts-exchange =)

Don't forget: Start learning the STL and it's associated programming style as soon as possible! It is a very handy tool!
-Karamja-Author Commented:
Thanks for your replies,

I will split the points, 40 each.
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.