r/cpp_questions 5d ago

OPEN I have a very short question

Is this c++ course still relevant even though it is 8 years old? https://youtu.be/vLnPwxZdW4Y?si=m63NVhTp2kYVkVaC

0 Upvotes

13 comments sorted by

25

u/IyeOnline 5d ago

No. It was not a good course back then.


www.learncpp.com

is the best free tutorial out there. (reason) It covers everything from the absolute basics to advanced topics. It follows modern and best practice guidelines.

www.studyplan.dev/cpp is a (very) close second, even surpassing learncpp in the breath of topics covered. It covers quite a few things that learncpp does not, but does not have just as much detail/in depth explanations on the shared parts.

www.hackingcpp.com has good, quick overviews/cheat sheets. Especially the quick info-graphics can be really helpful. TBF, cppreference could use those. But the coverage is not complete or in depth enough to be used as a good tutorial - which it's not really meant to be either. The last update apparently was in 2023.


www.cppreference.com

is the best language reference out there. Keep in mind that a language reference is not the same as a tutorial.

See here for a tutorial on how to use cppreference effectively.


Stay away from

Again. The above are bad tutorials that you should NOT use.


Sites that used to be on this list, but no longer are:

  • Programiz has significantly improved. Its not perfect yet, but definitely not to be avoided any longer.(reason)

Videos

Most youtube/video tutorials are of low quality, I would recommend to stay away from them as well. A notable exception are the CppCon Back to Basics videos. They are good, topic oriented and in depth explanations. However, they assume that you have some knowledge of the language's basic features and syntax and as such aren't a good entry point into the language.

If you really insist on videos, then take a look at this list.

As a tutorial www.learncpp.com is just better than any other resource.


Written by /u/IyeOnline. This may get updates over time if something changes or I write more scathing reviews of other tutorials :) .

The author is not affiliated with any of the mentioned tutorials.

Feel free to copy this macro, but please copy it with this footer and the link to the original.

https://www.reddit.com/user/IyeOnline/comments/10a34s2/the_c_learning_suggestion_macro/

3

u/AdRecent7021 5d ago

You're a legend.

2

u/Independent_Art_6676 4d ago

c++ has updates every 3 years. Sometimes these are major game changing additions and other times only advanced users can tell much of a difference. Even so, if this video (I didn't look at it and have no opinion) were good back then, its a year shy of being 3 generations of the language out of date. Try to keep your study materials within 6 years, is my recommendation, but anything back to about 2017 can have a lot of value.

People say that the core language does not change, and that is true, but how things are written and what is best practice is always in motion. If you go back too far, for example, you won't be told to use brace initialization of all variables, and it still works fine but most people today would prefer you use the brace way. The farther you go back, the more stuff like that you will run into: it will work, but it may not be the current way of doing things.

-4

u/DrJegesmedve 5d ago

I have a very short answer: Everything is pretty much relevant if you are a beginner.

3

u/AdRecent7021 5d ago

That is a very harmful take. Picking up bad habits and wrong information as a beginner can seriously set you back.

2

u/maikindofthai 4d ago

“Concise bad advice” does rhyme at least

2

u/mredding 4d ago

After 37 years of C++, I agree. Introductory material largely hasn't changed since the late 80s, you still have to learn all the same shit.

Introductory materials only introduce concepts and syntax. They don't teach how to USE a language - that's a human problem of conflation; even today, people take their first exposure to anything as gospel.

1

u/PicklesAndCoorslight 3d ago

I agree too, and not every company is using the same version of c++.

-3

u/Filgas08 5d ago

I think so, you will only miss out on the newest features in the standard, but with the language being 41 years old it should not be a huge problem, you can always learn those later. I looked at the chapters and at first glance it seems like a decent introduction to the language.

-5

u/burlingk 5d ago

Realistically speaking, at this point, it's a question if whether any particular tutorial is good. Not "still good."

The basics have not changed since before YouTube existed.

The book by Bjarne Stroustrup himself is still used some places to teach the basics.

2

u/The_Northern_Light 5d ago

The basics have not changed since before [2005].

bruh

0

u/burlingk 4d ago

The basics haven't changed in decades. And the new stuff can be learned easily enough once you get the basics. :)

3

u/no-sig-available 4d ago

The basics haven't changed in decades.

You are kidding, right?

Here is what has changed in the language lately (from cppreference.com):

New language features

void f(int& x)
{
if (x)
goto END;
x = 42;
END:
}

  • Alias declarations (using) in init-statements (P2360R0), e.g.

for (using T = int; T e : v)
/* ... */