Sort the developer madness and improve your productivity at DEX by Sentry on Sept 28

#307: Python from 1994 to 2021, my how you've grown! Transcript

Recorded on Thursday, Mar 4, 2021.

00:00 Python has changed a lot since its inception 30 years ago. On this episode, you'll meet Paul Everett and Barry Warsaw. they've both been involved with Python since the very first Python conference called 'Spam one' event we discuss how it's changed, but also how so many of the ideas and pressures from the very early days are still playing out in 2021. I'm sure you'll enjoy all the stories and the reminiscing. This is talk by the way, Episode 307, recorded March 4 2021.

00:30 Beautiful is better than nothing. Explicit is better than implicit. Simple is better than complex.

00:43 is better than

00:46 flat is better than nested. sparse, it's better than dense.

00:55 readability counts

01:00 the Zen of Python as a song that's so smooth and cool, isn't it? That song is by Barry Warshaw, one of the two guests on this episode. We'll talk to him a bit about it during the introduction. And if you want to catch the entire song. Listen, at the very end, I'll put it there. You can listen to it as part of this mp3. And I'll also link to his lyric version he has on YouTube. Welcome to talk Python to me, a weekly podcast on Python, the language, the libraries, the ecosystem, and the personalities. This is your host, Michael Kennedy, follow me on Twitter, where I'm @mkennedy, and keep up with the show and listen to past episodes at talk python.fm and follow the show on Twitter via @talk Python. This episode is sponsored by 'Square' and 'Linode'. Please check out what they're offering during their segments. It really helps support the show. One quick announcement before we get to the interview, we'll be giving away five tickets to attend 'PyCon US 2021'. This conference is one of the primary sources of funding for the PSF. And it's going to be held may 14 to 15th. Online. And because it's online this year, it's open to anyone around the world. So we decided to run a contest to help people especially those who have never been part of 'PyCon' before attended this year. Just visit a 'talkpython.fm/pycon2021'. And enter your email address. And you'll be in the running for an individual Pycon ticket complements of talk Python. These normally sell for about $100 each. And if you're certainly want to go I encourage you to visit the 'PyCon' website, get a ticket and that money will go to support the PSF and the Python community. Congratulations to Zane DAX Zane won the first of one of these five tickets that were given away during this contest, there's still more chances to win. So be sure to register. If you want to be in this drawing, just visit talk python.fm/pycon2021. Enter your email address. You'll be in the running to win a ticket. Now let's get on to that interview. Barry, Paul. Welcome to talk Python me.

02:55 Thanks for having us.

02:56 Thanks for having us.

02:57 Yeah, it's super to have you both here. Now, Paul, you've been on the show before. And we've talked about a few things Barry I don't think I've had you on talk Python. But we had both of you on 'Python bytes'. And a

02:57 live PyCon. You guys remember that people got in a room? Yeah, no one was like frightened when you would get somewhat near them. They wouldn't run away. It was It was great. Good times. Those were good times. It

03:17 was fun. back before you did live virtually. Is that what you call them? Yeah. V LIVE

03:23 something like that. Yeah. Yeah, that was really cool. I mean, we had that at the 'PyCharm; boot. Actually, we had like, the whole broadcast thing going on, there was a lot of fun. Yeah, we'll do it again. It really was, we'll get back to this. I mean, I don't know how you two feel about it. But to me, 'pycon' and similar events, that's like my geek holiday that I get away. And I get to learn stuff and make professional connections. But I also get to see all my friends from all around the world and just share stories and have a beer with them when I would just never otherwise see them.

03:47 Yeah, I was just talking about this recently, of course, missing 'PyCon' in person. But I think what I learned, for me at least the hack of

03:47 'PyCon', which was realizing that all the great talks were online, and there was still a few that I would go to, but where all the real value for me at PyCon was was talking to people, the hallway conversations, the energy and the synergy of ideas. Oh, you're you're looking into that I'm looking into this. Look how that stuff goes together. So that to me was really the value of

03:47 'PyCon' in person. Yeah,

04:24 I totally agree. That's why I would go as well. My best part is walking down the hallway with Barry and watching 1000s of people come up and say, Oh my god, I

04:33 love you so much. No.

04:37 Just I mean, every continent Barry is love. And I'm not. This is not my normal BS. This is actually literally true,

04:46 like real BS

04:49 Yeah, that's fantastic. You

04:50 know, it's really funny because walking around with Guido and Guido is the rock star of the Python community in a lot of ways, of course, and I always felt like I was playing my bass player role in Python two was great. You know? Yeah, I'm just back here doing my day.

05:07 That's perfect. That's exactly right. Yeah. Beautiful supporting role right there. Yeah, exactly. So Fantastic. Well, we're gonna get back to these conferences and these get togethers, I know we will. And I'm even going to try to get the most out of the online events, like I register for 'PyCon', and I'm looking forward to it. I'm going to try to make the most of it. Now, before we get into the main topic. Maybe you guys could tell everyone a little bit about yourself. Barry had to get into programming in Python. Oh, well,

05:32 I got into Python. In 1994, I had just been hired at 'CNRI'. And we were starting at this project called the 'No bot programming environment' or something like that. Okay,

05:47 what was that

05:48 these were little software agents that were supposed to travel around the internet and get a little bit of information here, package themselves up, move over there, do some action over here and move around to a bunch of different nodes. This was an important part of the 'CNRI' Digital Library initiative at the time. And Roger Massey, who was my colleague at 'CNRI'. We were using a 'NeXTSTEP', an 'Objective-C' and sort of doing that. And then I had worked at the National Institute of Standards and Technology earlier in my career, and I still had friends there. And one of the Friends of course, Paul knows 'Ken manheimer', who is the unsung hero for where Python is because he's, he crops up in so many places.

06:33 Every 'Emacs',or 'C' file on the internet goes back to Ken.

06:39 Exactly. I haven't talked to Ken in a long time, but I hope he's doing well. Because Ken's a great guy. So Ken was still at 'CNRI'. And he forward to me an email saying, hey, let's Dutch guys coming over to talk about this language that he created. He's bringing a crazy language with no semicolons. Exactly, exactly. So we kind of pulled down Python at the time and played with it. And this is pretty interesting. So it's close to where we lived. So we just cruised up to Gaithersburg, Maryland and spent three days at the first workshop which of course Paul was at as well, you can talk about his experience. And we just like totally fell in love with Python really resonated with Guido and what he was doing with the language. And long story short, ended up hiring Guido and bringing them over to the states and Oh, fantastic.

07:32 Work with him at 'CNRI'. for eight years,

07:34 I think now an important part of the story. Barry is 'CNRI' meant something. Yeah, this kind of viewed itself, I think viewed itself as kind of the steward of the internet. Well, of course,

07:45 'CNRI' was run by Robert Kahn and Vint Cerf at the time, and ran the 'IETF' meetings, which of course, are all the internet, yes, internet RFCs, and things like that. So animals are not for profit research shops. So it really was kind of well positioned to be pythons home for all those years, because there wasn't any sort of commercial aspect to it was all not for profit. And it was really Python was a really good piece of technology, I think. And I think 'CNRI' was a really good home for Python. For many of those years. Yeah,

08:18 it was a good breath of fresh air in terms of compared to C at the time where this fledgling Java thing that some company made up. Yeah,

08:25 a comment I was gonna make on that is Mary and I give this talk python 99. For we wear our shirts, we did our shirts tonight. Although, and each time I kind of learned I see I learn a little bit more.

08:37 I love it.

08:38 level of Python.

08:42 From Python,

