The cookie popup is truly annoying though. There's no way that this website is in any form of compliance with GDPR...
> There's no way that this website is in any form of compliance with GDPR... Doesnt seem like it needs to be
LearnCPP: Website devoted to teaching you how to program in C++
81–90 of 145 posts
Re: LearnCPP: Website devoted to teaching you how to program in C++
#82Earlier quoted context omitted.
This is a good idea. Most modern languages have their own build tool which handle most of these things, so this requires some separate learning with C++. Some ideas for a curriculum: Context - C++ as a standard, compilers as implementations - a build tool's role in handling compilation and linking - compilers having limited abilities, having limited warnings and analysis by default Build tools - evolution: e.g. make…
In a C++ course we teach at the Technical University of Munich (for students coming from a non-CS background), this is pretty much the direction we have recently steered the curriculum. It is amazing how we were always expected to "just figure out" all these very important practical aspects by ourselves as students, while these are so complicated for C++. In combination with a lot of outdated material out there, stud…
Re: LearnCPP: Website devoted to teaching you how to program in C++
#83Earlier quoted context omitted.
For many kinds of projects, good luck doing it the makefile way (CMake, or whatever one fancies). Yak shaving learning how to use all the compiler and linker flags, and library setup before writing any line of code. Debugging vcproj files is as easy as going down the boilerplate generated by shell scripts and build generators.
But at least I can see the commands being ran by `make` and work backwards from there. In VisualStudio you have to click around in a bunch of “Properties” menus (which may or may not have search boxes…) and eventually you may find what you’re looking for.
Re: LearnCPP: Website devoted to teaching you how to program in C++
#84Earlier quoted context omitted.
In a C++ course we teach at the Technical University of Munich (for students coming from a non-CS background), this is pretty much the direction we have recently steered the curriculum. It is amazing how we were always expected to "just figure out" all these very important practical aspects by ourselves as students, while these are so complicated for C++. In combination with a lot of outdated material out there, stud…
I always thought the pain was the point. They wanted you to struggle to figure it out, it’s how you learned how to learn. If everything is spoon-fed you end up unable to solve your problems when they arise. You expect someone else to have solved the problem and you start looking for them instead of attempting to solve it yourself. Kinda like the main plot point of Enders game.
Re: LearnCPP: Website devoted to teaching you how to program in C++
#85Is this website any good? It's heavily pushed by some C++ subreddits. I don't even know what I would recommend to a newbie. I learned C 25 years ago, and dabbled in C++ 2 or 3 times since then. Bjarne's books might be great, but they aren't for anyone new to C++ and especially not anyone new to programming in general. C++ For Dummies/21 Days style books are just bad. And there are more bad websites than I can count.
I disagree. Not sure why PPP[1] wouldn't fit the bill. It's specifically geared to people who haven't programmed before.
Re: LearnCPP: Website devoted to teaching you how to program in C++
#86I wish there was a good place to learn “the other parts” of C++, the build systems, using static analyzers, testing, dependency management, etc. I’m thinking something like MIT’s “missing semester” course which teaches the boots on the ground part of software like how to use Git. https://missing.csail.mit.edu/ Maybe these resources exist for C++ and I just never found them. I think a lot of “modern” languages get thi…
I agree and that would be great. I'd also love a place to learn design with feedback. Should I use a friend function? Free function? Separate class? Abstract class? Should I create a separate folder and start a module?
It would be great to have something where you try an implementation, get feedback, and try again maybe a few times and then are presented with a few ideal options that you might not have tried.
Re: LearnCPP: Website devoted to teaching you how to program in C++
#87Earlier quoted context omitted.
For the build system, I like: http://cliutils.gitlab.io/modern-cmake/ In addition to building, it will show how to add cppcheck and clang-tidy to your cmake files. That part is pretty easy. Just don't turn on every check in clang-tidy. Many of them are for specific code bases. Modernization checks are my favorite ones. Keeps you doing stuff the modern way. My link has you doing dependency management with git submodul…
It's been quite a few years since I've really written any C++ and I'm surprised the landscape hasn't evolved at all. People are making the same mistakes... Modern CMake should be using toolchain files to specify the toolchain/flags. That should be included in ever CMake intro. (Hacking those into your CMakeLists.txt is not okay) gitsubmodules are also a hack 1: Many dependencies are not setup to be used as a CMake su…
this so much. I made a toolchain generator to make myself toolchains with common set of flags (asan, lto, etc specified with a single simple word on the command line for each "feature" or at worst a "key=value" pair, e.g. "compiler=gcc", "linker=lld") and really it made my life so much better: https://github.com/jcelerier/cninja
Re: LearnCPP: Website devoted to teaching you how to program in C++
#88I wish there was a good place to learn “the other parts” of C++, the build systems, using static analyzers, testing, dependency management, etc. I’m thinking something like MIT’s “missing semester” course which teaches the boots on the ground part of software like how to use Git. https://missing.csail.mit.edu/ Maybe these resources exist for C++ and I just never found them. I think a lot of “modern” languages get thi…
For the build system, I like: http://cliutils.gitlab.io/modern-cmake/ In addition to building, it will show how to add cppcheck and clang-tidy to your cmake files. That part is pretty easy. Just don't turn on every check in clang-tidy. Many of them are for specific code bases. Modernization checks are my favorite ones. Keeps you doing stuff the modern way. My link has you doing dependency management with git submodul…
I would recommend any other C++ build tools that use a proper programming language for scripting, be it Meson or Bazel.
Re: LearnCPP: Website devoted to teaching you how to program in C++
#89Earlier quoted context omitted.
For many kinds of projects, good luck doing it the makefile way (CMake, or whatever one fancies). Yak shaving learning how to use all the compiler and linker flags, and library setup before writing any line of code. Debugging vcproj files is as easy as going down the boilerplate generated by shell scripts and build generators.
But at least I can see the commands being ran by `make` and work backwards from there. In VisualStudio you have to click around in a bunch of “Properties” menus (which may or may not have search boxes…) and eventually you may find what you’re looking for.
Re: LearnCPP: Website devoted to teaching you how to program in C++
#90Earlier quoted context omitted.
as someone that has done a lot of commercial C++ teaching in his time, i would say that this is one to avoid for a beginning programmer. stroustrup is not, imho, one of the worlds great teachers, and i would not recommend C++ as a first programming language. more experienced programmers should go with TC++PL.
Interesting. I'm sort-of experienced (never pro, but lots of little projects in JS & Python. I got Principles to try and fill in gaps in my basic knowledge & so far it seems like it has been helping. I'm a little over halfway through. What else would you reccommend?