CppCon 2018: Christopher Di Bella “How to Teach C++ and Influence a Generation”

preview_player
Показать описание


At some point in your career, you will need to teach someone something about C++. You might not be a lecturer or a trainer, but you could be helping a colleague with a problem that they're solving, presenting at a lunch-time session, or even at a conference! Perhaps you're someone who is helping to write your company's style guide or "Intro to Our Repo" manual. Correctly teaching C++ is a tough endeavour. C++ is often taught incorrectly at the university level, via online resources, and in books. Many resources are still outdated or refuse to change with the paradigm shift that the C++ community has been undergoing over the past two decades.

We should seek to convey correct information and provide resources that are factual. We should make learning C++ an enjoyable experience, and that stems from the way in which we teach it.

This talk digs into how we can achieve some of this, but it by no means provides all the answers, and may lead to more questions.

Christopher Di Bella, Codeplay Software
Staff Software Engineer, ComputeCpp Runtime

Christopher Di Bella is a Staff Software Engineer for Codeplay’s ComputeCpp Runtime Technology. He is a strong proponent for having the Concepts TS and the Ranges TS in C++20. Chris spends his days working on ComputeCpp, Codeplay’s implementation of SYCL; the Khronos implementation for the Parallel STL (using SYCL); and researching Parallel Ranges, which is an attempt to bring the aforementioned Ranges TS together with the parallel algorithms. He was previously a software developer for Nasdaq, and a tutor for UNSW Australia’s COMP6771 Advanced C++ Programming course in Sydney, Australia. In his spare time, Chris enjoys snowboarding, playing games, and watching films.


*-----*
*-----*
Рекомендации по теме
Комментарии
Автор

> Who here thinks C++ was built on C?
me: [raises hand]
> OK, leave your hand up if you think that is the ONLY language that C++ was built on.
me: damn, I got ambushed.

nites
Автор

Good talk. Shame about the awful manners of some members of the audience, though.

jakearkinstall
Автор

49:28 there is a typo (a.width should be a->width)

Xeverous
Автор

Tbank you very.much. Learning is something I am currently struggling with

aperezNWO
Автор

Great talk!!!
However both gcc and clang return sizeof(char) -> 1, but I guess this is implementation related

nmmm
Автор

A lecture on teaching code and you don't address the large gender gap.?!??!

davidporterrealestate
Автор

I know exactly why C++ is frustrating. A person can't simply just "use" the language.There are all sorts of stupid things that will trip you up -  You can't just use functions, you have to include their header files. You can't just code using standard functions, you have to use the correct namespace. You can't just use a function; type implementations that you are vaguely aware of will make your coding not work in all of the most confusing and frustrating ways.There are like 10, 000 ways to accomplish the same thing; ten people will give you ten different answers often that are somewhat incorrect,  that stand on top of assumptions about your compiler and coding that you don't understand, and that conflict with other responses.And to make matters worse, despite the new C++ standard making things "play nicely", 80% of the available C++ material still goes more or less off of C98, so more than likely you are going to still learn how to code using old, archaic methods.

TeamGrendalsay