Algorithms + Data Structures = Programs - Episode 95: Kate Gregory on Carbon vs C++! (Part 4)

Episode Date: September 16, 2022

In this episode, Bryce and Conor finish their interview with Kate Gregory and talk about the Carbon Programming Language.Link to Episode 95 on WebsiteTwitterADSP: The PodcastConor HoekstraBryce Adelst...ein LelbachAbout the Guest:Kate Gregory is an author, sought-after conference speaker, trainer, Microsoft Most Valuable Professional (MVP), and partner at Gregory Consulting. Kate has been using C++ since before Microsoft had a C++ compiler. She is an early adopter of many software technologies and tools, and a well-connected member of the software development community.Kate is one of the founders of #include whose goal is a more welcoming and inclusive C++ community. She also serves on the board of directors of Cpp Toronto, a non-profit organization that provides an open, inclusive, and collaborative place where software developers can meet and discuss topics related to C++ software development.Show NotesDate Recorded: 2022-08-15 Date Released: 2022-09-16Carbon Language: An experimental successor to C++ - Chandler Carruth - CppNorth 2022Carbon Programming LanguageCppNorth ConferenceSwift Programming LanguageKotlin Programming LanguageRust Programming LanguageCurb CutsToronto Public Libraryfoonathon::blog() Carbon’s most exciting feature is its calling conventionKeynote: “Am I A Good Programmer?” - Kate Gregory - CppNorth 2022PluralSight Courses- Kate GregoryBeautiful C++: 30 Core Guidelines for Writing Clean, Safe, and Fast Code by Guy Davidson & Kate GregoryIntro 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)
Starting point is 00:00:00 yeah, I thought there would be negativity. I really did. I thought people would be like, how could you do that to C++? How could you betray, you know, WG21 like this? And that hasn't been the case at all. People from the committee have, you know, saw it before the launch.
Starting point is 00:00:15 People have seen it since. They say, yeah, that might work for some problems. Because there are some problems, right? That are not tractable problems. Then it's another FAQ. Why don't you just improve C++? Like, well... Welcome to ADSP, the podcast, episode 95, recorded on August 15th, 2022. My name is Connor, and today with my co-host Bryce, we finish our four-part interview with Kate Gregory and talk to her about the carbon
Starting point is 00:00:48 programming language. So the conference went better than I could possibly have expected. The carbon launch also went very differently than I could have expected. A lot of the things I was really scared might've happened, did not happen. And a bunch of things happened that were fantastic that I was not expecting. So, you know, Chandler said in the keynote, join us. And people did. Very large numbers of people joined. And while some people were perhaps not offering constructive help and suggestions, a bunch of people really were. So, you know, from the very next day, there were people saying, hey, would a syntax highlighter for VS Code be helpful? I think I can do a Vim plugin. I think I can this. And people starting to discuss, I see you haven't
Starting point is 00:01:34 settled the designs for, let's say, lambdas or something. Three or four people start getting together, hashing that out. Things are getting done. So some things that were designed but not coded in the Explorer are getting coded in the Explorer. Some things are getting done. So some things that were designed but not coded in the Explorer are getting coded in the Explorer. Some things are getting designed. Some decisions are getting made. Very happy. Yeah, I just went and pulled it up to see. It's since the launch. So today is August 15. So we're almost a month exactly out, just less than a month, I guess um on github it has 25.8 thousand stars which is pretty remarkable and already over a thousand forks i don't know actually what those were but i assume those were like you know less than you know either single digit or double digit numbers
Starting point is 00:02:18 before we launched there were a few dozen people involved. Yeah. It was 11 stars and... It was either 11 stars and 3 forks or 3 forks and 11 stars, and I think it was probably the other way around, probably 3 stars and 11 forks before. I remember because I checked, right, as the
Starting point is 00:02:40 announcement went out. Yeah, and it's up to I think it said 87 contributors or something. And if you look at the amount of code pushed, it has, just sort of looking at since they started commits over a couple years ago, looks like it quadrupled in the month of July. So clearly a lot of active development happening
Starting point is 00:03:04 in the last month here. Yeah, I was looking to see if I could figure out how many people were on the Discord, but I don't know how to do that. And by and large, they're very understanding of our atmosphere and our code of conduct and what we're trying to do. The first couple of weeks, there was a lot of repetition. There was a lot of like, I don't get it. It's just rust. Why not just use rust? And then the answer to that question is yes, if you can use rust, you should totally use rust.
Starting point is 00:03:30 Like this is not a competitor to that. If rust works for you, use rust. And then people like, well, you don't really mean that. That's just a thing you're saying. Nope. Nope. That that's, that's what I mean. And then, then there was a bunch of really repetitive questions and suggestions
Starting point is 00:03:46 that we'd already dealt with. Huge number of people wanting a logo. Like, I don't... This is an age thing. They're like, you have to have a logo. You have to have a logo. People won't take you seriously if you don't have a logo. I'll make you a logo for free. No, we don't have a logo. Yeah, but you should
Starting point is 00:04:02 have a logo. Yeah, but we got bigger fish to fry. We don't want a logo. I'll make you one. And that went on for for some time. I mean, I personally love I mean, like the banners on most of my social media stuff, whether that's LinkedIn, or Twitter, or YouTube are just a collection of programming language logos. However, I don't actually feel like Carbon needs one yet because if you've watched Chandler's keynote, this is yet to be like, you know, they're in sort of still experiment mode.
Starting point is 00:04:35 Like I get the feeling that like if in six months, a certain like in the decision tree, a certain number of decisions are taken. It doesn't seem like it's going in that direction at all but like a part of launching it it wasn't like we're launching and like when when swift and apple um were launched at a wwdc this was here is swift it's our new language right um and the same with kotlin right here's this language we want you to learn it we want you to start using it it's supported in these tools and and carbon is nowhere near want you to learn it. We want you to start using it. It's supported in these tools.
Starting point is 00:05:08 And carbon is nowhere near that. You know? Yeah, it's pre 1.0. And although it doesn't seem like it's going the direction that it would get, I don't know what the word is, defunded or decided that, you know, we don't need this.
Starting point is 00:05:19 It's before the point that Google has said, you know, this is one of our goals. Like they have some internal term. Although, and that shouldn't mention, it's not a Google project. It's just that it's starting out a lot of Google folks. It's similar to some other projects. Like I think Kubernetes is one of them, right?
Starting point is 00:05:33 It started at Google, but then it got put on a little org boat and floated off into the sea. And now it's no longer controlled by Google. So you have its own foundation and its own governance and its own goals. You know, because part of the issue is, and the three of us have grouply and individually talked about this before, the committee process for C++ is perhaps not serving the language well, right? Bryce, you said you joined basically to get MD Span, and you said how many years ago that was? Yeah, it took seven years. Yeah.
Starting point is 00:06:07 You know, not everybody would have had the gumption to stick with that for seven years. I mean, you know, one of my colleagues likes to say that a programming language needs to be 10x better than its competitors in some way. Well, I don't know yet whether Carbon is 10x better than any of its competitors on any particular technical aspect, but it's definitely 10x better than C++ in terms of process. I think so.
Starting point is 00:06:43 The process and the community is a big part of the appeal for me. But there are people who tell us that we're naive and that when we want to play in the big leagues and get support from major compiler vendors and blah, blah, that we'll discover the advantages
Starting point is 00:06:59 of a different process. I don't think so. I think this is a process that can scale and can be leveraged, especially with the leads structure. So we're not always voting amongst, you know, 10,000 random strangers, some of whom would just vote for Bodie McBoatface because they think it's funny.
Starting point is 00:07:16 Yeah. I mean, certainly it's probably true that the carbon process will evolve as the language evolves. But the fact that the process can evolve in and of itself is a huge improvement over the C++ process. I think so. I'm also very, very excited about deliberately rejecting backwards compatibility. You're just saying, like, we might change the language in a way that breaks your code and when we do that we will release a tool that will migrate your code but we're not just going to forever stick to well this was how it was in 1972 and so it can never change right so i mean
Starting point is 00:08:02 the joke about all our defaults being wrong in c++ is not a joke. It's the truth. All our defaults are wrong because the language was written a certain way, and then people said, that might be wrong. We should have this other capability, but we had to make old codes still work. So, like, explicit for constructors. That you have to say, if you don't say anything, can't break your old code, can't say all constructors are explicit. But in Carbon, we could. We could say, we were wrong.
Starting point is 00:08:34 All constructors are explicit unless you mark them implicit. And then we'd give you a tool that would go through your code and find all your constructors and mark them implicit. I'm surprised to hear that you heard from certain folks that when Carbon took some step into what you mentioned is the big leagues that they would discover the process wouldn't work because isn't it already sort of proven like not that Carbon's process is identical to Swift's or Russ or any number of languages but like it's it's proven model that you don't need to be an ice or i'm not sure exactly what they were saying like you'll discover that what c++ is doing right but like it seems like in general at least from what i've heard that like
Starting point is 00:09:15 c++ is not like the model of modern process like evolving languages. So there's a whole series of languages that say that's too slow, too corporate, too exclusive. Like it's very gatekeepy, you know? Yeah. If you can't fly to Hawaii, you can't vote.
Starting point is 00:09:37 Yeah. You know, that's a hard, that's a hard thing to say these days, especially after the pandemic, people are like, no, we should all be able to get in a zoom call and we should all be equivalent. You know, we should all be peers.
Starting point is 00:09:52 But, you know, maybe some things are hard to scale. Maybe secrecy has some value in some places. Being super open and super transparent maybe would keep some people away. I don't know. We'll see. We don't have to be the programming language for everybody. We just have to be a good programming language. Yeah. I'm surprised to hear that that's what you've heard because, if anything, I think that most modern languages are all sort of following suit, that they've got ways to discuss things online
Starting point is 00:10:23 and make decisions online. And not to say that there's nothing good about ISO. There's definitely advantages to ISO. But yeah, especially like when you keep in mind some of the things that we've brought up on this podcast. What did Bryce remark that, you know, the visa wait times for certain countries? I think you were talking about was it India at that one point? And it was like you checked at one time and it was like 700 plus days. And then when you rechecked, it was 300 or something. And so it's like, well, you know, depending on when you check, you know,
Starting point is 00:10:53 you might be able to go maybe not next year, but like two years from now. And it's like, well, these committee meetings happen once every three months, or at least they did when before the pandemic took place. And it's, uh, and it's just the time. It's like, so I needed a visa to go to China, I very rarely need a visa to go anywhere. And you know, they say things like list everywhere you've been for the last 10 years, everywhere you slept a night that wasn't your home for the last 10 years. That's a lot to ask a person to produce that information or to even to write it up if they happen to know it, you know? And I think that the money is non-trivial either. Academics tell me that it can cost a thousand dollars to apply for a visa. That's a lot of money. We just talked about how little money
Starting point is 00:11:35 graduate students make, you know? Yeah. I mean, yeah. And then you'll hear about the, there's a $250 stipend for conference travels and stuff and it's like oh well that is helpful yeah that covers one night of hotel maybe yeah yeah so i understand the value of being in a room together um i've really missed it over the last little while and i was very very happy to get back to it with in-person conferences uh and i know that hybrid is expensive like Like, you know, we didn't run CPP North hybrid. And a lot of people have been like, every conference should be hybrid. It's, it's a violation of, you know, human rights, not, and I'm like, oh, I must have missed the part
Starting point is 00:12:14 where you're giving me the money to run the hybrid conference. Cause it's like very expensive thing to do. Right. I just, I would love to make everything accessible to everybody. I would. Yeah. Accessibility is, I mean, we've mentioned that before is that we would love to, at some point when we get sponsored for it, we will love to have transcripts for all of our episodes. And my other podcast does do transcripts, but the amount of time, and it's not completely, actually, I'm not sure if they spend money but like you can get you can pay for transcripts um but it is currently not a cheap thing to do like um a lot of them are by the minute so if you have hour-long podcasts um that totals up to you know a couple
Starting point is 00:12:55 thousand dollars a year and um yeah and and more more importantly it's it's time like it does take a lot of time so like uh with the pluralsight courses, they come out almost immediately with a machine generated transcript, which is basically useless. And then some number of days or weeks later, a human has gone through and edited that transcript and then it's great. And I use it all the time because someone will say, could you explain whatever to me? And I'll go into my own course, bring up the transcript, search for that word. And then I can find that explanation. Then it links back to the exact moment in the clip. And I'm like, oh, sure.
Starting point is 00:13:32 In module seven, clip two, at the one minute time mark, you will see. And I don't know, maybe they think I have the whole course memorized. I'm just searching the transcript, you know. That is a great hack, not just for looking up course stuff, but like on every YouTube video, they have transcripts automatically generated and you can do the exact same thing. If I'm ever looking for quotes from whether it's Kate or, you know, Sean or someone, you can just open up the transcript, search for rotate and then go and click next, next a couple of times and find a quote.
Starting point is 00:14:03 And then click to that bit and play it. It's fantastic. I mean, this is the whole curb cut thing, right? You do something to help one group, but it turns out to help a ton of people. And I found... You should probably explain what curb cuts are. So I don't even live in the city, but I used to live in the city. And if there's a curb, a little piece of raised cement at the edge of the road,
Starting point is 00:14:26 to bump down that in a wheelchair is uncomfortable and difficult, and to bump up it may be impossible. So you get them to cut a gap there so that there's a smooth entrance from the road up to the sidewalk. But it turns out that it helps not just people in wheelchairs and people with walkers, but people who are pushing strollers and people who are wheeling dollies full of something they're delivering and what have you. And that perhaps 10 times as many, quote unquote, able-bodied people benefit from the accommodation as the people that you justified doing it for.
Starting point is 00:14:55 And so the same with closed captioning. People say, well, how many people come to a conference who can't hear? Well, first of all, more than you'd think, because my son works for a hearing aid company. And when I mentioned that, people tell me they wear hearing aids. It's like, I can't tell you how many times that's happened to me. People say, Oh, I wear hearing aids. And they won't tell you otherwise. So there's an awful lot of people who could use some help when it comes to hearing. But there are also people who are brave enough to go to a conference in their second language, which I would never dream of doing, or their fifth, and the written material helps them to understand what they're hearing, or the speaker has a bit of an accent and the written
Starting point is 00:15:31 material helps. So there's so many things that we do them for people with a condition that we sort of feel sorry for and we have to help them, but it turns out it's actually more useful to this huge other chunk of folk. And publishing the menus is very useful if you can't eat a particular food. But it was super useful for everyone else. Yeah, even even folks. Yeah, completely able bodied. Like when you were talking about the curb cutting is I was thinking I'm sure there's like a percentage of people that have no problems with, you know, taking that step up that just, that just you know 10 of people trip every once in a while because there's a little higher and it's just less people are tripping or or if you have if you have luggage if you have suitcases yeah yeah i mean there's and it turns out like
Starting point is 00:16:15 they say that if you're if you're not disabled you're really just not disabled yet right at some point maybe you'll break your arm and you'll have your arm in a cast for some number of weeks and you'll be very glad of those buttons that you can hit with your elbow to open the door there's an apartment building that I go to a lot and it has automatic door openers but not at the door that has stairs up to it everywhere else there's automatic door openers and they're like no if you can walk upstairs you can open a door and I'm like that's not that's not how this works lots of people can walk up the stairs but they can't open the door you should have automatic door openers on all your doors right because because it's there's more than just one uh difference that you that you
Starting point is 00:16:57 need to accommodate yeah yeah i love the new post-pandemic hand wave door openers now too that's right you don't even need to hit them. One, yeah. I'm not a germaphobe, but like, it's just nicer not to be able to have to. But two, they're also just easier. It's like, it's half the time when you're carrying groceries or whatever. Yeah. And you need to try and get your elbow up.
Starting point is 00:17:15 And it's like, now you can just wave the grocery bag in front of it and poof, you're good to go. Yes. Yeah. There's so many things that, you know, were completely impossible before the pandemic. No, you can't order that online. No, we can't meet over Zoom. yeah there's so many things that you know were completely impossible before the pandemic no you can't order that online no we can't meet over zoom you have to drive three hours in to have the meeting you have to fly for the meeting we found out actually it's quite possible or or like uh everywhere everywhere takes credit cards now that's that's my favorite
Starting point is 00:17:40 yes to bring cash anywhere i i can't remember the last time I used cash for anything. Yeah. It's just all credit and debit. And you know, the book, Beautiful C++, Guy wrote that book in his commute time. Wow. He had 45 minutes each way commute. I think that's the number. So when he was working from home during the pandemic, an extra hour and a half a day.
Starting point is 00:18:04 And what he did is, at the time he would have normally gone to work, he went and worked on the number. So when he was working from home during the pandemic, he had an extra hour and a half a day. And what he did is at the time he would have normally gone to work, he went and worked on the book until nine o'clock. Then he closed that, worked on work all day. Five o'clock when he would have been driving home, he worked on the book. Yeah, it's, I've always never really, I mean, I don't commute anymore, but when I used to, I used to love it because I would read so much. I do more audio books now, but back then the Toronto Public Library is just fantastic.
Starting point is 00:18:34 And they've got, I haven't used it in years, but they've got an amazing reservation system where you can put books on hold and then like pause the on hold and you work your way up a queue. So like when you're at the, anyway, it's great. Canadian, I mean, I shouldn't say Canadian. It's specifically the Toronto one. And yeah, like with just 20 or 25 minutes each way, it's 50 minutes. And if folks are just whatever, playing Candy Crush on their phone, maybe it's kind of irritating.
Starting point is 00:18:57 But if you're consuming or being productive, it's like an awesome little chunk of time that it's kind of hard. It's like, oh, how hard is it to find 50 minutes or 25 times 2 slots a day but like as soon as it's not there by necessity it's just kind of you never are in the routine of like choosing it you know people can say oh you're right there so I can just ask you a question
Starting point is 00:19:18 I can just ask you I can just interrupt you or maybe I could sleep for another half an hour or maybe I could have I could take care of half an hour or maybe I could have uh I could take care of that errand or whatever yeah yeah yeah it's I I haven't worked in an office for a real long time but I used to go to to clients offices and go to to meetings yeah it's good i think i've said this a couple times but having to choose between either fully remote or fully in person like it would i think remote would win 100 of the time because there's just too much flexibility and it's um anyways we were talking about carbon yeah uh and then and
Starting point is 00:19:59 then we got sidetracked carbon is all remote? It's all online and it's all open and transparent. There's no secret meeting that comes back and says, well, this is what we're going to do. Everything's open. Every once in a while, there's things that the leads will have to decide, but it's quite common for that to happen on a call that other people are on. Right. And maybe as one sort of like last final question, as probably we're actually winding down for the final time, because you operate both in carbon and for years in C++. Yeah.
Starting point is 00:20:35 Have you, like what in general have you observed as sort of the response between, because you hear a lot of, you know, oh, it's just rust, or, you know, and then it's actually not just Rust and you answer that question. What's, from your point of view, been the reaction from the C++ community? Is it generally, oh no, or is it generally, oh, this could be great? Yeah, I thought there would be negativity. I really did.
Starting point is 00:21:00 I thought people would be like, how could you do that to C++? How could you betray, you know, WG21 like this? And that hasn't been the case at all. People from the committee have, you know, saw it before the launch. People have seen it since. They say, yeah, that might work for some problems. Because there are some problems, right, that are not tractable problems. Then it's another FAQ.
Starting point is 00:21:22 Why don't you just improve C++? Like, well, if you look at the cast of characters, it's all people who tried improving C++ and there's certain things that can't be done because the priority number one is the backwards compatibility. That's a promise that can't be broken. That's a promise that was made and that cannot be suspended. And that's fair. You know, I have no problem with that. But when you take that promise away, what does that enable? What can you now solve that cannot be solved in C++? That's what we're going to try to find out.
Starting point is 00:21:57 And there are things to be solved. There are things about C++ that make it hard to write a compiler, but they also make it hard to teach or hard to work in sometimes. So what could we fix if we didn't have to be backward compatible with literally programs from the 80s, right? That is a great question to ask. And I know that there are people who've got some very specific wishes around performance. So did you see the Funathon blog? I think that's who it was, about the calling. Yeah.
Starting point is 00:22:28 You know, that, oh, if you want to pass like an int, it's quicker to pass an int by value than by reference because it will go in a register, whereas if you pass it by reference, the address will go and it won't go in a register. And Carbon says it looks like a value, but we'll do whichever is quicker. If it's quicker to pass it by value, we'll pass it by value. Otherwise, we'll do it by reference. You know, that sort of thing is focused on perf. And for people who need
Starting point is 00:22:58 that, that's going to be a huge, huge benefit. And there are all kinds of stuff like that, where it's just you have different goals, you have different priorities, so you can make different decisions. I hope it ends up with a language that I get to teach and that I get to work in for a real long time. But even if it totally flames out, there will have been lessons learned. Yeah, I think, you know, I'm not sure it's the worst case. But one of the cases is it just ends up making C++ a better language that's closer to what we would all like to see. Like, I haven't met a single C++ developer that's been like, oh, my God, C++, it's my favorite language. Absolutely nothing wrong with it.
Starting point is 00:23:36 It's perfectly designed from the get-go. We made no mistake. There's no, any C++ developer has their sections that frustrates them. And I mean, you know, you've heard Sean say that, you know, I think at the end of the Elements of Programming book, it even defines like this subset of C++. And there's the quote, you know, like inside of C++ is a beautiful language waiting to get out or something like that. You know, it's a language we all love with some asterisks next to the love that things I think one of the cool things is everyone has their asterisks in a different place. You know, so someone was just talking today about, oh, you know, you can't teach operator overloading without getting into argument dependent lookup.
Starting point is 00:24:18 And I was like, you can't? Because I'm pretty sure I have, you know. So we've all got our own little, you know, bugbears that we're like have a big problem with or struggle with or wish we could eliminate or what have you. To say we'll make everybody happy can't be done because everybody has a different set of things they wish they could fix. But to be in a position where none of these decisions are binding, that we will not be held to the 40-year-old decision because we can break stuff if we want. We can break not just the syntax, which is relatively trivial, but the ABI break is a bigger deal, right? There's cost to that.
Starting point is 00:25:01 Of course there is. People have to rebuild. But there's benefit to that too. Because you don't run around breaking ABI because you felt like it. You came to realize that something would be faster or that something would be smaller or whatever. And then to be told, well, yeah, but we can't. Because it'll break ABI and people don't wish to rebuild all their code and they don't have the source code and all the reasons why you're not supposed to break things. Okay. But what if we did,
Starting point is 00:25:28 what if we broke things? And that just provides a freedom. That's very exciting to be part of. Yeah. I mean, towards the end of CPP casts, you know, I don't know how many episodes it was 50 towards the end. Jason was always bringing up every other episode, you know, do you care about ABI? You know, cause I, you know know and he started collecting these responses where i think either all of them or almost all of them were like oh no we could rebuild if we like it seemed like this issue like but then i know i know marshall clow is given talks that shows the issues of it and there are folks out there that you know it is a big deal for well it's often not the engineers that um are the one like the engineers like sure we could rebuild but it's often incisions that are being made um at a higher
Starting point is 00:26:14 level than line engineers yes and engineers are so optimistic they're like it'll take like 20 minutes it's no big it's not it's not a big, like, oh, we don't have the source for that. Or no one remembers what options we set for this other thing. Or we thought we remembered what options we set, but obviously we didn't because now that we've built it, it's not working the way it used to. That's a fun one. Yeah.
Starting point is 00:26:38 Yeah. And like I'm old enough, I have worked on stuff that we didn't have source code for. Yeah. I mean, ABI is a real problem for, you know, some people. I still think we should break it regularly. No, so someone asked a question at the Carbon Talk about, you know, changing the syntax of the language every day or whatever. And I said to the person, like, benevolent. We're
Starting point is 00:27:02 supposed to be the benevolent leads, right? Like, just because we can break things doesn't mean we're going to break them all the time. But some interesting things. The first big break is to say we're going to break some C++ things. I'm going to change some defaults, change the way some things are done, change the way some things are spelled. And, you know, some people kind of losing their minds over that. That's okay. You know, I mean, Carbon has var and let, and where var is a thing with an address that can change and let can't change. And they're like, no, you need to spell that const,
Starting point is 00:27:36 you can't spell that let. Okay, yeah, we can talk about that. But the basic concept that we're not just tacking another keyword onto an existing declaration, but we're actually going to use a different keyword to declare it, that's in a way a break. And it's changing what the defaults are, because if you just declare an integer in C++, it's mutable. But it doesn't have to be that way. I mean, folks should keep in mind too that the people working on this language aren't just looking at C++. They're looking at many other languages. And if you look at the languages that they're looking at, sometimes the decisions they're making make more sense. Sometimes looking at
Starting point is 00:28:16 it just from a myopic C++ only lens would be like, well, why are you changing that? There's no reason to change that. Absolutely. So if you look at Go, if you look at Kotlin, if you look at Swift, if you look at Haskell, you know, people are looking at very, very modern languages and really quite old ones and getting some inspiration. But, you know, also some very bike-sheddy type questions are best solved by looking at other languages. So if you're going to have introducers for functions, if you're going to say keyword and then start talking about the fact that this is a function, here's its name, here's its signature, here's what it returns.
Starting point is 00:28:54 You know, what should the keyword be? It should be F for function. Should it be FN? Should it be funk? Should it be function? Should it be define? You know, and you can find examples in a lot of other languages where they've used different introducer words. And you don't just like have a vote and say, well, it turns out nine out of 10 languages abbreviated this way. But it is helpful to look across, you know, a wide history and say, listen, we're not the first people to face this problem. Let's take a look at some science out there. Yeah, for sure.
Starting point is 00:29:29 All right. With that, I feel like we've definitely taken you past. We're definitely over. It's getting dark. So we should let, we should let Kate go. Um, but thank you so much for coming on and spending. I know our listeners, they absolutely love the guest episodes and, uh, we've been mentioning your name. I mean, I can't count the number of times across episodes where we keep saying we got to have Kate on, we got to have Kate on. And I even apologized at the beginning of episode, I think it was 89 and 90 saying, we said Kate would be on, but she'll be on next time, we promise. All right, well, any any last plugs or things you want to mention calls to action before we let you let you enjoy your lakeside uh cabin which we are all jealous that you are at right now i would i would say to everybody check out the cpp north videos um at the
Starting point is 00:30:13 moment that we're recording there's only a handful up but by the time it airs it should be well over a dozen and that's probably more than you can watch right away so start watching some of those and uh and plan to join us next year. Awesome. Well, once again, thank you so much for spending your time with us. And enjoy the lake and the cabin. And we will talk to you sometime in the future, hopefully in person. All right.
Starting point is 00:30:36 Take care. Thanks for listening. We hope you enjoyed and have a great day.

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