08:43 I'm sure you have every shirt. Yeah, but there's kind of this. It's a narrow run thing, the sequence of dominoes, and the fact that you were at 'CNRI'. And then 'CNRI' was a place to go if it would have been some other place. Who knows if you wouldn't have been at nest before you land at cnri. In the Michael McClay connection, it's at nest. Who knows. So that's an interesting point.

09:06 As much as you try to plan your life out and guide it in directions. These little happenstance experiences are sometimes the biggest pulls. And you know,

09:13 it comes out to California a few months before I joined 'CNRI' and I interviewed with a company called 'Lucid' I don't know how many people remember 'Lucid', but oh yeah, they had this nice 'Compiler' suite. And they were using 'Emacs'. They had a fork of Emacs that they were using as their UI. And that was a version of Emacs that I was using at the time. So I came out here interviewed and ended up not moving out here, which was also another one of those fortuitous events in in my life certainly because then just a couple months later, I ended up at 'CNRI' and then a few months after that met Guido and just took off from there so you just never know.

09:52 Yeah, and that's such an interesting time. You know, Paul talked about being like the shepherd of the internet right? 1994 Well, a year before, that's when The graphical web HTTP whole, that whole story came around. I remember seeing 'MOSAIC' the first time and just seeing what the web was. And I was supposed to go to like a physics class or something like an evening physics lecture. And I'm just like, I'm just giving my class I cannot believe this is a real thing. I had been on 'Gopher' and 'Archie' and all of these things and 'Telnet' I'm like, I'm seeing like, entirely new world. I was so powerful to me to see that. So like, that's like, in the same time that all this is happening.

10:27 Yeah. It was a pretty magical time, I think.

10:30 Yeah, it was. It absolutely was. Let me just highlight a couple things. Real quick. Before we move off your introduction. You were interviewed as part of this really interesting story. Python is eating the world how one developer side project became the hottest programming language on the planet. So that was a really cool article. I

10:44 remember that. And then a barry. You look good in that photo, man.

10:47 Yeah. It's calling does. And then another thing that was really interesting was the pep eight song that Leon santoy recently released came out and I was like, Oh, what a cool, clever idea. And then I realized today that you wrote and recorded the 'Zen of Python' as a song. Yeah, just nine months, at least you published it to soundcloud nine months ago. That's a really cool song. I'll share the link with people so they can check that out for sure.

11:13 Yeah, and there is a I did like a quote unquote, lyric video, where I had basically did an iMovie I took that soundtrack, and I put the Zen of Python lyric, you know, yeah, I call them lyrics. But which I think we have to

11:26 get a lot of credit. Other people call it import this or something like that.

11:29 Yeah, import this, which, of course, comes from Tim Peters, who's even predates me in the Python land. And Paul, too, I guess. I think Tim was involved in Python almost from the beginning. And he was, of course, our colleague. Yes. We were in Python labs, and so on, so forth. So. And Tim wrote the Zen of Python. It's really neat.

11:51 I think that's a interesting set of principles there. All right, Paul, how about you?

11:55 This is the How do I get into Python? Question?

11:57 Yeah, maybe programming? I mean, you told the story a bit before, but where did you get into this whole programming thing,

12:01 cool program at school, where we had a lab that had a bunch of stuff, the Commodore pets, the RS80. But the one that really stuck out to me was the DEC teletype connected to a mainframe at the University. 200 miles away,

12:18 you probably didn't even have to log in to connect to it. Right?

12:21 Exactly. Yeah, you start time and man.

12:23 Exactly. You just connect. I got my import. We're good.

12:26 Yeah. And so a modem. And what freaked me out was this modem is connected to the mini computer or mainframe or whatever. But if you called this phone number, this phone from this phone five feet away, it was a long distance call.

12:43 What's going on with that?

12:47 This portion of talk Python is brought to you by 'Square'. Do you run or want to build a web application that sells products or services. Building a successful online business is the stuff that dreams are made of. But accepting payments and handling credit cards with all the various regulations is a common stumbling block. But not with 'Squares payment API', or 'square your Python web app' can easily take payments, you'll seamlessly be able to accept debit and credit cards as well as square gift cards. Let your users pay with their digital wallets square works with Apple Pay, Google pay and masterpass. All in one go. Your API includes PCI compliance, end to end encryption, dispute management and fraud detection. Build your online payment form in three steps with 'Square payment SDK's. Step one, create a new square API application. Step two, add squares payment form to your checkout flow. Step three. Use squares API to charge the card to get started building your business on square just visit talk python.fm/square or click the link in your podcast player show notes that talk python.fm/square. And that used to matter that's also forgot, right? It was expensive. You're like oh, there's this really sweet BBs that's got this information I want but it's in another state so we can only talk to it sure for so long and better hope you got 9600 baud, not 300 baud or whatever, you're going to get crazy.

14:06 Briefly. My Python origin story is the Navy officer working in Pensacola for a great guy named Jim Glenn 93. We did 'www.navy.mil' a source of infinite funny stories some of them true and there was a scripting you know is pre CGI but the same idea you for standard out standard in in some of the people were writing their 'web server' stuff 'dynamic stuff' and see not going to do that some were doing it in 'Bash', not going to do that. So 'Perl' had this vivid memory this story is true, vivid memory of going to the bookstore going to the computer shelf, it wasn't a section getting the 'Perl' book. I can remember where I was stand like, Huh, Mm hmm. Oh, hell no. Put it back on the shelf. And there was this downloadable tutorial for this thing called Python. And it was a scripting language but within reach for me in damn if that thing wasn't written for my brain, it was like perfectly the entrance for me into this. That's awesome. Yeah, I

15:11 think a lot of people Python connects right away.

15:13 Yeah,

15:14 it depends on your history. If you've been writing c languages for a long time, you have to sort of break the paradigm. Right. But you'll get there.

15:21 It's funny that Paul talks about 'Perl', because I'll have the classic 'Perl' book, and I was into 'Perl' and tickle. And I know this is the camel book, you want to ask about this, the camel book, and it was totally dog eared and spine was destroyed. And because I could never keep 'Perl' in my head. And I think I have the first Python book and it's like pristine, because ice. Python just kind of gets in your head.

15:47 That's exactly true. Yeah,

15:49 yeah, exactly. That's awesome. All right. Before we move off here, Introduction posh wanna give a quick shout out to two things that you and I did recently. That was fun. People might also like so you and I did when I got my Apple Mac Mini in one back in December, you and I did a nice walk through sort of exploration like, Well, can you? How does Python work over here? Can you run 'Jupyter' Notebooks? What's the 'Repple'? Like it just we compared a bunch of stuff. And that was a whole lot of fun. So I'll link to that as well as we also did a over at 'JetBrains'. where you work, we did a cool webcast. So let's build a fast modern Python API with 'FastAPI'. And we just built that out.

16:24 If I may say, Michael set the all time JetBrains record for webinar attendance. It lasted one month, but you held it for a month. Hey,

16:33 that's awesome. So cool. Thanks for having me over there. But now I want to take you all on a journey. I want to start you to take us on a journey. Check this out. Oh, guys, remember that?

16:44 Oh, yeah.

16:45 PSA. All right, do what we have on the screen here, folks, is I couldn't get any earlier than 1997, but is the 1997 'python.org'. And it's got the original Python logo, which is like one of those lightboard type things. And it talks about what Python is. So Python is this interpreted interactive, object oriented extensible programming language. And it provides an extraordinary combination of clarity and versatility. It is free. It runs on Unix, PC, Macintosh and others, and is really interesting that describes itself as free and non proprietary. Right, like even it almost predates this kind of Zen of open source side. It's just really built this thing. He doesn't want to be corporate and want to be commercial. How can we build as a community but so he was really blazing that trail? Right? It's pretty funny.

