Algorithms + Data Structures = Programs - Episode 46: Programming Language Awards ~ Coming Soon!
Episode Date: October 8, 2021In this episode, Bryce and Conor talk about math, what the Nobel Prize of C++ would be called and the future programming language awards!Date Recorded: 2021-10-03 Date Released: 2021-10-08Beard Twitt...er ThreadFunctional vs Array Programming TalkMatt Godbolt on TwitterTwo’s Complement PodcastBen Deane on TwitterTroels Henriksen on TwitterADSP Episode 43: Parallel Scans and AssociativityADSP Episode 44: Should You Drop Out of School?ADSP Episode 45: Algebraic Groups and Birds!Lex Fridman #226 – Jo Boaler: How to Learn MathLouis Dionne on TwitterHana Dusíková on TwitterIntro Song InfoMiss You by Sarah Jansen https://soundcloud.com/sarahjansenmusic Creative Commons — Attribution 3.0 Unported — CC BY 3.0 Free Download / Stream: http://bit.ly/l-miss-you Music promoted by Audio Library https://youtu.be/iYYxnasvfx8
Transcript
Discussion (0)
And then, oh yeah, that's what I was also going to say, which I forgot to say last time.
Ben said, you know, for a math major, Bryce seems to know very little about math.
It is true.
It was a very bad student.
Welcome to ADSP, the podcast episode 46 recorded on October 3rd, 2021.
My name is Connor, and today with my co-host Bryce, we talk about math,
what the Nobel Prize of C++ would be called, and the future of programming language awards.
So first of all, what is this?
I was, unfortunately, I haven't really been following the twitter thing too much because i was on a 24k run this morning um and then i had to watch
the billions episode uh but like jf is is trying to create this can has beard committee first of
all anybody that wants to have facial hair, do not let JF or any committee.
Y'all do whatever you want.
Except for Connor.
However you identify.
I've seen facial hair on Connor and not that.
You do you, including me.
I'm allowed to have facial hair too.
You have such a baby face.
Why would you want to muck that up by putting on a mustache that looks like a 13-year-old
crew?
It was.
Wow.
I'm pretty sure.
I'm not sure if this podcast has a code of conduct, but if we did, I'm pretty sure you're
in violation of that code of conduct, Bryce.
No, it looked good.
I'm just giving you a rough time.
Well, admittedly. Admly admittedly we don't need
to backtrack bryce it didn't look good i'm just i'm just trying to make you know a wholesome
inclusivity statement you do you don't let other don't let some committee that jf is you know what
did he didn't he try and even put himself in charge of the committee or no he tried to put
hannah in charge um also to also so uh
bryce i don't think listens to the the podcast but i had that strawberry perrier opening the other
day didn't go well here we go round two this time we've got a grapefruit buble and it's gonna be
magnificent it's gonna i don't i didn't understand like half the words that you just said. And no, I don't listen to podcasts. Here we go.
Are you ready?
Woo!
Except now I'm going to have to silence you because right when I opened it, you started talking.
Classic Bryce got in the way of the Grapefruit Buble opening.
Yeah.
We should probably figure out where Dave is.
Yeah, Dave.
Don't disappoint me, Dave. I'm fired up to learn it's gonna be great
episode gonna be great episode did you listen to episode 45 I sent I sent Bryce a tweet saying that
I was super excited because I had forgotten that in the middle of that episode when I started giving
a little preview of combinator birds how excited I got when you said that, oh yeah, I'm a big fan of birds.
And that might be the single most excited I've been during one of these recordings.
And yeah, while we're waiting, while Bryce is getting Dave, feel free to check out my
From Retirement talk, Functional Versus Array Programming, which premiered yesterday,
October 2nd. Yesterday, for the listener listener is not actually going to be yesterday.
It is going to be a week ago.
But I'm proud of you.
You said the listener.
Yeah, I mean, I got to be honest.
When I was editing it, it does sound a bit weird.
We should have another poll.
Do you, the listener, prefer to be referred to as a collective as the listeners
or just as an individual i feel like i've done i've done pretty well on uh on our on our polls
so so uh yeah i mean i can get down for a poll so so i'm uh i started on i started unpacking my my programming books today because I have some temporary bookshelves.
And I have books two and three
of The Art of Computer Programming by Gnu.
And you might wonder, well, where's book one?
And also, isn't there like a book four?
I'm pretty sure there's a book four.
Well, I was given book two and also isn't there like a book four i'm pretty sure there's a book four well i was given
book two and three by my uh mentor hartmut and uh i asked him where's the rest of this at and he's
like yeah you don't really need them these these two are the important ones wow shots fired hartmut
yeah also bring your bring your mic a little bit uh if you did listen to the podcast you'd know that my audio
quality is just 10 times or 100 times better than yours and matt gobbelt matt gobbelt and i were
chatting about that the other day because we both we both edit our own uh we're the editors behind
the podcast so matt has to compliment with ben rady that's his co-host's name, I believe. And yeah.
Ooh, look at that.
Now say something.
Yeah.
See, but now I can't see you.
I mean, you can never see me.
I'm always in the dark.
The other microphone configuration was better when I was recording from my sofa.
And also my audio was better when I had a gigantic sofa to soak up all of the noise.
Yeah, it's a bit more echoey now.
Also, too, if you listen to the podcast, I just remembered this.
There's a bunch of things that I didn't think we were going to get to talk about today because
we had Dave on.
But I've started, and you're going to love this, Bryce.
I've started to, every once in a while, you go on these tangents that are, you know, one
time you'd start talking about your furniture for the second time.
I just start speeding you up at 10 times speed um so you'll say oh and so an update on my furniture
and uh yeah i'm getting my bed in a month and then we uh it's the best i have i have you know
you think as the executive producer of this whole thing that you've got the power but no the the
person the person yeah of course the person
who edits is is always the true that has the true power just like the person that takes the minutes
always has the true power um what are the things that i was going to bring up so um yeah we talked
about the algebraic groups um after right the day after that we had originally recorded that so i
think we recorded it on what September 11th.
I talked to Ben Dean for a couple hours on September 12th and he was,
he confirmed that indeed a group is what the term that we were looking for,
for the inverse scans. What do you need?
I feel like there was some other stuff though.
Oh, there was, there was the, the,
our ongoing debate with what's-His-Name from Twitter about whether this operator is associated or not.
Oh, yeah.
I didn't see your tail end of that, but I sort of—
I'm pretty sure he's right now because—
I told you, you needed to do a proof.
No, so I agree with him.
I think—this is Trolls, Henriksen, right?
Yeah, yeah. agree with him i think um uh this is trolls henriksen right yeah yeah i was agreeing with
him but i think what he was i think he was misunderstanding that i was agreeing with him
and just saying that my code example was wrong and then i i kept on trying to communicate i agree
but you could indeed write a overload set that is different from my code example that would work
and and i think he he kept there was some there was some miscommunication at some point,
but the point that I was saying is that I agree with him.
You just, you needed some fancier overload set than I had in my code example.
Oh, yeah, yeah, yeah.
I think I would agree with that.
I mean, we had the same thing when we wrote the max consecutive ones
where sorting out how to write some of those overloads is a little bit complicated usually a
tricky one is is the sort of the aggregating one where you've got you
have your intermediate data structure on the left and the right and you have to
sort out how to do you have to do some kind of merge thing yeah yeah yeah did we send a did we send a message to to dave yes i did yes but this this episode
might now become the waiting for dave aberson i mean dave is an important guy and it's sunday
morning so i mean also like time zones but yeah there was a couple there was a couple things what did we what did we uh we did
the the three parts of 43 44 and 45 were uh i can't remember what 43 well yeah associativity
the associativity um requirements and whether yeah having a binary operation with an with
overloads does that qualify as associative that was 43
then we did a tangent on should you drop out of school um you can't call it a tangent when the
podcast is all tangents uh i mean sometimes we have a goal a destination and then we reach that
goal and like the the parts the tangents that we take on the way to that goal are tangents,
but the path itself sometimes, it's probably all tangents.
You're correct.
And then, yeah, and then the group.
Oh, that was the thing I wanted to correct too.
I said at one point, oh, it seems like I should learn about set theory.
And then Ben Dean accurately or correctly corrected me and said oh that's group
theory not set theory and i was like oh yeah fair point um which shows how little i know about math
and then oh yeah that's what i was also gonna say which i forgot to say last time i ben said you
know for a math major uh bryce seems to know very little about math it is true
yeah i thought that was fantastic because at one point too i was like yeah i'm not you know
i'm not a pure math guy and you're like well i have a math major and then we still proceeded to
not really the the one key thing that i learned in my math education was how to construct a proof.
And I still think that that's like the one like useful piece of knowledge that you can,
that you really get out of math, a math degree.
Yeah, I've been, I've been listening to, what podcast did I listen to the other day day it was one of the more recent lex friedman
ones where he had on let me just go find it uh her name was i want to say joanne
kohler or joe bowler that's actually pretty close j-o and then b-o-a-l-e-r and yeah she is a math
educator that's probably like an under understatement of what she does
she's probably got a phd and she's a professor somewhere here let's let's go to the episode and
get some uh and get some details joe bowler is a professor of mathematics education at stanford
and the co-founder of u-cubed whatever that is anyways it was a very interesting conversation
it was it was a shorter podcast his are usually like three hours long and this one was only an hour and a half but she was talking about
how our podcast that is that is uh the key is 2.2 times speed baby and uh
and then that three-hour podcast is only an hour and 20 minutes or something
but she was just talking about how like how poorly math is taught and not only how poorly it's taught, but the reputation around math that it's just known as this sort of nerdy thing that a lot of people aren't good at.
When really the math that is taught in school, it's a lot of the long form multiplication and long form division and just a bunch of steps and stuff.
But there's another kind of math where it's purely visual. long form multiplication and long form division and just a bunch of steps and stuff but like
there's another kind of math where it's like you know purely visual and someone won she was talking
about how this woman from india basically was told as a kid that you know she was terrible at math
when would never be good at it or whatever and then she went on to win the fields medal which
is like the nobel prize of mathematics um because she was more of a visual mathematician than she was like a...
Anyways.
If we had a Nobel Prize of C++, what would it be called?
Good question.
Good question.
If we had a Nobel Prize.
Well, what is...
Is it Nobel and Fields?
Are those named after people?
Yeah.
It would probably be it'd probably be
stepanov right because whoa really well but because let's hope bianna doesn't listen to
this podcast no no no no i i because bianna bianna is still active in the community right
like like you you have a you have the uh an award or something is named for somebody that's like
retired or is no longer no longer involved.
And the most prominent C++ person that's no longer involved, I'd argue, is Stepanoff.
How does this I'm not going to agree or disagree.
I'm just going to ask you a question.
How does this fit with one time?
You told me about your philosophy or view on not like superstar or like pedestalizing people across communities.
And you were very anti sort of like, you know, oh, we should all look up to this one person and aspire to be like them.
Yeah, yeah.
See, that's why it would be a bad idea.
But this is why I was going to say, how does this?
We constantly talk about bad ideas.
How does naming it after a person uh how does that
what's the word work mesh right right how does that how does it would not you would not do that
oh so we're not naming it after a person now that's what i was thinking is we should name it
after like uh um the compiler frustration um uh what do they call like uh the awards that they
hand out at award ceremonies that you didn't actually
win anything they're just recognizing like a lifetime achievement yeah it's like the lifetime
achievement of compiler frustration award goes to because you know that like the majority of
c++ developers careers and development cycles isn't the majority if it's not the majority
it's the plurality uh is spent you know fighting
with the compiler and trying to i guess maybe at a certain point if you're louis dion or you know
hana dusakova you have you ever you have you know achieved a certain level of what's the word
trans you've you've you've transcended and like you have the mystic arts of, like, you know. I don't know. No, I think the more C++ you learn, the weirder your compiler errors become.
Yeah.
Because, like, it doesn't get better.
It just gets worse because then you get to the point where, like, you write code that, like, it's not a compiler error.
It's just, like, the compiler, like, fails. not a compile error it's just like the compiler like
fails like it gives you an internal compiler error like an ice as they're called you know
where there's like a bug in the compiler and you have to go and diagnose it um yeah internal
compiler error yeah ice i like i like the lifetime achievement lifetime achievement in like you know mount template programming or
mount something you know yeah yeah yeah i like that all right we'll put it to the listener you
know you tell us what the what the lifetime achievement or uh the equivalent of a field
or nobel and c++ would be and we'll choose the best one. And also, who should get the first one?
Because, of course, Connor and I will now host a black tie award ceremony.
Are we going to have the annual?
But, like, why would we just do it for C++?
I think we should do it for, oh, my goodness, Bryce, we come up.
No, that's, you know, I'm being negative.
I've got to tell my ego to be quiet here.
But I'm just, I was thinking, and now I'm going to say it.
I apologize for the hubris.
But that was, that's an amazing idea. We should have the annual, like, programming language awards.
It's completely zero guidelines.
We just sit here, two cis-het white guys, letting the people know who gets the awards.
Yeah.
We'd have to turn it into some kind of a – maybe we could do it with like a joint, you know, the podcasts come together.
Yeah, we should definitely do this.
We should definitely do this.
I'm going to leave you to make all the arrangements all right yeah i'll try and think of um
see this is this is like a perfect example of like what my job currently is
like having some random meetings with people kicking around ideas most of them are bad
and somebody's like oh we should do that and i'm like all right great go do it make it happen
yeah i'm already brainstorming i'm just trying to think of how to like the c++ itself get an
award or do we just create the thing is is i don't know enough about um other communities
but that's the thing is we could just,
we'll call it, we'll call the awards explicitly in the title of them,
like consciously biased,
like completely acknowledging the fact that,
you know, I probably only know
like a couple of people in the closure community.
So if someone's getting an award
in the closure community,
it's one of the people that I know. how come this person didn't get the award i
didn't know about them so they were not considered due to my lack of awareness of who we could call
it the programming language people we like i don't know that's uh i don't think that's explicit
enough of like because then it's like do you not do you not like the people that you haven't?
And it's like, no.
We'll brainstorm.
The Twitter, we've got a certain number of listeners now.
All we have to do is say tweet at us or open an issue and poof,
then we get our answer.
It's fantastic.
Some bubble in Roman, they had the group.
That was great.
And then Ben Dean afterwards told me.
This is going to be like the listener is watching at least me learn every episode.
And it's going to be interesting in five or ten years.
Yeah.
You should teach me some stuff about combinators or something.
While we wait for Dave.
Is Dave coming?
Have we heard from him?
I have not heard from Dave.
He might be asleep.
Oh, man. Do we want to do like a mini
Combinators episode until Dave shows up?
If Dave shows up? I think so.
Okay, here we go.
Oh, boy, oh, boy.
Oh, boy, oh, boy. So, thanks for listening.
We hope you enjoyed and have a great day.