Best way to learn C++?

Discussion in 'OT Technology' started by ZeeMox, Oct 15, 2003.

  1. ZeeMox

    ZeeMox Opinions are like assholes. Fuck em. OT Supporter

    Joined:
    Feb 6, 2003
    Messages:
    24,635
    Likes Received:
    0
    Location:
    PNW
    Now when I say "learn" I mean actually know the language, how it works, etc. In other words, the kind of quality you would find in a class (minus, of course, an instructor).

    I know there's gotta be books for it, but I don't want to go buy one and find out I got a real cheap arse piece o' shyte. Anyone in here self-taught or something that could give me a reference?
     
  2. crotchfruit

    crotchfruit Guest

    i had "c++ primer plus", which was a great language reference back in the day.. dunno if it's kept up with the times.

    also, check out topcoder.com. they have a practice arena with a crapload of "one-functioners". basically, the give you the specs for a function and you have to fill out the meat. they range from super easy to super impossible. you also get to look at how other people implemented the function to see how you compare to the "masters". great for learning/experience.
     
  3. Mugatu

    Mugatu Ask me about market research. OT Supporter

    Joined:
    Oct 21, 2001
    Messages:
    245,192
    Likes Received:
    0
    I would say take a class - I learned C in school (way back when) and have tried to upgrade my skills to c++ but I find it gets very confusing when you get deeped into it - it would be REALLY nice to have a good instructor you can ask questions of
     
  4. Scoob_13

    Scoob_13 Anything is possible, but the odds are astronomica

    Joined:
    Oct 5, 2001
    Messages:
    73,780
    Likes Received:
    38
    Location:
    Fort Worth. Hooray cowgirls.
    Honestly, the best way to learn is from an accomplished instructor or a programmer than can speak English (as opposed to code).
     
  5. Astro

    Astro Code Monkey

    Joined:
    Mar 18, 2000
    Messages:
    2,047
    Likes Received:
    0
    Location:
    Cleveland Ohio
    I learned what I thought was C++ but it was a mix of C and C++ because the author didn't know better. I was able to produce apps for a year without huge problems, but looking back I had some messy code. Then I took Intro to Computer Science at U. Akron. I thought it was going to be easy and I was thinking of testing out of it. I'm really glad I took it anyways. I learned a TON. And I learned I had learned a lot of bad programming habits from the couple books I had.

    What will an instructor give you that a book can't:

    . Feedback on your programs AND your coding style
    . Teach proper coding style - ideally from previous real world experiences
    . Explain concepts in a meaningful order - we jumped around in our course book several times which made sense
    . Explain tips, tricks, and alternatives towards a particular concept (function X will solve the problem, but function Y is faster)
    . Discipline: I need the stress of having a program due to actually get the program done. Otherwise, why actually try solving the coding problems in the book? This may not apply to you.
    . The ability to listen to the prof explain the thought process behind solving a coding problem. This may also apply to listening to other students, but in my intro to comp sci class, it was forbidden to work with or get help from other students (mainly because of the fear they would teach you improperly!)

    C++ is a complex animal. The 15 weeks of class I had un-did the 1 year I spent studying C++ on my own. Taking a class will be intense and cost money, but what you learn could be considered gold. Especially if you're looking to make a career out of coding. If you're just learning for giggles, then I can understand why you might shy away from taking a class.

    I think I can safely say, once you have C/C++ and its concepts understood, you can (and with confidence) learn any other language on your own time without problems. Seriously... I've picked up PHP, Perl, and Java (and probably some others) on my own and the foundation C/C++ gives you will make learning these other language way easier - not to say you HAVE to have C/C++, but the C/C++ concepts you learn can be applied in many other languages...
     
  6. ZeeMox

    ZeeMox Opinions are like assholes. Fuck em. OT Supporter

    Joined:
    Feb 6, 2003
    Messages:
    24,635
    Likes Received:
    0
    Location:
    PNW
    Aight thanks for all the help. Looks like classes is the way to go.

    And I do know C to some extent (I finished C for dummies :p ) but isn't C++ just a modular version of C? I'd think that it would be a waste of time to learn the outdated language first...
     
  7. Astro

    Astro Code Monkey

    Joined:
    Mar 18, 2000
    Messages:
    2,047
    Likes Received:
    0
    Location:
    Cleveland Ohio
    C++ is object oriented while C is not. C++ is an extension of C. It is possible to write C and C++ syntax within a C++ app (although not the other way around).

    As for an outdated language, you referring to C++ or C? Neither is outdated. C++ is the newer of the two...
     
  8. skinjob

    skinjob Active Member

    Joined:
    Jan 6, 2001
    Messages:
    2,337
    Likes Received:
    0
    Location:
    Aztlán
    I think the best book out there for a C++ developer to read is "Effective C++" by Scott Meyers. It's a little advanced, so you may not want to jump into it without some exposure to the extended toolset provided by C++ plus some understanding of object-oriented design.

    It's fairly easy to read, and does an excellent job of explaining the many nuances of C++. A class is a good place to start to pick up the basics, but if you really want to know C++, study this book.
     
  9. TerryMathews

    TerryMathews Guest

    To be honest, I basically never went to class only read the textbook and got an A in all three C++ courses at college.

    Textbook, if your interested, is Gladdis's Intro to C++ Alternate Edition.
     

Share This Page