17:31 I see the six international Python conference there and 'Grails'

17:35 That's the story. That is a story that's an episode.

17:39 Oh, yeah. The final version of 'Grails 0.3' is out. Incredible. What's Grail

17:45 Grail was a completely Python based web browser. Okay, that I think it was written, we use 'TCL TK' to render that interesting story there, at least the way I remember it. So it could all be lies. Who knows? Well, was kind of fit in with this notion of these software agents. Because we had this idea. I think it was around the time of sort of Java in the browser. But I don't remember exactly the timing.

18:15 General magic was the ones that were really pushing the mobile code thing and Asians.

18:20 Yeah, so the, the idea was, we wanted to be able to run Python in the browser, right. And Bob had come the way I remember it, at least Bob had sort of had this idea about the same time, and came to Guido and myself and the team and said, wouldn't this be a great thing if we had Python running in the browser? And Guido was pretty much like, yeah, you want to see it? He had already done it. Right. So awesome. right about the time Java in the browser was happening, you know, Python in the browser was working. So that's what Grail was.

18:51 Wow, how interesting. I think that even predates JavaScript.

18:54 Yeah, I think it does. Actually.

18:56 I think that's 97 or something like that. I can't remember exactly. But yeah. Oh, interesting.

19:00 I can't tell you how much time I wasted trying to get tables working in 'TCL/ TK' inside of

19:07 a layout engine and TCL/ TK.

19:09 Yeah. Oh, my goodness is brutal. Yeah. Okay.

19:13 couple of thoughts on what you guys are saying. JOHN Sheehan says just fits in my brain is probably the most quoted reason people like Python. And Jessica's pretty impressive the age of this page. Yeah, that's like, thinking about how easy it used to be to do web design. You're like, okay, I can bold that section. And we'll put a horizontal line like, wow, you're a designer. That's incredible. He was so bad. It was so bad that it was like this opportunity. Really, really, really interesting. So let's jump back there. What other we talked about some of these technologies, 'Perl' and 'TCL/TK' and so on. And the reason you guys chose 1994 is this is when the first 'Python' conference or workshop happened, right? You kind of partially mentioned that before. Yeah,

19:53 yeah, that's I mean, that's certainly when I met Paul and Jim Fulton, and a lot of you skip mountain narrow at The time Stephen majesky

20:02 right? Yeah, Robin Friedrich, we can go through the names and Robin Friedrich.

20:07 Yeah, I think there was only 20 of us at that workshop.

20:10 Yeah, that's what I was gonna ask, you know, I go to 'PyCon' and it's selling out the Cleveland Convention Center. And who knows what it would have done a Pittsburgh if that ever happened. But it's a really big gathering. Like, my voice is gone. My legs are tired from walking. And maybe it takes me multiple days to get through the expo floor. Right. probably wasn't like that in the first one. Right? It was no,

20:29 I mean, I joke about it. When we heard we had room for 20. People were like, wow, what were we gonna do with all this room? Now in this close, yeah, windowless office building in Gaithersburg, Maryland. out

20:44 Yeah, we had people. I won't mention any names. But there was at least one person who I can think of who said, You can't even mention that I'm here that we use Python, because I know who that is. Because it's a competitive advantage, right? Like interesting was just like the fact that they were using Python was a secret. So times have really,

21:07 but it's kind of an important point that Barry and I try and talk about in the talk is, what was it like? Did you know that we know then it was a thing? Are there things from later in Python that you can trace back to that origin story? It's kind of an interesting thought exercise. You don't want to romanticize the past. But at the same time, I think Barry, you and I have kind of a similar impression about kind of how things went down there. Yeah, I

21:32 mean, again, it's all these little lucky changes, twists and turns in life and technology and things like that. But I think it's really clear on the end, I did a talk in 2018. For Bay piggies, which is the Bay Area. And I went back and I tried to download as many versions of Python, I couldn't build a single one of them on any like modern OS without changes. Wow. But I went through like all the change logs and the What's New and things like that. And you can really trace the history of the language all the way through, you can see the thread from even before I you know, I think it was like version 0.91 is the first one you can pull down and you can really see how Guido's vision for the language that he wanted to put out there is still alive today. It's still really even through Python3 to the 'Type hinting' any new feature, you want to talk about the flavor the sense of Python still? Yeah,

22:32 it's a It feels really continuous. One of the similar thought pass, I could go down or analogies I like to draw as well. JavaScript came along and did some stuff. And then they said, well, let's add things like 'TypeHints. And they and 'Async'. And let's make this 'TypeScript' language. In my experience going down that path was Oh, JavaScript kind of easy. Why is it so complicated? Now there's all these like dependencies and other libraries and libraries of libraries and left padding things and, and then it got to TypeScript. And I'm like, this is a really frustrating addition, because 80% of the time is like, Wow, what a cool addition, oh, wait, this thing I need to use doesn't have some right type definition. So I can't How come it won't let me use this thing? And somehow Python has managed to grow through the years with those types of additions without going like, oh, why does it hate me now? Like, why do I have to fight it so much? You know, it just it's you can kind of actually, I think more broadly, this is like a really powerful aspect of Python, is that you can use and understand and take as little or as much of it as makes sense for you like you can be super effective with a very partial understanding of Python, right? I know how to import modules call some cool function, I didn't have to write a method, I just put these 10 lines in here. And look what amazing thing I did, where so many languages don't do that. And I think that that's a really powerful aspect that it has these cool features, but they're not in your face, like a lot of languages.

23:50 Yeah, Paul may have additional thoughts, but I think you're onto something there. Because I've always considered Python, the type of language that really scales with whatever you're trying to do, right? If I'm just gonna throw us you know, I just need a script. I have this. This is kind of a funny thing. I was upgrading one of my machine, my Mac's to Big Sur and I lost all of my notes for like, I use the Notes app religiously. And

24:15 right and it should go through iCloud. But because it's Apple, sometimes it doesn't.

24:19 Yeah, sometimes it just doesn't work. So I actually like did a little bit of searching, found the 'SQLite' database and played around with the schema, try to figure things out. And then I wrote a little Python script 25,30 lines to just like, suck it out of the 'SQLite' database. And I restored all my notes. So even at that level, Python is awesome. But then you can build huge applications in Python, especially with typing 'type hinting'. It just scales, Python just scales with whatever you want to do.

24:50 Yeah, and there's a lot of languages that go to that far end, but you got to start somewhere in the middle, right, you've got to understand nullable optional types. And no, you can't set that to nil because you're just like all that kind of stuff. Right? Eventually you might want that. But you shouldn't have to have it all the time. Yeah. And I think that's the magic. Yeah. My

25:08 comment on that is, I guess one of the last talks I gave was at PyCon Colorado, which was wonderful conference. And I was actually giving Python 1994 there as a keynote. And Ryan, when I got to the part about spam 2 when we first heard of Java, no kidding. Thunder.

25:26 It was like the most

25:28 theatrical thing. Perfect timing.

25:31 Oh,

25:32 you are a dramatic speaker. That was good.

25:36 I got this look on my face, like, okay, you won't believe this. But what they told me was at the meetups, like 70% of the people coming to the Python meetups just came to Python less than a year ago. And if you look at the Python developer survey, which you were talking about in the most recent Python bytes.

25:55 Yeah, I was gonna say there's some companies called 'JetBrains' that did this survey.

25:58 And it's like, 150% of the Python community arrived yesterday. Yeah. And let's face it, where are they coming from data science? And let's face that, why are they coming to Python? Because Michael, what you just said, jump right and start coding. You don't have to eat your vegetables? Yeah, exactly. I'm

26:15 trying to find this for us here and find the exact but

26:18 actually, I will try to tie it back to our alleged agenda, we have an agenda, we're gonna get to it. Who are we fighting in 1994, scripting languages, it was 'Perl' and 'TCL/TK'(Tickle). And then and then and then Python. And we were all lumped into this toy language scripting, and the grownups would come back later and reprogram at all in a serious language and stuff like that. And wow, how did that turn out?

26:43 Yeah,

26:43 I think there's a lot of special stuff about this entry level that is, to me, it feels almost like like a stealth way to capture people's excitement and energy around programming. It's like, Ah, I'm not a programmer. But I've heard that there's some cool libraries for working with whatever I do biology, chemistry, whatever, economics. And if I just import this and do these three lines, like, I'll do something really amazing. I'm probably the person's colleagues, like, while you were wizard, how did you do this? Like? Well, it's like these four lines, right? And they just slowly make it a little better and a little better. They never think of themselves as programmers. And then like, two years later, they're building machine learning, put in production, behind 'Flaskl or 'Fast API', and they're like, how did I get here? Like, I just never even knew I was gonna be here, right. And I think that's the magic is, you just you don't get ejected. It's not like, well, I made it sort of this far. Now. It's time for a grown up language, go learn 'C++' and be real now. Right? Like, that doesn't often happen. Here's the part you're talking about ball

27:34 that, again, the fact that like Python scales, from throwaway scripts to huge applications. It also really scales to the experience of the person using it. So it appeals to non programmers who are just trying to get their other stuff done. Right. And they need to do some programming. But it also somehow also appeals to professional programmers who are building like production, let quality software there's it just resonates with both those audiences.

28:03 Like what was Sam Peters doing before Python? Oh, yeah. Writing compilers for Cray computers. You got a problem harder than that? No.

28:15 Well, one of the things I think is interesting is I was just reminiscing about talking to my moto shimmy, or five years ago about Python in the enterprise and how it was kind of a really interesting story that big companies that were not just tech giants, but Orin like insurance companies and stuff. And I use that in a positive sense right now. They were also using Python in really interesting ways. Like Bank of America has like a Python project with 5000, Python developers and millions of lines of code. And like that kind of stuff is, I think, at least when I would talk to people, it felt like that was noteworthy to have those conversations five years ago. And now it's just like, Well, yeah, we are like what, who would not think it'd be insane not to this, most companies at least have like a data science wing or something that's all about Python project that from 1994. Forward, like, how did that feel to see it that way now, and what was the perspective back then,

29:01 again, this is I think, the magic secret sauce of Python, right back then it was CGI and web programming and things like that. And Python was perfectly suited for that. And now we're Fast Forward 30 years or about and the domains that are sort of the hot things that everybody needs to be able to do Python just as valuable. It's just, it just adapts to that environment. This portion

29:27 of talk Python to me is sponsored by 'Linode'. Simplify your infrastructure and cut your cloud bills in half with the 'Linodes' Linux virtual machines, develop, deploy and scale your modern applications faster and easier. Whether you're developing a personal project or managing large workloads, you deserve simple, affordable and accessible cloud computing solutions. As listeners of talk Python to me, you'll get a $100 free credit. You can find all the details at talk python.fm/linode. 'Linode' has data centers around the world with the same simple and consistent pricing regardless of location. Just Use the data center that's nearest to your users, you also receive 24/7, 365 human support with no tears or handoffs, regardless of your plan size. You can choose shared and dedicated compute instances. Or you can use your $100 in credit on s3, compatible object storage, Managed Kubernetes, 'Clusters', and more. If it runs on Linux, it runs on the node, visit, talk python.fm/linode. Or click the link in your show notes, then click that create free account button to get started. A lot of surprising things are Python first now like a lot of the ML stuff, which sounds computationally insanely heavy, is still Python first, because that's the way people want to talk to it. Who cares how it's got to get over to the GPUs, or whatever? Exactly. I even saw that that little helicopter rover thing flying around Mars had a little bit of Python involved in it. As far as I can tell, though, the system that they're using, I went to the GitHub repository and poked around people like pythons on Mars pythons on Mars, I'm like, Alright, well, let's see some details. As far as I can tell, Python was used to train the models on there, but I don't know that it's executed. There's a bunch of c++ code. And I suspect that's what's actually executing the stuff that was trained up. But still pretty interesting that it was part of the story. Probably. Yeah. So the things that we talked about now, the GIL(Global Interpreter Lock), 'Async', and 'Await', 'Pipenvs', 'Web stuff', 'Machine Learning', it does a lot of those things. Maybe the 'GIL' was worth was really on the radar then. But a lot of stuff like type hints and an ml and whatnot are fairly new, I suspect. But what kind of things did you all talk about back in 94,95? so on, and what was the important stuff that you had to work out? Then

31:33 the things I remember from the first workshop? Were the Don beaudry 'Meta class Hook',

31:39 that was going to be my answer.

31:41 Did I steal your thunder? Sorry, go ahead.

31:45 No, hit it. Just don't make a mess of it.

31:48 The funny thing was, I had just started getting into Python. So like a lot of that kind of went over my head, I didn't really quite understand because I hadn't looked at the details of like the implementation of the

31:48 'Object Model' and things like that. At the time. I didn't really understand completely, I sort of understood 'Meta-Programming' a little bit, but I didn't quite get what Don and Guido were talking about at the time. And I think Jim was involved Jim Fulton as well, because he had, I guess you guys were sort of thinking about 'Zope', or whatever the precursor to 'Zope' was, and he was thinking about 'Meta-Programming' for that.

32:21 Yeah, it's weird. I think it was because a Fortran for all, whatever reason, interfacing Fortran and Python, I might have that wrong. But Don Beaudry Okay, so I'm onlining a little bit. Yeah, at that workshop, some of the things you were just saying, You can't like Barry hinted at before you can trace back to that workshop. Yeah. And some of the problems that needed to be solved there, the things I worked on, were none of those. But I observed the useful stuff. And 'C Extensions' is everything that Barry was just talking about, it happens to be the tip of the iceberg on why Python has this sudden resurgence because, you know, 'NumPy' is all under the water in 'C', but back then it was a mess. And I'm using that as a joke, because Don beaudry his extension ideas and software were called mess. Then Jim came back later with extension class that kind of formalize that this is kind of gives Genesis to when you briefly in Python to use to import from object or sometimes sorry, subclass from object to kind of get new style objects and stuff like that. That's a little remnant from I think a little bit from those days,

33:24 that was more like a Python two thing where the new, like, we had classic classes, which were the old style class hierarchy, and then the new style classes, they live together, you know, until Python3, obviously, and you had to basically like inherit from 'Object' or set your 'Metaclass' 'Dunder meta' class attribute to do

33:46 it. But the point is, back in those days, interfacing with the big policy code was such a big deal, because we were the kid little toy scripting language, right? And it's just so interesting to me that we went through a phase of outgrowing that and you have these enormous systems that are mostly the waters being carried in Python. Now back to the cheap value proposition is run that crap on the GPU and let the programmers hang out in Python, right, or

34:13 some distributed grid computing or I don't want to know where just run it in a low level thing. And I want to talk to it in this simple, clean API. Yeah.

34:22 Yeah. The irony, of course, I think is that in a lot of ways, 'C API' is holding us back now.

34:28 Sure.

