+ Reply to Thread
Page 1 of 2 12 LastLast
Results 1 to 10 of 18

Thread: C++: How should you start learning it?

  1. #1
    Join Date
    Jul 2006
    Posts
    16,491
    Blog Entries
    75
    Rep Power
    143

    C++: How should you start learning it?

    I'm going to start working on some C++ tutorials, but I want to start with this basic question, first.

    1) You will need some books. How advanced you can start depends a lot on your background, so we'll start with that. If you've never used an object-oriented programming language before, you will want to begin with a gentler introduction. The Teach Yourself series or For Dummies books aren't bad for this, but they will not make you an expert, either. One of the best books to arrive at is The C++ Programming Language, by Bjarne Stroustrup. It is not for the faint of heart, but it will help you a LOT.

    2) If you know C or Java already, be prepared for some surprises and bumps along the way. Java handles a number of things quite differently from C++, even though they look similar. Java also does a number of things for you (garbage collection) that C++ simply does not do. Similarly, if you know C, you will be tempted to do things in C++ the same way you did them in C because you can. Don't do it! C++ has its own way of doing things. If you have a C++ book that wants to teach you C first, get rid of it! C++ is not just C with classes. C++ is a different language with different rules and restrictions, as well as different preferred ways of doing things.

    3) Be aware that a lot of people/companies have provided a lot of extensions to C++. For example, C++ does not provide any graphical utilities. Microsoft's Visual C++ offers additional stuff for that. Borland's C++ has different ways to do the same. wxWidgets, GTK+, and other group efforts provide more. I know that making programs "pretty" with a nice GUI is fun, but worry about how the language works, first. It is easy to get lost in exploring how various GUI toolkits work and forget how the basics work. I recommend using Dev-C++ as an initial development environment because it's free, and doesn't distract you with lots of extras.

    4) Finally, write a lot of code with patience. C++ is a language that can easily take years to become good at, and even the creator is learning new ways of using it.
    Programming is a branch of mathematics.
    My CodeCall Blog | My Personal Blog

  2. CODECALL Circuit advertisement
    Join Date
    Always
    Posts
    Many

     
  3. #2
    Join Date
    Jul 2006
    Location
    Amherst, New York, United States
    Posts
    6,277
    Blog Entries
    26
    Rep Power
    20
    I really want to learn C++ so I bought Ivor Horton's "Beginning Visual C++ 2005" but I really don't know if I can read another 10 chapters that explain what a loop and a variable are, but then again if I skip it, I will probabley miss out on something valuable.

  4. #3
    Matt's Avatar
    Matt is offline Learning Programmer
    Join Date
    Jan 2007
    Location
    Northwestern US
    Posts
    47
    Rep Power
    19
    Once one is pretty confident in knowing how the language works, what tools would you suggest for GUI design? Which are the most flexible, and which are the easiest to use? Thanks.

  5. #4
    Join Date
    Jul 2006
    Posts
    16,491
    Blog Entries
    75
    Rep Power
    143
    wxWidgets has a book out now that talks about using it, and is cross platform. For myself, I think the key is to wait until you understand the other aspects and pick a choice that is well-documented. wxWidgets and GTK+ will probably give you the most support via forums as you learn.
    Programming is a branch of mathematics.
    My CodeCall Blog | My Personal Blog

  6. #5
    Matt's Avatar
    Matt is offline Learning Programmer
    Join Date
    Jan 2007
    Location
    Northwestern US
    Posts
    47
    Rep Power
    19
    Sounds good, thanks for the advice.

  7. #6
    Join Date
    Jul 2006
    Posts
    16,491
    Blog Entries
    75
    Rep Power
    143
    Because C is NOT a useful subset of C++. For example, C requires you to learn the syntax for scanf and printf, which are both rather tricky to remember/learn. By comparison, cin and cout are much easier to work with.

    Also, when using C you frequently have need of macros, which are almost never needed in C++. To me, it makes no sense to learn something in C, then throw it out to learn the C++ way of doing things.
    Programming is a branch of mathematics.
    My CodeCall Blog | My Personal Blog

  8. #7
    superjacent is offline Newbie
    Join Date
    Dec 2007
    Posts
    11
    Rep Power
    0
    Good topic and I agree with original poster. I'm self-studying primarily from C++ Primer Plus, 5th Edition, currently at chapter 8, functions re - templates & serialization. A little confusing at the moment though I'm hoping it will clear itself up as I progress.

    Ultimately, I want to GUI program using C++, for personal purposes, and I'm realising that a good understanding in the basics (or the non GUI stuff) is paramount.

    Just my 2 cents worth.

  9. #8
    ToxeCryz is offline Newbie
    Join Date
    Oct 2007
    Posts
    2
    Rep Power
    0

    Re: C++: How should you start learning it?

    If you dont like reading books you can also buy 3DBuzz "C++/OpenGL" Video tutorials.

  10. #9
    kakashi is offline Newbie
    Join Date
    Apr 2009
    Posts
    1
    Rep Power
    0

    Re: C++: How should you start learning it?

    thank you

  11. #10
    codeslave's Avatar
    codeslave is offline Newbie
    Join Date
    Dec 2009
    Location
    in iowa, its flat has corn and a cold ass winter
    Posts
    4
    Blog Entries
    1
    Rep Power
    0

    Re: C++: How should you start learning it?

    wow maybe you guys could check out my post and help me learn where to start as well

+ Reply to Thread
Page 1 of 2 12 LastLast

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Similar Threads

  1. Want to start learning programming?
    By Tech in forum General Programming
    Replies: 39
    Last Post: 01-07-2011, 03:11 AM
  2. General how do you start learning assembly?
    By x42 in forum Assembly
    Replies: 42
    Last Post: 07-20-2010, 01:52 AM
  3. Replies: 2
    Last Post: 05-28-2010, 01:09 AM
  4. I'd like to start learning databases, where should I start?
    By roniy in forum Database & Database Programming
    Replies: 2
    Last Post: 05-13-2010, 08:29 AM
  5. How you start learning a language?
    By TcM in forum General Programming
    Replies: 17
    Last Post: 02-02-2008, 03:13 PM

Tags for this Thread

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts