Algorithms + Data Structures = Programs - Episode 251: Sean Parent C++ Under the Sea Keynote Preview
Episode Date: September 12, 2025In 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)
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.
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.
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,
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
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
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.
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.
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
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.
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.
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,
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,
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
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
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.
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...
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
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
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,
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.
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,
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.
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.
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.
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.
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.
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.
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
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.
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
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
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.
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++.
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.
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
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.
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
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.
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
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,
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.
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
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.