34:30 Yeah. Yeah, to be honest with you, you know, there, you want to change the memory management model to be more GC(garbage collector) or do a JIT (just-in-time). It's all easy, except for those little pointers you passed off. Who knows what happens now? right?

34:40 Exactly, and the 'Macros' that are used to access 'Tuples', and so on and so forth. References, those are all issues that are holding back I think, I mean, that's sort of the way I think about it is there's nothing wrong with Python the language today that would prevent it from being the language of choice 30 years from now, but we're also dealing with the 'C Python Interpreter' is a 30 year old VM. And we've learned a thing or two about like how to write, you know, iperformance VMs. In that time, and getting the C Python implementation modernized to the point where we can do things like potentially remove the 'GIL' or adopted 'GC', or all those kinds of things that we want to do, we have to now deal with 30 years of backwards compatibility. And that's a difficult problem to go the technical and a social problem to overcome how we're older than Java. Yeah,

35:35 yeah. Well, the other thing I think, very, that is makes that really significant is there's the technical problem, I think, honestly, you could say, we're gonna just change the way it works. And the important stuffs gonna get upgraded, and the stuff that hasn't been touched for five years, it's just gonna have to run on the old thing. And we could just move forward, right? That would be fine. But I look at the difference between Python2 and Python 3, and they seem really small to me right a little bit with strings and bytes, little bit on classes, a few things. And that was, I was existentially bad that that that disjoint, eight year period where the core developers working on one thing, and so many other people were like, well, we're not going to touch that thing. We're just gonna work on it. That was not a good deal. And the types of changes that you're talking about, wow, maybe awesome. They seem more significant than that, at least. And I suspect that people, at least for a while, are not willing to stomach another round of that. What do you think

36:25 I actually, I think, if there ever will, is a Python4 and I kind of doubt the will be a Python4 I think it's not going to be at the Python level, to the extent that it's possible to like, for example, remove the 'GIL' and not require Python level changes, which is still questionable. But it's all going to be at the 'C API' at the 'CFFI' sort of level, right? It's going to be the things that Python integrates with that are going to change significantly. And I think that's if I had my magic hat on with $10 million. And you know, I don't know, you've got a few 10s of people to work on it. That's what I would do.

36:58 Yeah, you could change the way it runs without changing the language whatsoever. Right? That would be totally fine.

37:04 Yeah. And I don't think there's any magic, like if I talk to people who have worked on JavaScript, VMs or other VMs, like we know what to do, there's no magical thing that we have to go figure out. This has all been done over and over again. Not that I couldn't do it. But you know, experts in building VMs could certainly do it. But it's managing that that I think the social side, like what do you do about 'NumPy'? And all the 'C Extensions' that are out there?

37:30 That's a big ask Eric snows effort was 'Sub interpreters' is kind of generated a lot of what about 'NumPy'?

37:39 Oh, really? Okay. Yeah, that's one of the attempts to not remove the GIL, not a 'GIL'ectomy. But a let's just have many GIL's, and they can all coexist. Right? Right. Yeah. So just sort of on this historical, like, broad picture kind of journey we're on. You mentioned, like, very, you mentioned, JavaScript, jets, and VMs. Does it surprise you guys, what has happened with JavaScript and its performance and stuff, this thing that just random web browsers, and now it's, they've gotten it to perform reasonably well? And to me, I just never saw that little thing going where it's ended up either.

38:11 Yeah, I don't know. I it doesn't really surprise me too much. Because I think Paul probably understands this, you know, like, languages are a lot like editors, right? Like there's a religious part or not, maybe not religious. But there's a there's an emotional tribalism. Yeah, tribalism with it, that's a great or emotional connection to it. People love Python, and they want to use it. And that gets them into that world. There's a lot of people whose first real experience with programming is sort of web technologies, JavaScript, CSS, HTML, things like that,

38:45 especially in the boot camp side of things these days, they've all seemed to have really, really glommed on to that almost, I think, to a detriment for folks, but I think generate too many just front end developers and not like broad skilled, folks. But anyway, let's decide. Sorry,

38:59 yeah. So people are that's young people come in, and they learn JavaScript, and they enjoy it. And they can get see the results immediately in their browser and do really cool things. And so I think it's a natural progression to want to be able to take that environment or that experience and move it into other domains. And some, you know, JavaScript seems to be pretty valuable about that.

39:20 So what about having one of the value propositions in the JavaScript world is it's JavaScript all the way down? Could it be Python all the way down? Right, like in the reverse direction, sort of? What do you guys think of the opportunity of webassembly? And that sort of like expand the places that Python is happy?

39:37 Yeah. All you want to Sure. And I know you did a podcast with Brett about this at the last 'PyCon'.

39:45 Yeah. And we did a live one Exactly. We talked about the opportunity of 'RUST' and 'Webassembly' for that. Yeah, I mean to kind of go together a little.

39:52 So in theory, that should be like pythons big chance to kind of because Python i and this is the My Little passion project. On the weekends about Python in the modern web and pythons web story, and there's a lot of hope misplaced, in my opinion on lasme is a silver bullet for Python, heavy lift to kind of get there and the destination probably won't be what you think. But at the same time, it has opportunities that I don't think we quite understand and appreciate from a platform that we could benefit even on the server side, even on the mobile side to be not just producers of lasme. But consumers of lasme.

40:31 Yeah, and there's a really cool Python library that will let you interact with any wasum language. Yes, I forgot what it's called. But it's not in the browser. It's just locally. Sure, right? Yep, I'm going to get some lasme library that can be written in C, it can be written in Java, whenever it compiles down to that 'RUST'. And then I'm going to use that in Python.

40:50 I'm glad you're bringing up and I and it's nice to tie it in a way to 1994. Because I do care a lot about Python and the web. And I worry, I give talks about Python and the Modern web. But it's interesting a name we didn't mention kind of along your lines of JavaScript kind of eating the world. And maybe Michael Kennedy's talk JavaScript to me coming to a theater near you sometimes. And the one that came out of nowhere and ate the world in the first third of Python was PHP, oh, yeah. And it should have run off, it should have hit its ceiling. And maybe a little bit like x86, maybe a little bit like JavaScript, maybe like a whole bunch of other things that should have jumped the shark. There were plenty of sharks left to jump in PHP got bigger and bigger and bigger and bigger and was being used for things that never should have been used for, because the law of large numbers, and we just got to be worried about the law of large numbers with JavaScript as well.

41:52 Yeah, for sure. Gotcha. And says transcript transcript?

41:56 Yes, I have for my little secret project actually originated with generating some transcripts from Python side components.

42:05 Yeah, a world that I would love to see is like, the reason that JavaScript is so popular is it's an non-avoidable requirement, because it's the thing that all the browsers ship with that have a runtime with web assembly. It's totally simple to compile 'C''Python' over there. There's things that don't work. And there's maybe some edges you got to fix. Probably also for the 'JVM', probably also for the '.net' runtime, like all these runtimes, they could be put into this forum. If the browser's which ship language runtimes. If they would just go our browser includes , C Python includes '.net' includes 'Java' Oh, it also includes JavaScript like that would just change the game. But because every alternative is like, well, you need a 20 meg download? Well, that's a different I Oh, that's not gonna work, right? The browser, people could decide there's only two of them left in the world, maybe three if you count Safari, but I really, it's Chrome, and then Firefox and a little Safari, it wouldn't be that hard to say, let's try to make some of these other languages available as runtimes through web assembly. We already do web assembly, just ship the binary and we'll be good to go. I would love to see that. But I'm not seeing any movement.

