View Full Version : How long does it take to master C++?

October 18th, 2011, 03:57 AM
You never master C++.

October 18th, 2011, 04:05 AM
Hi ewrjewoijr. Welcome to the forums.

That is real "tricky" question. It is very difficult to give you any serious answer without having more information about you.

Do you know other programming languages?
How long have been you programming?
Do you have a background in Computer Science?

Feel free to include more information.


October 18th, 2011, 04:08 AM
To learn enough to write your own simple programs and libraries, a couple of weeks of dedicated effort is probably enough.

In my experience the hardest part of writing anything in C++ is learning the APIs for third-party libraries you're using. Documentation quality varies, and understanding what functions do what often takes as long as writing your own (simple) implementations would. But depending on the complexity of the libraries you use your own experiences may vary.

October 18th, 2011, 04:10 AM
I think you could learn c++ easily enough, but the language is changing often enough (through libraries and other means) that you won't really master it. Once you learn something you will learn how to do it a new more efficient way.

Either way, it shouldn't take too long to learn the basics of c++ (or c for that matter) but those will expand quickly into more complex ideas.

Shehab Ahmed
October 18th, 2011, 05:49 AM
i think you will need 2 monthes to master the sample c++ coding

October 18th, 2011, 10:39 AM

0. The language is full of obscure behavior, full of weird exceptions, full of inconsistent syntax and full of even more inconsistent semantics.
1. The language keeps on changing, so when you managed to learn all its intrincacies, a new standard is already there where new ones have been introduced.

October 18th, 2011, 02:59 PM
"mastery" is not a very firm description, so I will list some different levels of proficiency and the amount of time it will take to get there with some decent focus.

1. understanding of the syntax, ability to use basic libraries and solve simple problems 2-6 weeks

2. ability to solve more complex problems, basic understanding of the compiler and how it handles certain code nuances differently, deeper understanding of standard libraries, how they can be applied to a large array of problems 6-12 months

3. mastery, knowing everything about the language and able to take any problem and write perfect code for that problem, ??? years

IMHO, you are wasting your time working towards "mastery" of a specific language. Programming languages are tools, and it is better to understand how different languages are applied to different problems. If you are learning to program, different languages will teach you different things, so I think that tying yourself to a single language and working towards mastery is a bit foolish.

Instead it would be better to take a step back and identify a few problems that you would like to solve, figure out which language works best for those problems, and you will not only have working proficiency of a few languages in your toolbelt, but you will have gained something more important: knowledge about which tool to use for which job