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.

Cheers.
LVL 2
-Karamja-Asked:
Who is Participating?
 
e_tadeuCommented:
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 )
0
 
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:
http://discuss.joelonsoftware.com/default.asp?design.4.329851.23
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:
http://www.codeproject.com
 and
MSDN
http://msdn.microsoft.com
Sourceforge.net:
http://www.sf.net
Best wishes to you
Phuoc H. Nguyen



0
 
PaulCaswellCommented:
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.

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

http://www.cplusplus.com/doc/tutorial/

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

http://www.parashift.com/c++-faq-lite/

And the comp.lang.c++ newsgroup:

http://groups.google.com/group/comp.lang.c++

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!
0
 
-Karamja-Author Commented:
Thanks for your replies,

I will split the points, 40 each.
0
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.