43:07 Yeah, Barry has a story about JavaScript and Python.

43:10 It's funny, you mentioned that because I was gonna say that, but I have since learned that it's not absolutely true.

43:17 So I'm gonna skip that one.

43:19 I was watching Brendan Eich podcast, and I was waiting for him to say it and he didn't. So

43:24 yeah, I have a colleague at LinkedIn who kind of hooked me not directly up with Brendan, but I was like, I was like, sure. Am I miss remembering this story? And yeah, it's kind of true. I was miss remembering the story. So

43:36 I like your story. That's great story.

43:38 It wasn't great. It was a great story wasn't true.

43:43 rjL out there says that'd be a great idea. Michael would have what's stopping Google and Firefox from doing that market forces? Well, I mean, to be fair, Microsoft has created this thing called 'Blazor' that put the '.net' runtime in there, you just got to download it right. So I would not actually be surprised to see that ship with edge at some point. But that idea across at least let I think JavaScript is fine, but let's let it compete on fair playing ground, right, like where the other languages could possibly even be an option. So that would be fantastic. For everyone, I think. And with 'WebAssembly', there's some interrupts. So who knows, looking looking forward like you guys just astonished that that group of 20 people 1994 worked on this project. And then you get articles like that, that tech one that I had about Python is eating the world of a software sort of thing. Like these are really big gaps. Did you guys ever imagine that you were onto a flame that would burn so bright?

44:32 Yeah, it's this is where you and I talked about this kind of in the closing a little bit. And it's related to the why how did Python get to where it got to what were the ingredients? Could you trace it back to then and when we gave the talk the first time at the keynote panel at 'PyCon'. Jim Fulton actually brought this up that people talking about the Python community being so kind and human and it's because Guido's kind of human and so kind Put into the DNA back to 1994 was a person and a group of people around who valued those kinds of things at a time when other language communities had a bad reputation for those kinds of things. Barry, you want to expand on that?

45:16 I think it was Brett cannon who coined the term I came for the language and stayed for the community. And that is so true. I mean, my closest friends and in many ways, I mean, Guido, actually lives not far from me now. And I love just kind of getting together with him. And a lot of times we don't even talk about Python, you know, I mean, I have some of my really valued friends I've met through Python. So it's, I think it does come down to Guido's leadership as far as personality and the kind of community that he helped foster. It feels very inclusive and very positive and like empowering to people. And I just really think that that the community has done as much as the language to sort of build Python to where it is today.

46:03 Mike, I'll try and get back to your question a little bit with a little bit of an anecdote. All right. My role in the play was never technical, but I brought I make coffee for those smart people. And I would do some of the organization stuff like the PSA NPSF with Greg Stein. And then I went away for a while and lived in Europe and go to PyCons came back in damn if Capital One didn't have a booth at PyCon. Yeah, that blew me away back when we had spam1 spam2 spam3 this list of workshop to think that would be an outcome and that these like really serious major players felt like, wow, we got to go do this is just astonishing to me.

46:47 Yeah. For me as well. And I'm, I'm thinking back to the job, bear that was the 2020 Hp icon in walking around there. You just so many people are like, yeah, we're hiring. We're building these Python teams to build our software. And somewhere, you know, the usual suspects, but many of them were not many of them were like you said, like Capital One type of places you like you guys are doing this. And that's

47:08 Deloitte. I mean, really? Wow.

47:10 Yeah, yeah, super interesting. And I feel like the sentiment has shifted a little bit, it used to be like, all these corporate entities are gonna come in and like muck up our culture, and like break, they're gonna be somewhat corrupting influences. And I feel like, I don't really see that that's happened so much. So I'm happy for that. I feel like if anything, it's been a supporting type of thing to have this much opportunity in this ecosystem.

47:32 And something I'll add to that is, as much as we cherish Python, the language, a, perhaps not equal achievement, but an important achievement as the PSF. And it's under appreciated because Barry and I were responsible for the failed predecessor, Python software activity, these things require a number of ingredients, and they require heroes, and in the middle third of Python, PSF and PyCon emerged. And these are important achievements.

48:03 Yeah, many people are probably aware, but I suspect many are not who are listening how important 'PyCon' is for funding the PSF. In general, right. That's the vast majority of their income is through that. And honestly, it was a big scare what's going to happen when COVID hit, they've waited to the very last minute to cancel 'PyCon' when the writing was clearly on the wall that people cannot go there. But it's like, well, we got to just figure out all the finances right? It was a big deal, right?

48:29 Yeah, huge. And let me echo Paul, because the PSF. And the folks, Eva, and he and all the people who are involved in the PSF, I can't even go through all the names. They do such great work and important work for the Python ecosystem in the Python community. And kudos to every single one of them, because they're just fantastic people. And it's a great organization. And the PSF is not only supports what Python is today, but it really looks ahead, you know, so, like on the steering Council, we work very closely with the PSF to try to understand, you know, how can we utilize the PSF to help fund important work, for example, that Python, the language or C Python, the implementation really needs? So that's a great partnership. I think that's kind of built up over the years.

49:18 Yeah. And there was just a big announcement that Google became the first visionary sponsor of the PSF, which is like $390,000 a year or something like that, and hiring a core developer and residents, huge development. So yeah, that's, that's another sign of big support. Come along,

49:34 maybe to close out this topic. If anybody out there has concerns about the PSF or like, really deep seated problems with it. And you see me and Barry, sometime get us to tell you about the Python. You'll feel a lot better.

49:50 Yeah, that's good.

49:51 So on our little screenshare here, I put up the new Python the latest 'python.org' compared to the 1997 one, I just occurred to me one thing that I I went years without knowing is there's this little prompt looking icon right on the homepage. If you click that it Oh, anymore. Oh my goodness, live demos,

50:09 man. Yeah, I

50:11 guess it doesn't work right now maybe the Python, folks just have a look at it. Yeah, probably.

50:16 I'll get on the Slack channel.

50:17 And yeah, but I was really surprised you go there and click and then just open up the Python repple I think running in Python anywhere generally, though. Yeah, very interesting.

50:27 It's a cool service they've done for the community for that.

50:29 Yeah, it's very easy to just kind of get started because, you know, tracing that sort of very partial understanding of Python, what comes with that is also a partial understanding of Linux, a partial understanding of servers, partial understanding of 'SSH parcel', like all these tools that you become so familiar with weave this stuff together. In the beginning, it's these are major roadblocks. You're like, how am I going to do this thing? Like there's the steps I need to learn and, and services like that, that make it real easy and welcoming? Are are pretty awesome, too. Let's round out our conversation. With two quick thoughts. One from both you guys. You're probably seeing some really big opportunities that the Python ecosystem can take advantage of and grow around. And there's probably also some dangers or some threats that we should maybe be aware of, you know, Russell, Keith McGee gave really talk interesting talk about Black Swan events, and Python and so on and stuff like that. So we think opportunities, things we should be worried about or pay attention to.

51:24 There's one that popped in my head and may have been because you mentioned Russell's wonderful Black Swan talk, which was kind of followed in my mind by Lukesh, long as Pilendium talk, which covered some of the same territory. But what I'll talk about instead is the threat that wasn't or else I'll talk about a couple of threats that that weren't if that's okay. Is that cheating? Like, Oh,

51:46 yeah, yeah. No, that's fine. I think that's awesome. history lesson.

51:49 Tell us. Um, I remember going to see Guido when he was still with Google. God, Barry. How long ago? would that have been? Ben? 12,10 years,

51:57 at least? Yeah.

