CppCon 2016: Arthur O'Dwyer “Template Normal Programming (part 2 of 2)"

  Рет қаралды 27,650

CppCon

CppCon

Күн бұрын

Пікірлер: 23
@utki17
@utki17 6 жыл бұрын
Need to watch this at least 3 times before it sinks in !
@mohammadsadeghzadeh6739
@mohammadsadeghzadeh6739 5 ай бұрын
The first time I listened to it, I fell asleep 😂 let's go for the next step
@Skeksis0
@Skeksis0 Жыл бұрын
14m:33s Arthur says function templates can't be partially specialized, but it appears what he is demonstrating here is actually function overloading. (Not that this takes away from the following implementation: tag dispatch is the right solution here.)
@vladislavkaplan3738
@vladislavkaplan3738 8 жыл бұрын
Real useful stuff. Thank you very much.
@perfumedsea
@perfumedsea 4 жыл бұрын
very useful presentation and a lot of useful techniques.
@xealit
@xealit 5 ай бұрын
38:20 variadic templates
@pleiadiblu2365
@pleiadiblu2365 2 жыл бұрын
Well structured presentation, one step at a time. However, especially the second part is a little rushed through, which makes it hard to follow.
@lukasz2345
@lukasz2345 8 жыл бұрын
can't get this exaplest to work with clang3.9 ;]
@thedzu
@thedzu 5 жыл бұрын
Too complicated to be useful. Imagine how much time we need to code review and debug. Subtle differences can cause dramatic changes. Still this is a very helpful and informative talk. Most C++ books just includes a very brief intro to template programming, as if it is so easy to use. In fact it’s not.
@fernandolener1106
@fernandolener1106 5 жыл бұрын
It seems you are new to c++ haha
@tombranson9341
@tombranson9341 4 жыл бұрын
Good stuff, but showing the difference of template instantiation and initialization was horrifically confusing.
@michaelkohlhaas4427
@michaelkohlhaas4427 6 жыл бұрын
*Awesome! Thank you!*
@yuehuajia3176
@yuehuajia3176 7 жыл бұрын
Great Talk!
@xealit
@xealit 6 ай бұрын
Damn. I was looking for Scott Meyers or this guy to talk about CRTP and he just skipped the pattern...
@MrSapps
@MrSapps 8 жыл бұрын
You need to book more time dude! Good stuff though.
@mikakulwant
@mikakulwant 7 жыл бұрын
It is horribly complex.
@andreaspokorny3089
@andreaspokorny3089 5 жыл бұрын
Dont say "call it" when all the phones in the room are listening you.. I wonder who had "it" in the contacts?
@Forritouno
@Forritouno 8 жыл бұрын
Templates still look like black magic to me :/.
@origamibulldoser1618
@origamibulldoser1618 8 жыл бұрын
Sigh.... No. No, no, no.
@alexparker7791
@alexparker7791 8 жыл бұрын
What's wrong?
@origamibulldoser1618
@origamibulldoser1618 8 жыл бұрын
Same old song, I'm sorry to say. It doesn't mesh well with the compilation model. I mean, come on... header only, or write the declaration, declare the specialization, then specialize in the translation unit? Isn't that at best a really verbose work-around because of the compilation model? The syntax is too verbose. Put simply, it's a shame people discovered all these admittedly useful techniques and made them "legacy" before someone had time to redesign templates and produce a moderately palatable language feature. There's no doubt in my mind that a modern language needs a reasonable way to process types, but this can't be the right way to do it. The cognitive load of actually using templates is too high for an average programmer such as myself. The complexity is so staggering I can't even recall what this supposed tool is supposed to help me solve. It's an interesting puzzle, the more advanced C++ stuff, and that makes it fun in its own right, but not very productive. Maybe I'll look into it when I'm retired and have infinite time to get lost in the details. This is a great talk, though.
@alexparker7791
@alexparker7791 8 жыл бұрын
What if we were able to abandon all the legacy and start anew; what would such a template system look like?
@leeux
@leeux 8 жыл бұрын
You should think of the template meta-programming machinery as a functional sub-language within the C++ itself. If you can solve a problem by applying a functional approach, odds are that the same solution can be applied as C++ templates too, where you represent actual values of the problem domain as the types themselves, while the "code" is executed by the compiler itself... weird-ugly-syntax notwithstanding :) Also the other part of the problem you mentioned, header only etc... it should be different (and solved, maybe?) when they release C++ modules at last.
To Brawl AND BEYOND!
00:51
Brawl Stars
Рет қаралды 17 МЛН
Back to Basics: Concurrency - Arthur O'Dwyer - CppCon 2020
1:04:28
CppCon 2016: Jason Turner “Practical Performance Practices"
1:00:29
Intro to Data Oriented Design for Games
52:35
Nic Barker
Рет қаралды 47 М.
The Only Unbreakable Law
53:25
Molly Rocket
Рет қаралды 347 М.
The Art of Code - Dylan Beattie
1:00:49
NDC Conferences
Рет қаралды 4,7 МЛН