Algorithms + Data Structures = Programs - Episode 251: Sean Parent C++ Under the Sea Keynote Preview

Episode Date: September 12, 2025

In this episode, Conor and Bryce interview Sean Parent about his upcoming keynote at C++ Under the Sea!Link to Episode 251 on WebsiteDiscuss this episode, leave a comment, or ask a question (on GitHub...)SocialsADSP: The Podcast: TwitterConor Hoekstra: Twitter | BlueSky | MastodonBryce Adelstein Lelbach: TwitterAbout the Guest:Sean Parent is a senior principal scientist and software architect managing Adobe's Software Technology Lab. Sean first joined Adobe in 1993 working on Photoshop and is one of the creators of Photoshop Mobile, Lightroom Mobile, and Lightroom Web. 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.Show NotesDate Recorded: 2025-08-21Date Released: 2025-09-12C++ Under the SeaAre We There Yet? - The Future of C++ Software Development - Sean Parent - C++Now 2025A Possible Future of Software Development - Sean Parent - Google Tech Talk 2008Sean Parent Zurich C++ Meetupcareers.adobe.comIntro Song InfoMiss You by Sarah Jansen https://soundcloud.com/sarahjansenmusicCreative Commons — Attribution 3.0 Unported — CC BY 3.0Free Download / Stream: http://bit.ly/l-miss-youMusic promoted by Audio Library https://youtu.be/iYYxnasvfx8

