Pacific++ 2018: Sean Parent "Generic Programming"
Vložit
- čas přidán 26. 05. 2024
- Website: pacificplusplus.com/
Resources: github.com/pacificplusplus/co...
Twitter: / pacificplusplus
Abstract:
The term "Generic Programming" was coined by Alex Stepanov and David Musser in 1988. It has become one of the most influential ideas to shape programming and has had a profound impact on the evolution of C++. Yet the core concepts of generic programming are still often misunderstood and misrepresented. 30 years in, this talk will look a little at how generic programming came to be, and why it is not simply "another paradigm" for software development.
About the speaker:
Sean Parent is a principal scientist and software architect for Adobe Photoshop. Sean has been at Adobe since 1993 when he joined as a senior engineer working on Photoshop and later managed Adobe’s Software Technology Lab. In 2009 Sean spent a year at Google working on Chrome OS before returning to Adobe. From 1988 through 1993 Sean worked at Apple, where he was part of the system software team that developed the technologies allowing Apple’s successful transition to PowerPC.
Video recorded by: www.digitalvideoexperts.com.au/ - Věda a technologie
Good talk. I have a small correction: set theory was around before Bourbaki (see Georg Cantor)
Glad to see Stepanov's ideas being spread.
Damn, Sean delivers another quiet and deeeeeep talk.
Another amazing talk by Sean Parent!
Awesome talk. Thank you for sharing this. Sean's stuff is always worth swapping out to.
Did he really say, he read 'From Mathematics to Generic Programming' twice in one week? With the excercises? That impresses me and leaves me wonders of how to achieve the same. At least I will take away from that to read it a second time also once I'm through.
What calms me down though, is that he says a set with associativity is already a monoid. It is not. It is a semi group, we still miss the existence of a neutral element.
That binary search example will never compile in Java or Go or whatever language that has array boundary check.
R.I.P. INF, gone so young.
Edit: Nice talk
@1:09:13 where Sean talks about Eric Niebler giving him credit for the idea that 'you cannot get rid of iterators'; watch CppCon2017 Panel czcams.com/video/JYG5LFHkUuE/video.html where Eric gives some credit to Sean on the currently good version of the Ranges library we have. I did say Sean is one heck of a tough and competent authority in Software Engineering;
Great talk but sheesh it seems like the audio guy didn't even care.
I say this as a live audio guy.
28:37 This would actually crash if the sequence was empty (n == 0)...
He makes it a point to say how he draws pointers to point before the element...then immediately rearranges everything to show that was all meaningless as he would be pointing to the wrong end element if he followed his own style :D
The ranges are half-open, so the pointer should point after the last element. This is exactly what Sean did.
One key takeaway for young Engineers @57:33;
Sorry Sean, I listened to your talk and except for some history I havn't got the slightest idea what this generic programming stuff is all about.
As for history, you dismiss the Bourbaki group. Obviously you have no idea who has comprised the Bourbaki group over the years -- Cartan, Chevalley, Dieudonné, and Weil among the founders, and Serre, Grothendieck, Schwartz and Connes among the the more recent members. These are all giants of 20th century mathematics. I for one have never heard of Stepanov, but I know at least something about what all of the others have done -- many of whom are Fields Metal winners. And by the way lean how to pronounce the name properly, instead of your cringeworthy prounounciation.
You've never heard of Stepanov? That is understandable.
It is hard, though, to understand how your ignorance of him can be used as a point in an argument.
Do you think that the appreciation of one set of people has any bearing on how you view another set of people?
Does your hero piss further up the lamp-post than mine? Is that all you have to share?
Problem solved:
int m = l/2 + u/2 + (l&u&1);
He's too slow and quiet for my liking, the content is good, but form pretty annoying
C++ is terrible dont get it
You forgot the "I" before "don't".
I have tried many languages. I come back to C++ every single time.... There is nothing that compares to it in the slightest. I hear good things about rust but I have my reservations about it for now.