Thread: How to become an advanced C++ developer?

  1. #1
    Registered User MIH1406's Avatar
    Join Date
    Apr 2009
    Posts
    10

    How to become an advanced C++ developer?

    Hi,

    I have read many about c++ including:
    Teach Yourself C++ in 21 Days
    C++ Without Fear
    Practical C++ Programming
    and
    C++ GUI Programming with Qt 4

    But when I tried to check some advanced applications I found that I cannot understand it?

  2. #2
    Sweet
    Join Date
    Aug 2002
    Location
    Tucson, Arizona
    Posts
    1,820
    Only way to become an expert is to do.

    You can read which is very helpful. But you got to get out there and program.

    Try to understand the advanced program. Or make small changes that help you get into it.

    This is great for expanding knowledge.
    Woop?

  3. #3
    Just a pushpin. bernt's Avatar
    Join Date
    May 2009
    Posts
    426
    But when I tried to check some advanced applications I found that I cannot understand it?
    Understanding other peoples' programs one of the most difficult things you can do.
    Work through the source line by line, and try a few example cases in your head to get an idea of whatever the code is doing.
    Reading source is not like reading a book. Or even a technical manual. It's more like... it's more like detective work. You have to look around a lot.

    I agree with p-bman's advice to program your own applications. That'll help you understand what the other applications are doing. Chances are they're using libraries that you haven't yet read about. Chances are they have a couple hacks here and there that you won't find in a book. So if you don't understand the program right away it's nothing to fret over.
    Consider this post signed

  4. #4
    C++まいる!Cをこわせ!
    Join Date
    Oct 2007
    Location
    Inside my computer
    Posts
    24,654
    Half is theoretical knowledge. Half is practical experience.
    Delve deeply into the depths of the language. Get to know what the language has to offer. For example, templates and meta-programming are some of the most difficult parts of C++. Mastering them will definitely make you an advanced C++ developer.
    Then you have to create programs, programs, programs. Reading others' source is a good idea, if only to adapt yourself to others' styles. Most important is to get experience writing good code.
    Quote Originally Posted by Adak View Post
    io.h certainly IS included in some modern compilers. It is no longer part of the standard for C, but it is nevertheless, included in the very latest Pelles C versions.
    Quote Originally Posted by Salem View Post
    You mean it's included as a crutch to help ancient programmers limp along without them having to relearn too much.

    Outside of your DOS world, your header file is meaningless.

  5. #5
    and the hat of int overfl Salem's Avatar
    Join Date
    Aug 2001
    Location
    The edge of the known universe
    Posts
    39,660
    > Teach Yourself C++ in 21 Days
    Teach Yourself Programming in Ten Years

    In 21 days, you can learn enough to reliably tell the difference between a C++ program and a hole in the ground.

    Proficiency comes from endless practice, not endless reading.
    If you dance barefoot on the broken glass of undefined behaviour, you've got to expect the occasional cut.
    If at first you don't succeed, try writing your phone number on the exam paper.

  6. #6
    Registered User
    Join Date
    Oct 2008
    Posts
    1,262
    Quote Originally Posted by Salem View Post
    > Teach Yourself C++ in 21 Days
    Teach Yourself Programming in Ten Years

    In 21 days, you can learn enough to reliably tell the difference between a C++ program and a hole in the ground.

    Proficiency comes from endless practice, not endless reading.
    Abstruse Goose » How to Teach Yourself Programming

  7. #7
    spurious conceit MK27's Avatar
    Join Date
    Jul 2008
    Location
    segmentation fault
    Posts
    8,300
    This is sort of a straw dog: a lot of those "Teach Yourself X in 21 days" books are fine and dandy, and they do not say "Master Everything in 21 Days", so there is nothing fallacious about the claim. Maybe "Get started with X in 21 days" would be a better title WRT programming languages.

    However, all those books from the original post look like they are for learning "beginner to intermediate" skills. This is not to say that reading a book with "advanced" on the cover will make you an advanced programmer. It might help, but probably no amount of reading will do that, as has been said, it is about real practice. Also consider: if someone has spent 10,000 hours programming, chances are they have read more than 5 or 6 books in addition to those 10,000 hours actually writing code.

    Quote Originally Posted by MIH1406 View Post
    But when I tried to check some advanced applications I found that I cannot understand it?
    Well, hopefully we have settled the question: you are closer to being a "beginning" programmer than an "advanced" one, so why would you expect to understand advanced applications?

    Reading complex, undocumented source is not easy. I've probably spent 3000+ hours coding in C/C++ (and at least that again in other languages), but I am no where near being able to say I could take the source for a large, complex application, spend a few hours with it, and then explain how it works. Maybe in a week, if there were enough motivation. There are plenty of things I would not even bother trying to understand, because while it might be possible, it is just not worth the time it takes.

    I'll bet that in those books you listed, there is not one single sentence about "how to understand source code". So maybe it would make more sense, rather than asking "why don't I understand this", to ask "HOW can I understand this?"
    Last edited by MK27; 05-02-2010 at 02:42 PM.
    C programming resources:
    GNU C Function and Macro Index -- glibc reference manual
    The C Book -- nice online learner guide
    Current ISO draft standard
    CCAN -- new CPAN like open source library repository
    3 (different) GNU debugger tutorials: #1 -- #2 -- #3
    cpwiki -- our wiki on sourceforge

Popular pages Recent additions subscribe to a feed

Similar Threads

  1. Software Developer Opportunity in Delaware
    By Jdorazio in forum Projects and Job Recruitment
    Replies: 0
    Last Post: 04-28-2009, 10:58 AM
  2. [JOB] C++ Technical Director/Senior Developer, London, UK
    By Nick1 in forum Projects and Job Recruitment
    Replies: 0
    Last Post: 12-10-2008, 05:18 AM
  3. Software Developer earning his Doctorate needs help
    By TurboTim in forum A Brief History of Cprogramming.com
    Replies: 1
    Last Post: 04-14-2004, 06:45 AM
  4. Advanced but yet general
    By Rhodium in forum C Programming
    Replies: 6
    Last Post: 08-09-2003, 12:46 PM