Where to start?

Posted on 2006-05-29
Last Modified: 2010-05-18
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.

Question by:-Karamja-
    LVL 6

    Assisted Solution

    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

    LVL 16

    Assisted Solution

    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.

    LVL 4

    Accepted Solution

    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! ( )
    LVL 4

    Expert Comment

    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!
    LVL 2

    Author Comment

    Thanks for your replies,

    I will split the points, 40 each.

    Write Comment

    Please enter a first name

    Please enter a last name

    We will never share this with anyone.

    Featured Post

    How to run any project with ease

    Manage projects of all sizes how you want. Great for personal to-do lists, project milestones, team priorities and launch plans.
    - Combine task lists, docs, spreadsheets, and chat in one
    - View and edit from mobile/offline
    - Cut down on emails

    Often, when implementing a feature, you won't know how certain events should be handled at the point where they occur and you'd rather defer to the user of your function or class. For example, a XML parser will extract a tag from the source code, wh…
    Introduction This article is a continuation of the C/C++ Visual Studio Express debugger series. Part 1 provided a quick start guide in using the debugger. Part 2 focused on additional topics in breakpoints. As your assignments become a little more …
    The goal of the tutorial is to teach the user how to use functions in C++. The video will cover how to define functions, how to call functions and how to create functions prototypes. Microsoft Visual C++ 2010 Express will be used as a text editor an…
    The viewer will learn how to user default arguments when defining functions. This method of defining functions will be contrasted with the non-default-argument of defining functions.

    779 members asked questions and received personalized solutions in the past 7 days.

    Join the community of 500,000 technology professionals and ask your questions.

    Join & Ask a Question

    Need Help in Real-Time?

    Connect with top rated Experts

    20 Experts available now in Live!

    Get 1:1 Help Now