4 ms·
Somewhat related: [1]. A bit provocative title, but it's actually about "teaching (the newcomers) C++ constructs first before going through C-era ones". [1] Cp
by gattr 5y ago
Somewhat related: [1]. A bit provocative title, but it's actually about "teaching (the newcomers) C++ constructs first before going through C-era ones".
[1] CppCon 2015: Kate Gregory “Stop Teaching C" (https://www.youtube.com/watch?v=YnWhqhNdYyk https://www.youtube.com/watch?v=YnWhqhNdYyk)
- tialaramex 5y agoRight, there have been a few other CppCon talks about this, but the thrust is the same. Kate is an excellent speaker and so hers is a good introduction to the idea if you're (somehow) still of the opinion that the first week of a C++ course ought to be C and she has great motivating examples where doing this her way works out better for everybody. If C++ is in fact this good modern programming language, your C++ programming course should teach that language. If your excuse as to why the programming your students do is lousy is "Well, they didn't learn modern C++" that's your fault, you were supposed to teach that. I actually think there are also important lessons to be learned when trying to teach any programming language as a first language, because beginners are likely to offer some illuminating questions, and that begins with the boilerplate (the Dobbs article calls it "scaffolding" but I think boilerplate is appropriate). The boilerplate in C++ is very bad. I am convinced that it would be less bad (maybe still pretty bad, but less bad than say C) if right early on somebody had sat down with students learning this as a first language and noted down all the warts they run into and set about fixing as many of those warts as possible.