RUPESH

Programming

How Long Does It Take to Learn C++?.

16-09-2026Programming

Bjarne Stroustrup explains how long it takes to learn C++, why your programming background matters, and why you don't need to memorize every detail of the language.

How Long Does It Take to Learn C++?

It Depends on Your Background and What You Want to Do

How long does it take to learn C++? It depends on what you want to do and what you already know.

If you are already a programmer in quite a few languages, my recommendation is to read A Tour of C++, Second Edition. You can do it in the weekend, and now you have the fundamentals. Then you have to do some experimentation and probably dig deeper into the areas you're interested in.

If you want to do anything, you have to pick up some libraries and learn them, but we're talking days or weeks. But that assumes you're a programmer. If I have to explain to you what a linked list is, or what a vector is, or what a hash table is, then it takes much longer.

So, if you start from the beginning, to reach the professional level, we're talking months and years.

And one question I sometimes ask is: how long does it take to learn to play a violin? Well, if nobody's listening, it's easy. If only your mother has to appreciate it, maybe it'll do fine. But otherwise, it'll take years.

Now, if you're already a violinist and you want to play a viola, you can probably do it in a couple of weeks. It depends on what you are, what your background is, what you already know, and then how good you want to be at it.

If you're thinking about the Lincoln Center, you better spend years. And the equivalent for a programming language: if you want to be the ace programmer, building the next-generation infrastructure or the next absolutely great sort of application, you better spend some years learning—not just the programming language, but your basic computer science and your application areas.

Does Bjarne Stroustrup Know All of C++?

You Don't Need to Know Every Detail

Yes, there are people who ask me, "I want to learn all of C++. How do I do it?" And this happens every week. A lot of them want to write their own programming language or write their own game and such. They want to know all of C++.

C++ is a big language, and it has old bits in it that come from C and from the early days, and they're better not used.

If you spend all your time learning every detail of C++, you can't be a good developer because you're wasting too much time on details you won't need anyway.

I mean, this is what we've got books for and what we've got online sites like cppreference for, where you can just look up details when you want them.

I probably know most of C++, but it's not in the front of my mind most of the time. I look it up when I need it. I know what's there, and if I find I need something, I'll look up all the details.

You can't remember all the arguments of all the functions in the standard library. There's just too many, and you'll be wasting your time keeping them all up in your head.

There was a British philosopher, an English philosopher, in the 1600s who said there's two kinds of knowledge. There's what you know and what you know where to find it.

And I think that's my philosophy, too.


— Bjarne Stroustrup

Personal Archive

MORE
STORIES.

Back To Stories