51:59 And even at that time, I was like, it kind of struck me going over to go see him in downtown San Francisco that he was in the process of handing over the reins. How many successful projects, especially open source projects don't outlive the founder? Yeah. True. And he's done wonderfully at that over the years. And, in fact, his participation now appears to be because I want to not because I have to. Yeah, like I'm

52:28 retired. Oh, wait, no, I'm just gonna play around this.

52:31 So that was a threat that wasn't and then another threat that wasn't?

52:35 Yeah, the whole formation of the steering Council on what was going to happen when he retired and his you guys got to figure it out? This is not on me. Indeed,

52:42 indeed, not just figure out who it will be figure out actually what system of governance, you're the ones who got to live in what you come up with? Oh, yeah. Right. Which is a wonderful it humility on his part, he didn't view himself as essential to answering that question.

52:56 And I think he really trusted the community to come up with the right answers. It was a really interesting time. And I do think that the community came together. And you know, we there was lots of discussion about how to do it. And it really, really worked out. And I think that set Python up for this kind of longevity and continued success and continued relevance in technology.

53:19 So then I'll do my other non threat and then finally give you an answer on a threat. Another non threat that didn't happen was peak in right at the time when the peak should have happened. Maybe the first peak should have happened. I'll embury. Please. In fact, I would love Michael to do a show on the actual story behind the story on this, Jessica McKellar in the middle third of Python, the PSF and 'PyCon' as an engine of revenue, and then as an engine of gender diversity, and bringing in a big, new, important, viable lot of vitality audience into Python, then on the way to data science doing the same thing, though, at a time when it should have perhaps been cresting it did a double dip inflection point. Do you want to comment on that? Barry, before I go to an actual threat?

54:11 No. But I think that's one of the wonderful things about the Python community. And it's not just sort of, I mean, it's not just on a gender like it's also getting young people involved. I think that's been a fantastic is to go to 'PyCon' and see kids like secondary school kids and how it's being taught in in colleges. And I've always

54:32 your son and my son went to the young coders on a yap long time ago.

54:38 I have to tell you, I'm super proud because my son is actually he's using Python at work these days. So it's like yes, it's awesome. That's fantastic.

54:46 He's gonna be out earning you pretty soon, Barry.

54:48 Yeah, hopefully.

54:51 Want to help as a parent. Right, exactly.

54:52 So my actual threat will go back to Russell and lukesh and man, I Worry about Python in the web, I worry that what we said is we seeded the user interface to JavaScript frameworks in the browser. And we're perfectly happy just shoving 'REST' and 'JSON' to them. And they might just decide, like, why are we doing this other stuff? We're almost all the way there. Like, let's just on the just go to 'Express note', and we're done. If you're a business decision maker, and you're like, Okay, I've got two teams, why don't we got two teams, and the one I value is the one that puts

55:27 the pixels that are sexy, right? They show me the shiny buttons and bits, yeah. And then

55:32 as this monitor, web stuff kicks in, and website performance really, really, really becomes a thing. And people pre render on the server. So your react components have to be pre rendered on the server, which means you have to run 'React' on the server, and you get run 'React' in 'Python'. So that's one I spent a lot of time thinking about.

55:51 Interesting, right, the pressure to make it not load with empty curly braces, and then pop in all of a sudden, yeah, interesting. Yeah, that's a concern. Yeah,

55:59 I think the other thing that I'll add is Python on mobile, right? Like, everybody's got a phone in their pocket. And Python doesn't have a super great story. They're things like, we have 'MicroPython', which has its place as smart homes as IoT, and all those things become more and more important in our lives. I think Python needs to have a better story for mobile as well. So those are two big challenges.

56:24 Yeah. If you're going to ask me to make that I guess I would have said mobile as well. I think I think the saving grace there maybe is that mobile, so messed up also like there's, it's so tricky. You got these different languages, but they have these weird constraints. And then you've got to go through the app store gatekeeper people and that's real, like, it's less of a straight. It's a more narrow ecosystem. Exactly. But it's also one of the most important ones, right? I mean, it's where the really, really interesting stuff is these days. A couple of comments from the live stream, Robert Robinson says, I'd love to have learned Python in the mid 90s. When I started learning programming, my life would be totally different now. JOHN Sheehan says the item project looks really interesting. Yeah, indeed. All right. Well, those are the the downer sides of things. Paul, one thing I would like to say about the web, I do feel like there's a really interesting resurgence in the Python web frameworks. Now that the Python3 that sort of crossed over and like, let's just take advantage of all the modern Python goodies. And things like 'Fast API, 'Starlette', as well, some other ones like 'Django', 'Ninja' and whatnot are coming along to do interesting things and make it feel really refreshing to do Python and web stuff. And I still think there's interesting things that are happening there that are compelling. Like I was talking to somebody, I can't remember the context. But they had a Django system. And some of the Django views were regular Python, but they actually did some of them in 'Cython' on because they like really high performance requirements. And like, the views were computed in in 'Cython' on which is I mean, these are really interesting use cases that are out there. Alright, really quick, run low on time, opportunities. What do you guys see is the big opportunity?

57:55 That's a great question, because I think it also comes into sort of predicting where technology is going in the next few years. And I don't really know that I can do that. I mean, I've been surprised over and over and over again, in my career. So I, again, I really think it comes down to the appeal of Python, the language. And really one of the things I think we did back in the 'Jython'(JAVA) days when 'J Python' was the thing, and that became 'Jython'. Was he recognized the need to sort of separate the language evolution from the implementation. Now, the reality is, you know, we've had multiple implementations of Python over the years. And, you know, essentially, C, Python is still the most popular version. But it doesn't have to be that way. And I think, I think as big companies have more and more Python, in their ecosystem of technology, I think it becomes more imperative for them to kind of step up and help fund those kind of like, I really think if we could just hit some of those big people, big companies that we talked about, get a million dollars from each of them. And you could do some really incredible stuff with Python.

59:06 Yep. And they would benefit way more than that million dollars.

59:10 Totally. Right.

59:11 Yeah. Especially in Wall Street. You can make their trades one millisecond quicker. Yep. Boom, like that's just like printing money right there. So

59:18 are even more important. What can't they do hire people fast enough. So make your current people more productive?

59:24 Exactly. And there's no reason why it can't be done. Like I said, we have the organization because the PSF is solid and knows how to do this and knows how to manage these projects. Right is a non for profit. So there's no favoritism going on there. That we have the technologists who can make this happen,

59:42 their track record to show that they can do it. Exactly. So

59:45 I think to me, that is the biggest opportunity and if I saw that come together, and it was just some of the things that the PSF and the steering council are trying to put together. So that is so exciting because it could be an amazing 25 years. Well, more Python.

01:00:01 Yeah, absolutely. So I'll throw one out there for you all for while there was this language called Java, you guys talked about it. And that was seemed to be the language of the first year Computer Science Program. When I did computer science, I took a couple classes I my degrees in math, I took a couple computer science classes, and that was scheme unless, which I don't feel was the best option necessarily, but that's what I did. But for a long time, it was Java. I think the big opportunities, so many people are learning Python, from the very beginning that now it's in this place of, well, why not Python instead of why Python, right? If you're already working, you're already comfortable. You've already done projects in it. You've had success, like Well, yeah, I could use other languages. But why not? One thing that I think really is really interesting about this stack overflow trends. I have a bunch of screen shares. Do you notice how there's two humps every year for Java? And a lot of the other ones, they don't have those humps, but Java has two humps a year. Those are fall semester and spring semester? How interesting, interesting.

01:00:58 Yeah,

