
Where do I go to learn C++? - chphipps
I&#x27;m very interested in learning C++. I know it&#x27;s hard... but I&#x27;m determined to do it. Anyone have any useful websites I should start with?
======
Someone
How do you learn? I would buy Stroustrup's "The C++ Programming Language"
[http://www.stroustrup.com/4th.html](http://www.stroustrup.com/4th.html) and
read it back to front, but that's not for everybody (stroustrup.com is worth
looking at, regardless of how you learn)

What do you know? If you know C, for example, it is different than when all
you know is prolog.

Also: what version? C++ has seen significant updates that changed C++ best
practices quite a bit. I would aim for at least C++14, but if you want to work
on older code or on software for a system that doesn't have a recent compiler,
that isn't a good idea.

Finally: Learning C++ isn't as hard as 'the Internet' say it is; historically,
it is more that you constantly have to be on your toes when writing code,
especially for code that constructs, copies or takes down objects in various
ways. Modern versions are better in that respect; you still can eek out every
bit of performance, but if you don't try (which you shouldn't, in the first
version of your program) and use modern idioms, there are far fewer pitfalls.

------
throwaway_374
As someone who recently returned to C++ after a few years away, start with
C++11 which feels like a modern language and dare I say very Pythonic. I'd say
you need to grasp the following concepts to get you up and running the
quickest:

1\. Fundamentals of C++ mainly virtual polymorphism and STL. Make sure you
understand the mechanisms (vpointers and vtables) as I'd bet my house almost
every C++ interview will cover these. 2\. C++ 11 style including memory
management. 3\. The famous "50 ways" book for good practice such as const and
explicit class declaration etc.

Lastly, probably the best Youtube resource I found for learning is the
following bitesize 20 min lectures which explain key concepts, though some may
be a bit outdated. Watch one over lunch and practice in your IDE at the same
time.

[https://www.youtube.com/user/BoQianTheProgrammer/playlists](https://www.youtube.com/user/BoQianTheProgrammer/playlists)

------
peter_retief
Its not the language that is difficult its the underlying systems that are
complex. What do you want to do with it? What is your passion? The language is
just a tool

~~~
chphipps
Sure. I find the education system very straightforward and downright boring,
to be frank, being a high school student, however, I am constricted to it on a
day-to-day basis.

I love real-world application and so I see coding and development in general
as the way forward for me personally - to be honest the whole world of
startups.

I'm currently running a start-up company and learning code on the side. I
guess the end goal is to be able to develop world-class applications? That's
why I want to learn C++.

~~~
sirrele
So lets push this a little farther. What type of "world-class" application? Do
you want to do a mobile app, web app, desktop?

C++ is an amazing language, and I use it almost everyday. However, I develop
most of my applications with JavaScript, and that includes web, mobile, and
desktop applications. I am using C++ in my application with Nodejs for my more
computational heavy operations.

The more specific you are, and I know you are excited and have all the wonder
in world, but it will allow this community to help you. Best of luck!

------
brudgers
My generic advice:
[http://norvig.com/21-days.html](http://norvig.com/21-days.html)

------
fithisux
You should start with D. The one true C++.