Transcript
Discussion (0)
Starting point is 00:00:00 So you got me, you got AI. You're good. Yeah, that's all we, that's all we need. That's all we need. And you talking about AI. That's the third pillar right there. Welcome to ADSP, the podcast, episode 251, recorded on August 21, 2025. My name is Connor, and today with my co-host, Bryce, we interview, Sean.
Starting point is 00:00:30 Parenthood, this is part four of a four-part conversation. You heard part three last week. We're doing part four this week, and then you'll hear the first two parts in the next two episodes. In this episode, we chat with Sean about his upcoming keynote talk at C++ Under the Sea. You are going to be keynoting in T-minus a month. I don't think they've announced the other speakers yet. No, they have not. They have not.
Starting point is 00:00:59 So tell us briefly what you'll be chatting about. And I think the dates are like October 9th and 10th. So if folks are in Europe or close or are willing to fly to the Netherlands, you can go see Sean's talk. This is current Connor while he is editing this episode, which we recorded on August 21st. And since we recorded, Bryce and I both had our talks accepted to C++ under the C. So not only can you go and see Sean and get to chat with him at C++ Under the Sea, Bryce and I will also be there. So if you're not going to be near or close to Copenhagen or in Norway for NDC Techtown,
Starting point is 00:01:40 we will also be in Breda Netherlands on October 9th and 10th. Back to Sean. But yeah, what are you going to be talking about? I'm going to repeat the talk that I just gave it at C++ now, which is titled, Are We There Yet? and the title comes from a talk I gave at the very first it was a keynote at the very first boost con pre C++ now and there's an online recording of it because I also gave it at Google as a Google tech talk in I don't know what year it was so I would have to look it up 2007 something like that
Starting point is 00:02:21 and that that talk was titled a possible future of software development and basically what laid out at the time was that there was a huge reduction possible if we moved to generic programming, kind of stepping off style generic programming, and we start writing code in terms of algebraic structures so that it can be commonly used, and that gets rid of a lot of the write and rewrite and rewrite and rewrite, the same implementation of an algorithm. It actually leads to code reuse, where objectorian programming had that promise but it was never fulfilled and then started to look at where do we go from here and the idea of where we go from here is what I refer to as as declarative forms this notion of you should be able to to state your intent around how a program is is constructed right so
Starting point is 00:03:14 basically you define things structurally and the computer figures out what the right data structures and algorithms are to use to use to realize that And I showed a demo at the time of property models and a UI layout library that I had at the time. I think the property model work is still somewhat unique in the industry. I've published a number of papers on it with Yanko Yardv. So those are all linked on my website. Layout libraries at the time, you know, it was just known as Eve, had quite a unique set of capabilities. I think less so now.
Starting point is 00:03:50 There's a couple of unique capabilities it has. it can do cross hierarchy alignment easily where other layout engines don't. But that was kind of a take on it. And so this talk kind of revisits, so revisits that. How far is generic programming come in the last 20 years? The answer is a lot. Nobody knew what it was 20 years ago, and now it's a significant part of all the major languages.
Starting point is 00:04:21 It is amazing to think about that just 20 years ago how different the software industry was in that way because it's something that we take that Connor and I think take for granted because we sort of grew up in that environment. Yeah, yeah, I think there are still things that the industry gets wrong about generic programming, so I'll touch on some of those. And then this notion of how do we get to declarative forms, right? At one point, this idea, it's not unique to me, was referred to as like fourth generation
Starting point is 00:04:55 languages and prologue kind of being the canonical example. And I think the idea was right, but all of these systems have failed for a number of reasons. And so let's look at kind of the reasons why this tact has failed in the past. And can we take another stab at it and maybe go in a different direction? Do you think that declarative languages like that are more relevant these days because of AI? I think potentially they are. One of the things that I'm looking at in my current work is how do I expose the structure directly to the AI? Another group at Adobe has been doing work on a similar area.
Starting point is 00:05:42 And that gets really interesting. It means that you can have your AI build features that weren't there under the hood, right? They can play with the Lego blocks, if you will, more at a user level than at a raw coding level. Wasn't Prolog like originally developed by an AI lab back in the 70s? You know, I do not know that. I would have to look that up. Certainly it's got early AI. It was created around 1972 by some guy from the University of France in their artificial intelligence group.
Starting point is 00:06:25 Yeah. So, yeah, so I think these things connect well to AI, and I think potentially solve a lot of the problems of AI. And, you know, what my goal is is to say that, you know, you want to build a set of domain-specific languages as well that all interoperate, as well as the infrastructure to define new languages within that family. And each of the languages, the goal should be to solve a particular class of problems well and to be as provable as possible. And so, like, one of the attributes of the layout system that I did, it's a constraint-based system, but you can neither over-constraint or under-constraint it,
Starting point is 00:07:11 any layout that you describe, it will give a layout. And I tried to do the same with property models and fell a little bit short. There is a model checker where if you run the model checker and it succeeds, then you know that there's a solution for any set of values that you feed into the system. The problem is 20 years ago at the time, I did kind of a back-of-the-emphalo proof of the complexity of the model checker and said, It looks like it's N-Log N-ish, something like that. I recently pulled up those notes and found several mistakes,
Starting point is 00:07:48 and it's like, no, it's N-Choose-M-M-ish, which is a whole different. So it's probably only reasonable to fully model-check things at a small scale. So I'm looking at how do you build a system that can do a better job at model-checking above that? Yeah, you know, I think if you, you know, when you write code, if you've ever had the sense of, of, I'm writing kind of the same thing again, right? Right. I'm solving a similar problem that falls into a family of problems I've had before. Then this notion of how do you back up and how do you describe that class of problems and how do you get to the point where you can solve it once gets interesting. So that's the direction of the talk. I'm hoping to get a demo together
Starting point is 00:08:41 of my new work right now I could show a bunch of rust code but it's not wait wait to be clear your plan for your keynote at the C++ post conference is to show a bunch of rest code I mean I'm not saying that's inappropriate I just want to be clear
Starting point is 00:08:55 I plan is hopefully to show a demo of a small slice of a functioning system if I were to you know the closest I could give right now is be like oh look at all this rust code I've written and if I run it on the command line that puts out these numbers, which are somewhat interesting to me. So if I'm only at that point still, I won't give a demo.
Starting point is 00:09:16 It wouldn't be interesting. I could give a demo at a Rust conference and talk about the structure of the code, and that might be interesting, but not as it was interesting. I have learned that running concurrently with CPP under the sea, there is a big AI conference in Amsterdam. I can't remember the name. World, AI, Summit, Amsterdam, maybe is the...
Starting point is 00:09:42 Interesting name. Yes, it's on the 8th and the 9th. So, yeah, there's some potential crossover there. And then, you know, for your European listeners, before C++, under the sea, Sergei Platonov
Starting point is 00:10:04 has invited me to do a meetup and so I will do probably the same talk in person in a meetup in Zurich a stop by Zurich on my way to on my way to the Netherlands for people who don't know Sergey
Starting point is 00:10:22 he's the person who started C++ Russia and when the Russian Ukraine war broke out his wife is Ukraine and he fled the country and now was in Zurich, which was very sad. The day before the war broke out,
Starting point is 00:10:43 he sent me an invite to speak at C++ Russia again. That was a good conference. It's a shame. Yes. The reason, though, I was saying that is we had such a blast at C++ on sea. I want to say it was 2023 at this point, because I... Yeah.
Starting point is 00:11:07 Was it 2023? I think it must have been, yeah. It was either, it definitely wasn't this year. So it was either 24 or 23. But anyways, it was a blast recording in person, you know, during the dinner, post-dinner. And if it's not, it's C++ under the C, we will try to have to make that happen in person again. Because as fun as it, I mean, this was amazing, to be honest. I don't know how you've managed to bundle so many, like,
Starting point is 00:11:31 internet happy topics we've got rest versus c plus plus we've got AI and we've got like the dystopic or utopic future that lays ahead for us should people be worried or not so this is just going to be banger after banger but yeah as fun as this was we're we will have to try to do this again in person at some point whether at a conference or I'm sure Bryce and I will be in Santa Clara at some point at the same time the problem is we usually go a different because we're on different teams. But maybe next year at GTC, if you're going to be there and I'm going to be there.
Starting point is 00:12:09 You live in the air, Sean. Yeah, I know Bryce was like at the most recent GTC. I've actually been to California. After the fact, I'm like, I'm a block away. Yeah, I've actually been to California like six times since then, but I've just, it's been, the travel's been so crazy this year that it's all work. I haven't had, I haven't had any spare time.
Starting point is 00:12:34 Yeah. But, but yeah, I'm sure we'll, I mean, I suspect we'll both be at GTC this year, Connor, hopefully. Hopefully. I mean, GTC has become like, you know, I don't know. What's the comparison of like some Epcot Center Disneyland, or not even Disneyland, Disney World? Like, they rent out half a San Jose. I couldn't even get into the keynote last year. I was, I was just like, oh, yeah, I'll just show up like a couple minutes beforehand.
Starting point is 00:13:00 there was like a line line around the block. It was so, I'll tell one last story. Then we'll be done. Back in 2017, when I was still at Berkeley Lab, I was thinking about coming to invidia. And I always like to, so in the Jewish religion, if you want to convert to Judaism, it's supposed to not be easy to convert. And the rabbi is supposed to tell you no the first two times.
Starting point is 00:13:25 And then if you come back and you come back the third time, and you say, yeah, I want to convert. Then he's like, all right, all right, you can convert. And so when I was in this process looking for a new job, I approached Olivier, my old mentor at NVIDIA. And the first time he was like, oh, I'm not sure if you'd like it here, coming from academia. And the second time is like, oh, I'm not sure where we'd put you.
Starting point is 00:13:48 And then, like, eventually I went and I asked him the third time. But in between the second and the third time, because I was sort of entranced to come to a, and Vidia by Olivier, Michael, and Jared, because they were, I just, they were the people, they were a small delegation in the C++ committee compared to Google or Microsoft, but they seemed to get so much more stuff done and be so sharp, and Olivier just loved talking passionately about the chip he was designing and why GPUs were superior to CPUs for compute workloads. And I was very convinced coming from the CPUs, Cindy world.
Starting point is 00:14:28 I bought what he was selling me. And he kept hinting that they were going to launch a very cool chip at GTC. And so I decided I was going to go down for GTC 2017 for the keynote day. So like I woke up at like 6 a.m. And I drove down from Berkeley to Santa Clara. And this was when it was still in the convention center before it had to go to the stadium. And I guess I would. still Bryce even then because I get I get to the entrance and I'm letting people in and I see a line
Starting point is 00:15:04 for like a press and I'm just like what the heck I'll just go in the press line and they didn't check any IDs or anything and they took everybody in the press lines got to go up to like the front row and so I was in the front row of the GTC 2017 keynote when Jensen launched Volta launched TensorFlows like that that was like a huge monument. GTC, and that was the launch of VALTA, which was like a paradigm shift in GPUs for us. And I was just there in the first row, live tweeting, and it sort of blew up my Twitter, because I was able to get all these good pictures because everybody else was at least 10 rows behind because they had all these spots reserved for the press people.
Starting point is 00:15:49 And then I went to go see Olivier's talk, and I was convinced I was sold I wanted to go to Nvidia after that, and I went home after. I can't wait to the version of this story, you know, in the next 10 years where, like, Bryce ends up behind bars because he was over-entitled and just like, oh, no, I'm supposed to, hey, hey, hey, officer, officer. Yeah. Oh, man. I want to note at the end of that story that that was before I was an employee of NVIDIA, so my misspave here was perfectly fine. All right, well, we should have a security incident now to review their preference. protocol. I'm sure
Starting point is 00:16:30 they run a much tighter ship now than they used to. Yeah. Sean, are you still coming out to New York at all? I have not recently. You know, I met up with you guys
Starting point is 00:16:46 last time I was there. So yeah, it will probably happen at some point. Yeah, my organization is sliding under Titus's. So I'm going to report through Titus too here. pretty soon.
Starting point is 00:16:59 I forgot Titus was at Adobe. I haven't talked to him in forever. Yeah, we got Titus. We got Hiram. We got all the cool kids here. Is Titus speaking at conferences still? I haven't seen his name pop up recently. I've seen Davids because David was at C++.
Starting point is 00:17:16 I've seen David's name pop up a couple places, but I haven't seen Titus's. Yeah, yeah. No, I haven't seen Titus speaking anywhere recently. Yeah, I think he's been heads down. So he's reluctantly growing his org, and I think it's growing a little bigger, a little faster than he wants. I was going to say, that's good news for the folks that are hoping, you know, for jobs and whatnot. But potentially it's just all internal reorgs and people joining his, what do you call it, binary or what is, what do you call a tree that's not binary, that's just a tree, I guess. Yeah, just a tree.
Starting point is 00:17:53 An erie tree. I got to get going because we've got to go to the U.S. Open cool a little bit well plug if you get it in for your listeners I think CareerStadadadadadadcom I do think Adobe still still has some open slots okay yeah there you go if you're
Starting point is 00:18:12 we will plug it we will plug it a new graduate or not a new graduate and just out looking for a change or looking for something new it sounds like you got a lot of cool people at Adobe, regardless of where you end up, you'll be working with some cool folks. Yeah, yeah, good company and happy here.
Starting point is 00:18:33 All right, thanks so much, Sean. This has been an absolute blast. I must, well, I'll find it in after the fact, in post, and edit in the person. Someone, there was a couple comments that I got on recent episodes. One of them was, it was a photo. This is what the ADSP podcast has been recently, and they took our logo, deleted everything except for the A
Starting point is 00:18:52 and then added a white eye next to it. And then the other comment I got was like, where is Sean? I mean, it's great that you two are here, but I'm here for the Sean content. And I was like, oh, that's true. We haven't had Sean on in a while. We've got to fix that ASAP. And so now we have done so. But we'll make sure it's sooner, whatever the Delta was, it's sooner than that amount of time until the next time we have you on.
Starting point is 00:19:15 So you got me, you got AI. You're good. Yeah, that's all we need. That's all we need. And you talking about AI. That's the third pillar right there. we'll just we'll just train a sean AI model from all the past podcasts no it's not the same it's not although i would if we did that we'd have to get you sean to come and just talk to
Starting point is 00:19:36 yourself then that would be that would be content worth listening to um a discussion with sean parent and sean parent you make a very good point yeah yeah i mean we're going to be living in a future soon where, especially for the three of us, we just point them at the episodes and say, go create a model. There's actually a company I've heard of called Delphi, where it's literally very similar to the Black Mirror episode where a person's partner passes away and they feed it texts and then emails and it gets better and better, where somehow they train a basically digital replica of you. And then if you're a busy person, you can just go ask the Delphi, go ask Conner's Delphi first or go ask Sean's Delphi. And then,
Starting point is 00:20:21 And, you know, you can review all your Delphi's responses pretty quick. Oh, that's good, good, good, good, just to make sure it's doing a good job. And so you basically can copy yourself, which is listening to the podcast about that. They were very high on it. And it sounded very creepy. But at the same time, you're like, I guess I would like to have an extra of me if you could get more work done. Or like the questions that you don't like answering, whether that's professionally, socially, in your relationship.
Starting point is 00:20:48 You just go talk to my Delphi about that, okay? there are certainly a number of meetings where I wouldn't mind just you know it's like my attendance is required only because politically my face should be there and it's like like just put an avatar for me in there and I'll go write some code yeah we'll see we might be living in that future soon because we can all think of examples of that where yeah whether it's meetings or something okay we'll let you go then Sean thanks so much be sure to check these show notes either in your podcast app or at ADSP thepodcast.com for links to anything we mentioned in today's episode, as well as a link to a get-up discussion where you can leave thoughts, comments, and
Starting point is 00:21:29 questions. Thanks for listening. We hope you enjoyed and have a great day. Low quality, high quantity. That is the tagline of our podcast. It's not the tagline. Our tagline is chaos with sprinkles of information.

There aren't comments yet for this episode. Click on any sentence in the transcript to leave a comment.