Pacific++ 2018: Sean Parent "Generic Programming"

Sdílet
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

Komentáře • 22

  • @ericzenk4404
    @ericzenk4404 Před 5 lety +11

    Good talk. I have a small correction: set theory was around before Bourbaki (see Georg Cantor)

  • @im95able
    @im95able Před 5 lety +6

    Glad to see Stepanov's ideas being spread.

  • @jjurksztowicz
    @jjurksztowicz Před 5 lety +2

    Damn, Sean delivers another quiet and deeeeeep talk.

  • @code_report
    @code_report Před 5 lety +4

    Another amazing talk by Sean Parent!

  • @tomkirbygreen
    @tomkirbygreen Před 5 lety +3

    Awesome talk. Thank you for sharing this. Sean's stuff is always worth swapping out to.

  • @AYetau
    @AYetau Před rokem +1

    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.

  • @minhluudinh5522
    @minhluudinh5522 Před rokem

    That binary search example will never compile in Java or Go or whatever language that has array boundary check.

  • @YourCRTube
    @YourCRTube Před 5 lety

    R.I.P. INF, gone so young.
    Edit: Nice talk

  • @tionogu
    @tionogu Před 5 lety

    @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;

  • @Dannypnny
    @Dannypnny Před 2 měsíci

    Great talk but sheesh it seems like the audio guy didn't even care.

    • @Dannypnny
      @Dannypnny Před 2 měsíci

      I say this as a live audio guy.

  • @spacechild2
    @spacechild2 Před 4 měsíci

    28:37 This would actually crash if the sequence was empty (n == 0)...

  • @seditt5146
    @seditt5146 Před 4 lety

    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

    • @pstuifzand
      @pstuifzand Před 4 lety

      The ranges are half-open, so the pointer should point after the last element. This is exactly what Sean did.

  • @tionogu
    @tionogu Před 5 lety +1

    One key takeaway for young Engineers @57:33;

  • @richardgostanian
    @richardgostanian Před rokem +1

    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.

    • @martinwaplington966
      @martinwaplington966 Před 10 měsíci +1

      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?

  • @cmdlp4178
    @cmdlp4178 Před 5 lety

    Problem solved:
    int m = l/2 + u/2 + (l&u&1);

  • @abc3631
    @abc3631 Před 3 lety

    He's too slow and quiet for my liking, the content is good, but form pretty annoying

  • @gustavcc.m.7311
    @gustavcc.m.7311 Před 5 lety

    C++ is terrible dont get it

    • @klemensm
      @klemensm Před 5 lety +12

      You forgot the "I" before "don't".

    • @seditt5146
      @seditt5146 Před 5 lety +1

      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.