01:00:58 those humps are going away at the end a little bit. So they're kind of coming into the Python world. I think it's really interesting. I think that's the opportunity is for the community with many fresh and excited young people coming in, much like your survey showed that professional coding experience, the most common option was less than a year for Python developers, right? There's a lot of fresh, exciting people coming in. And I think that's all good.

01:01:22 I'll give an opportunity that's similar to that, which is also non technical, which is people oriented, which is in the most recent Python bytes, Brian, use a clever expression about the long tails getting fatter or something like that i came around, what the context was about the PSF diversity and inclusion Working Group, expanding the footprint of Python in next level markets and populations and groupings of people with passions and interests.

01:01:52 Yep, these are all really super important things. Because Paul and I have been involved in Python for a long time, right, like and as Guido retired as someday, hopefully. Right. And I think it's really important, like I feel the responsibility more and more to help mentor younger people who are coming in to technology in general, but also into the Python community and really nurture that engagement, because that's the energy that's going to propel Python forward. So

01:02:22 am I going to give you a pat on the back, you've become a place to give a voice to the next generation of stars. So kudos to you for that. Thanks, Paul.

01:02:32 Yeah, thank you so much. That's really nice.

01:02:34 Yeah, absolutely.

01:02:35 I think one of the things that I've tried to do is to try to find people that have really interesting stories of like how Python has like massively empowered them, even if they haven't built the most popular open source project, or they don't work at the biggest company. Sometimes that story have nothing to something really powerful, even though not too many people know about. It's really quite amazing. Rachel, that begins the education side. rjL says at our science center, we teach Python to STEM students grades five to eight, it's been very successful. You're the hero. Yeah, man. Awesome.

01:03:03 Wow.

01:03:04 All right, guys, for the sake of time, I'm going to cut our final few questions down to one question each bear, I'm gonna give it to you first, because you're a bit of an unknown. Paul. I'll see if I can guess his answer. If you're going to write some Python code. What editor do you use?

01:03:16 'Emacs'? Sorry.

01:03:20 I expect nothing less.

01:03:23 All right, Paul. Paul, what are you feeling? What are you doing these days?

01:03:26 I have a 'PyCharm'. open right now.

01:03:29 Do you? Awesome. Fantastic. Yeah, I don't have it open now. But I'm loving that you guys built it for the M one is so nice to work with these days. Yeah, very good. I it's a great tool. I think it's, it's really good for helping people get into it. But also like it's scales, scales as well. It's great experience wise,

01:03:44 well to speak for other products as well. We're seeing the rise of smart editors and smart tool chains for Python. I think that's fantastic for everybody in all of us.

01:03:55 Yeah. It's really cool. I mean, I acknowledge my minority status as as an 'Emacs' user, even in like the tech space, like there's many more 'Vim' users. But I can see my colleagues at work, what they use. And it's really fantastic to see, like all the amazing support that these modern editors have for Python.

01:04:16 Yeah, I agree. And they take some of these ideas, like 'Type Hints' and stuff and like, amplify their value.

01:04:21 Yeah. And integration with 'Static Checkers' and 'Linters'. And my 'PY type checkers' and all that kind of stuff is like those are really important tools for the modern Python developer. And it's great to see all that stuff really well integrated.

01:04:35 Yeah. Fantastic. Well, thank you both for being on the show. You want to give a final thought a final comment to the people out there thinking on this historical sort of arc that we've been covering? What do you want? Say

01:04:46 you want to go first, Barry? Sure.

01:04:48 I'll say this. Python is where it is today because of the people who have gotten involved over the years, right. And I talked to some folks who are like, I don't know 'C', so I can't be involved in Python development. No, that's not true. In fact, you don't even need to be a programmer necessarily to be involved in Python development. Everybody is welcome. And everybody's valued. So if you like Python get involved that might be with the PSF. It might be with the language design, whatever it is,

01:05:18 education, maybe even your favorite open source project that's not strictly under C, Python. Exactly,

01:05:24 exactly. All these things are available to anybody. There's no cost other than an internet connection, and, you know, in a browser or an editor or something like that, everybody can get involved. And I really encourage, I encourage everyone to sort of change the mindset of these are the barriers, so therefore I can't get involved to these are the opportunities that I can shine and grow and learn. And so I think it's the people it always comes down to the folks. Yeah,

01:05:54 yeah, that's a great sentiment,

01:05:55 oh, maybe in a similar vein, thinking about 1994 and driving back from girls across practice to come and be on the show. I was thinking about most people in their lives, they'll have something they're really passionate about. But then a decade passes in their life changes, and they have kids or something. And then they got to buy like a red convertible. So they change over to something else. And then their kids move out of the house and their passion changes to something else. So during these decades of their lives, they really latch on to something, believe deeply in it. It's part of their identity. But then they move on. And I think about for burying me in, I get to be on the show with the fluffle. And it's wonderful, friendly language, Uncle for life. That's a good story, too. And I've gone through those three decades. And still, if I was to self assess who I am, what's my identity? Who's my tribe? It's Python on the web. It's still the thing I believe in is how lucky am I? I mean, that's just graceful way to have the years go by.

01:07:02 Yeah, here here at Paul. It's been an amazing journey. That's not over yet, hopefully. And Python gave me a life. It really did. So I'm so grateful to the language the community to Guido to everybody, Paul, everybody that I meet pythons really an amazing that an amazing experience a great ride.

01:07:22 Yeah, one of those types of things. You can wake up and go, Oh, I get to do this. Like I don't.

01:07:26 Yeah,

01:07:28 can you believe I get to this? They're gonna pay me for this. I would have done this for free. That kind of stuff. Yeah, it's fantastic. All right. Well, let's leave it there. Thank you both for being on the show. It's been really great to chat. Michael, thank

01:07:37 you so much.

01:07:38 Thank you for having us.

01:07:39 Yeah, it's been great. This has been another episode of talk Python. To me. Our guest on this episode, we're Barry Warsaw and Paul Everett, and has been brought to you by 'Square' and 'Linode'. With 'Square' your web app can easily take payments seamlessly accept debit and credit cards as well as digital wallet payments. Get started building your own online payment form in three steps with 'Squares Python' SDK at talk python.fm/square. Simplify your infrastructure and cut your club bills in half with 'Linode'. Linux virtual machines develop, deploy and scale your modern applications faster and easier. Visit talk python.fm/linode and click the Create free account button to get started. Want to level up your Python we have one of the largest catalogs of Python video courses over at talk Python. Our content ranges from true beginners to deeply advanced topics like 'Memory' and 'Async'. And best of all, there's not a subscription in sight. Check it out for yourself at 'training.talkpython.fm' Be sure to subscribe to the show, open your favorite podcast app and search for Python. We should be right at the top. You can also find the iTunes feed at /iTunes, the Google Play feed at /play and the direct RSS feed at /RSS on talk python.fm. We're live streaming most of our recordings these days. If you want to be part of the show and have your comments featured on the air, be sure to subscribe to our YouTube channel at 'talk python.fm/youTube'. This is your host Michael Kennedy. Thanks so much for listening. I really appreciate it. Now get out there and write some Python code. I hope you enjoyed that interview with Barry and Paul. Barry. Take us out of here.

01:09:38 Beautiful is better than ugly.

01:09:41 Explicit is better than implicit. Simple is better than complex.

01:09:49 Talks is better than Tom.

01:09:53 Flat is better than nested sparse.

01:09:57 It's better than dense.

01:10:03 readability counts.

01:10:09 special cases are especially love

01:10:15 although practicality

01:10:51 Hello

01:11:35 Good idea.

01:11:39 namespaces

01:11:47 let's do more videos

Back to show page