Learning Library

← Back to Library

Python's Journey: From ABC to Mars

Key Points

  • Python’s simplicity lets beginners grasp programming fundamentals quickly, which helped it spread to virtually every computer‑based field—including AI and even missions like Mars.
  • The language’s roots trace back to the 1980s Dutch research institute CWI, where the ABC project was created to design an easy‑to‑learn, easy‑to‑teach language for non‑technical users.
  • Guido van Rossum, a member of the ABC team, later moved to work on the Amoeba distributed operating system after ABC struggled to gain users because distribution relied on letters and floppy disks and the project was ultimately cancelled.
  • The lessons learned from ABC’s design and its distribution challenges directly influenced the development of Python, which has since become a globally dominant language across industry, academia, and emerging technologies.

Sections

Full Transcript

# Python's Journey: From ABC to Mars **Source:** [https://www.youtube.com/watch?v=GfH4QL4VqJ0](https://www.youtube.com/watch?v=GfH4QL4VqJ0) **Duration:** 01:23:57 ## Summary - Python’s simplicity lets beginners grasp programming fundamentals quickly, which helped it spread to virtually every computer‑based field—including AI and even missions like Mars. - The language’s roots trace back to the 1980s Dutch research institute CWI, where the ABC project was created to design an easy‑to‑learn, easy‑to‑teach language for non‑technical users. - Guido van Rossum, a member of the ABC team, later moved to work on the Amoeba distributed operating system after ABC struggled to gain users because distribution relied on letters and floppy disks and the project was ultimately cancelled. - The lessons learned from ABC’s design and its distribution challenges directly influenced the development of Python, which has since become a globally dominant language across industry, academia, and emerging technologies. ## Sections - [00:00:00](https://www.youtube.com/watch?v=GfH4QL4VqJ0&t=0s) **Python’s Rise From CWI** - The speaker traces Python’s rapid ascent—from its 1980s roots at the Dutch CWI research lab and its accessible syntax—to its pervasive role today in education, industry, and even space exploration, highlighting its impact on critical thinking and AI development. - [00:03:05](https://www.youtube.com/watch?v=GfH4QL4VqJ0&t=185s) **Seeking a C‑Shell Bridge** - The speaker laments ABC’s limited reach and abandonment, then argues for a new language that merges C’s low‑level control with shell‑like simplicity, sparking the quest for a better solution. - [00:06:54](https://www.youtube.com/watch?v=GfH4QL4VqJ0&t=414s) **Early Days of Python Development** - A brief recollection of Guido van Rossum’s early work on Python at CWI, highlighting collaborators Sjoerd and Jack Jansen, the language’s interactive nature, and the push toward an open‑source release. - [00:10:31](https://www.youtube.com/watch?v=GfH4QL4VqJ0&t=631s) **Early Python Adoption at NASA** - A NASA engineer recounts discovering Python, quickly deploying it for shuttle program simulations, and observing its rise as computing became personal, internet distribution expanded, and a supportive community formed. - [00:14:20](https://www.youtube.com/watch?v=GfH4QL4VqJ0&t=860s) **First Encounter with Python’s Creator** - The speaker recounts joining CNRI, attending a workshop where they discovered Python, meeting Guido van Rossum, and deciding to adopt the language for their projects. - [00:18:13](https://www.youtube.com/watch?v=GfH4QL4VqJ0&t=1093s) **Origin of Python's BDFL Title** - The speaker recounts early Python community organization and how the “Benevolent Dictator for Life” nickname for Guido van Rossum originated as a light‑hearted governance term. - [00:21:31](https://www.youtube.com/watch?v=GfH4QL4VqJ0&t=1291s) **Rise of Open‑Source Python Adoption** - The speaker explains how, in the early 2000s, developers turned to Python and other open‑source tools—favoring their free, shareable nature over proprietary options like Java and MATLAB—to build and distribute software such as Blender. - [00:24:51](https://www.youtube.com/watch?v=GfH4QL4VqJ0&t=1491s) **Origins of the Zen of Python** - The speaker recounts how early emails with Guido van Rossum and mentorship from Tim Peters introduced them to Python’s design philosophy, culminating in Tim’s poetic “Way of Python” that later became the Zen of Python. - [00:30:40](https://www.youtube.com/watch?v=GfH4QL4VqJ0&t=1840s) **Grassroots Origins and PSF Success** - Speaker highlights Python's community‑driven evolution, the creation of the independent Python Software Foundation to safeguard the language, and the continued collaborative passion witnessed at PyCon. - [00:34:21](https://www.youtube.com/watch?v=GfH4QL4VqJ0&t=2061s) **Python's Community Fuels Web Growth** - The speaker emphasizes that Python's real strength lies in its people, noting how community enthusiasm, booming book sales reported by Tim O'Reilly, and early web‑centric adopters such as Dropbox sparked rapid adoption and expanded the language far beyond a simple tooling solution. - [00:37:50](https://www.youtube.com/watch?v=GfH4QL4VqJ0&t=2270s) **From Scientific Python to Enterprise Scale** - Around 2009‑10 the author observed Python moving from a niche research language to a core data‑processing tool in finance, which led to founding Continuum Analytics to scale NumPy and Pandas on big‑data clusters, only to encounter early‑stage software installation problems. - [00:41:52](https://www.youtube.com/watch?v=GfH4QL4VqJ0&t=2512s) **Python Hero Joins Dropbox Team** - The speaker describes how a humble computing icon who built Dropbox entirely in Python recruited them, resulting in a seven‑year stint that profoundly advanced Python work and even sparked custom Python license plates. - [00:45:09](https://www.youtube.com/watch?v=GfH4QL4VqJ0&t=2709s) **Challenges of Python 2→3 Migration** - Armin reflects on the slow, reluctant shift from Python 2 to Python 3, highlighting legacy code burdens, top‑down mandates, and the controversial Unicode‑and‑bytes changes. - [00:48:48](https://www.youtube.com/watch?v=GfH4QL4VqJ0&t=2928s) **Navigating Python’s 2‑to‑3 Shift** - The speaker reflects on a decade managing Python 2.7, the dual‑maintenance burden during the migration to Python 3, community tools such as lib2to3 and Six, and a humorous Starlark sticker referencing Bazel. - [00:51:54](https://www.youtube.com/watch?v=GfH4QL4VqJ0&t=3114s) **Instagram's 10‑Month Python Migration** - Instagram spent roughly nine to ten months transitioning from Python 2 to Python 3, focusing on typing, asyncio, library cleanup, and extensive testing, which yielded performance improvements and boosted confidence for other teams to adopt Python 3. - [00:55:04](https://www.youtube.com/watch?v=GfH4QL4VqJ0&t=3304s) **Boosting Gender Diversity at PyCon** - The speaker recounts receiving an anonymous “Python is for girls” shirt, recognizing the scarcity of women in the Python community, and explains how targeted outreach at PyCon dramatically increased female speaker representation. - [00:58:30](https://www.youtube.com/watch?v=GfH4QL4VqJ0&t=3510s) **Discovering PyLadies and Inspiring Change** - A woman recounts how the male‑dominated tech world led her to PyCon, where encountering the PyLadies community and hearing Guido van Rossum’s remarks motivated her to become active in Python and advocate for more women developers. - [01:01:57](https://www.youtube.com/watch?v=GfH4QL4VqJ0&t=3717s) **Overcoming Fear, Embracing Python Community** - A developer recounts initial hesitation to ask questions, how Python’s inclusive, Guido‑led community welcomed them, leading to becoming the first female core developer and unlocking mentorship and new opportunities. - [01:05:09](https://www.youtube.com/watch?v=GfH4QL4VqJ0&t=3909s) **Python Community's Impact on AI** - The speaker lauds the Python community's collaborative spirit and reflective dialogue, emphasizing how Python has evolved from a simple scripting language to a cornerstone of AI/ML development that now drives businesses and empowers both programmers and non‑programmers alike. - [01:08:58](https://www.youtube.com/watch?v=GfH4QL4VqJ0&t=4138s) **Jacob Reflects on Python Legacy** - In a candid interview, Jacob recounts his early adoption of Python, contributions to the community, personal journey from India to Germany, and his preference for staying out of the spotlight. - [01:13:44](https://www.youtube.com/watch?v=GfH4QL4VqJ0&t=4424s) **BDFL Resignation Over PEP 572** - The speaker recounts the Python BDFL’s sudden step‑down following the contentious approval of PEP 572, leaving the community to decide its own future governance. - [01:17:02](https://www.youtube.com/watch?v=GfH4QL4VqJ0&t=4622s) **Python Governance Decision Dilemma** - The passage recounts the intense stress and heated debates among Python core developers as they struggled to select a voting system and governance model for the language's future. - [01:20:31](https://www.youtube.com/watch?v=GfH4QL4VqJ0&t=4831s) **From Hobby to Global Phenomenon** - The speaker reflects on Python’s modest start as a personal project, its surprising growth into a massive worldwide community and conference circuit, and its lasting impact as one of the most popular programming languages that has changed countless lives. ## Full Transcript
0:00Did you think Python was going to get popular from the beginning or? 0:05[Music] 0:14Python has contributed to making critical thinking a  little more approachable by more people. 0:21You can spend one to two hours, 0:23learning programming fundamentals 0:25and then you can write like 10 to 20 line of code 0:28that do something interesting. 0:29The language, the community, the ecosystem, 0:32the market, the whole thing has had such an  impact on humanity. 0:37Today, I think it's safe to say that almost anywhere there's a computer, 0:40there's probably some Python. 0:42It's literally on Mars. 0:45The impact of AI, I think we're still  seeing what that's going to be. 0:49Python is incredibly important for that. 0:52To fully understand how Python got so big, we have to go back in time. 1:00Maybe not that far back. 1:02Everything started back in Amsterdam in the 80s 1:05during my time at CWI, a Dutch research facility. 1:11The CWI had been behind a lot of major programming language developments. 1:17Algol 60 and Algol 68 for instance. 1:20And Lambert Meertens had tried teaching programming to artists 1:25and discovered things about 1:28programming that are easy, if you're a scientist  or a geek. But for somebody like an artist, 1:34those things weren't obvious because you had to  know something about the computer. 1:39The cause of the frustration was the low level of the languages that were available. 1:44The computers were immensely  expensive and compared with that 1:48a programmer was really really cheap 1:51and so programming languages 1:53were designed with that economic relationship in mind. 1:57It didn't matter if it took a long time to 2:00program as long as it didn't demand too much of  the computer because that's where the cost was. 2:06We looked at each other and said, can't we do a  better job? Can't we design a language that is 2:11easy to learn, easy to teach, but also easy to use. 2:15So that beginners could understand how to program 2:18without having to go into all those messy hardware details. 2:22And that's how the ABC project was born. 2:27One of the members of the team  was Guido van Rossum. 2:31[Music] 2:39I was hired to work on ABC for which  there was a small prototype but every 2:46part of the prototype had to be expanded  to fully working according to the spec. 2:54In 1985, we made the release of ABC. And  then we hit the problem: how to make the 3:01world know that there was ABC? 3:05We did not have a good way of reaching our intended audience. 3:11The web did not exist. 3:12Most people had never heard of a computer or even seen one. 3:17If anybody wanted a copy, they had to send us  a letter and we'd send them a floppy disc. 3:24So I'm afraid ABC reached very few people and  at some point the directors for reason, that 3:30I still don't understand, killed that project. 3:33I had spent, well, 3 and 1/2 years of hard work 3:39on this language and the implementation to make it as as good as we could. 3:44So it was disappointing. 3:46[Music] 3:49Guido was transferred to another  project on a distributed operating system, 3:55the amoeba system. 3:58One of my jobs at that project as the programmer, not the researcher, 4:03was to write, or help write, a large number of user applications. 4:09And I didn't actually think 4:12that for many of those utilities C was a  very good language. 4:18And I thought, well, 4:19oh man, if we just could program ABC instead of  C, each of those utilities would be like half a 4:27page of code and I could write the entire suite  of utilities in a couple of weeks instead of the 4:32years that it looked like it was going to take us. 4:35Except that ABC was so high and abstract, 4:40it wasn't a good language to talk to servers  and file systems and processes and it sort of 4:49the whole operating system thing was abstracted  away from ABC. So I thought, well, there really 4:56ought to be a language that sort of bridges the  gap between C and shell. And we looked at Perl and 5:03we didn't think it was any good as a programming  language. It was about as bad as as Basic, 5:11although in different ways. So, Python was also  in a part built as an alternative to Perl. That's 5:18where I decided, oh well, I'm going to see if  I can make my own programming language. 5:24[Music] 5:28One Christmas holiday, I believe, he decided  to spend his time designing and building a 5:34new programming language for the operating  system based on the principles that he'd 5:39learned while on the ABC project. 5:41It was logical that I would start with ABC as an example. 5:46The most prominent feature that  Python borrowed from ABC is actually the use 5:51of indentation for statement grouping. But it  was also logical that I sort of dropped the 5:59things from ABC that I didn't particularly  like. That's how we ended up with Python. 6:10Okay. I finally was confident enough of  the interpreter was complete enough that 6:18I showed it to Lambert. He showed me a  language he had developed stealthily, 6:24which he called Python, named after Monty  Python. I said look what I made. It was 6:31clear to me that it had some resemblance  to ABC. The command line prompt is even 6:36the same. So Lambert watched me type a few  things and.. Guido was excited about it and he 6:43apparently thought I would be excited as well.  At some point he had seen enough and he said, 6:48"Can I try something?" And he types one very  short line of code and it crashes the interpreter. 6:56And he knew that that it would. The point  escaped me. I didn't know why he thought 7:02this was better than ABC and why he had  done this whole project. I went back and 7:08the next day I had a fix for it. But it was  a pretty crushing experience to be honest. 7:28It must have been at least half a year  later, that I first got acquainted with 7:32Python. So this is the office where Guido  and I were holed up when he created Python. 7:40There were two important users. Sjoerd was  one of them and the other was Jack Jansen. 7:47Guido was sitting over there and I was sitting  over there. If you want to prototype a program, 7:54you sort of write the outlines of the program,  but it doesn't actually work. When you do this 8:01in Python, it actually works. It's readable.  It's very easy to program and the indentation 8:07is totally natural as far as I'm concerned  anyway. Sjoerd and Jack were the most active 8:13in using Python. You find bugs, you find the  things that you want to extend and then telling 8:18me about it because all they had to do was say,  "Hey, Guido." It was the first real interactive 8:26systems programming language. So, you could just  sit and write and run it immediately without any 8:30compilation. So, it was much more fun to use  than the old programming languages, but slower. 8:39I think it was mostly Jack's idea in  the end, while we all worked on it, 8:43to make an open-source release. CWI allowed  Guido to distribute Python to the world as 8:50long as its copyright notice was there. They  would have held back if they had known it 8:55would be such an incredible success, which  is good that they didn't know. Nobody knew. 9:00I didn't either. Because if they had held back,  it would never have become an incredible success. 9:08Then we had to actually physically do  the release which turned out to be an 9:13incredible pain because Usenet was  the only thing we had to release it. 9:22Usenet was a network of, you could say, bulletin  boards. People would write messages. They would 9:30get distributed over the world and then there  were the groups for all the different computer 9:35languages. Usenet had a very strict limit on  the size of a single post. First put your entire 9:44source tree in a tarball. Then compress it and you  have to do another step where you turn the binary 9:52data into ASCII encoding. So you have this huge  file with gobblygook, but it's at least printable 10:01gobblygook. And then you apply another tool that  snips it into pieces. Then there is a script where 10:09if you have downloaded all 21 parts, you can  undo all those operations in reverse. That was 10:16what people put up with. So we did all the work on  our side and plenty of people did all the work on 10:22their side to unpack this because I had apparently  written a very good teaser about what this was. 10:34[Music] Very quickly I started getting feedback  via email or Usenet from people who had done 10:42something exciting with it or who had  found a bug and that just kept coming. 10:50We worked at Johnson Space Center. So our interest  was putting together flight simulations and tools 10:57for the design engineers that would be used  for the shuttle program at the time. I remember 11:05needing a scripting language to control a C++  library project we were working on at the time. 11:14Not too long into that search, I found Guido's  Python distribution at CWI. I was able to FTP 11:21that down, unpack it, compile it, and run it in  a matter of 10 minutes or so. That was my first 11:33impressive experience with Python. 20 years ago, a  computer that cost a million dollars and filled an 11:41entire room had less capability than an 11 pounds  desktop computer today. With costs going down and 11:48capabilities going up, the computer has entered  our lives quickly and unobtrusively. There were 11:53lots of things changing in a major way that made  computing particularly exciting to be in. At that 11:59time, computers suddenly were coming out of the  machine room and landing up on your desk. And 12:04then of course the web happened. Then it all  exploded. After the internet came to Europe, 12:10it was much easier for software to be distributed.  Python very slowly took off. Then there was 12:17a growing Python community which was very  supportive like a big family you could almost say. 12:30Part of the benefit of this is that I don't..  I'm like, there's no strain on my body at all. 12:37I was working on developing a kind of distributed  equipment database and a colleague at the lab, 12:45Michael McLay, knew that I was looking for  what was called a scripting language that was 12:51also sophisticated that would enable you to build  substantial things and not get bogged down in the 12:57ragged edges. Scripting languages were designed  to glue things together, to connect things that 13:04already worked, that already existed. Immediately  on trying it, I was just amazed and thought this 13:10can't be as good as it is. And it was. Mike was  interested in bringing Guido over and Guido was 13:18interested in coming over. 99% of the people that  I got in touch with were in the United States. 13:26So Guido ended up coming and then Mike and Guido  and I wanted to arrange a workshop so people who 13:33were interested in Python could gather and talk  about what they were working on and what they 13:38felt was needed. This is the t-shirt for the first  conference. And so this yeah that that was just 13:47sort of flowy writing and on the on the back it  gave the date of the conference. Spam, spam, spam, 13:55spam. It's such a fantastic song. That workshop  really is for me the beginning of the Python 14:02community. November 1994, Gaithersburg, Maryland  in this windowless government office building at 14:09NIST. That was a great experience. It was about  two days. We had 20 people. I still have the 14:15t-shirt from that workshop. There was just kind  of this feel of, hey, there's something happening. 14:20This will be fun to hang out with the people  that I chat with online, to actually see Guido 14:26in person and actually make decisions. And we knew  that if you impressed him with the feature and it 14:31was an easy thing to install, he would add it to  the language right there so that we can at least 14:35try it out in beta form. There was like a whole  room of people who knew what you were talking 14:39about because they had all studied Python deeply  or almost all. One of the people was Barry Warsaw. 14:51[Music] Around 1994, I joined a company, CNRI,  Corporation for National Research Initiatives, 15:01and we were building these software agents,  little programs that can move around to 15:07different computers on a network, and they pickle  themselves up and move around to another place and 15:12reconstitute themselves and do some more work.  A friend of mine from NIST sent me an email and 15:18said, "Hey, we've got this guy coming over from  the Netherlands and he's going to talk about his 15:22language. Do you want to come?" And so we went  to the workshop and just absolutely fell in love 15:28with of course Python and of course Guido. Even  then, it had the feeling that there was a there 15:36there was something that was going to happen  that there was potential. I remember coming 15:42back to CNRI saying, "Oh, this is great. we're  going to use Python for sure in our project. And 15:48one of our colleagues at CNRI said, "Well, what  do you think? Why don't we just hire Guido?" 16:04CNRI was set up to sort of promote information  infrastructure and foster research, help build 16:11pilot projects, take the results and put  them out into the public so that others 16:16could then leverage it. Part of CNRI's mission  was to cultivate internet based things. That's 16:22why our name Corporation for National Research  Initiatives has the word "initiatives" in there. 16:32We had a need for a language that would be easier  for people to deal with than any other traditional 16:40languages that were around at the time. I ran  across a photograph. There was a party at CNRI, 16:46years ago. It was probably I think 1996.  And it's it's a Guido. Yeah. I used to say 16:56Guido. Many people say Guido, but I said Guido  and I'm sure I don't pronounce it right. Oh, 17:02he was a very stylish person and he was a very  strong fellow. Got introduced to him and it just 17:07seemed like it was a good fit and so I made the  job offer. For me, it was fantastic. There is no 17:13doubt about that. One of the things he insists on  if you want to get him to work for you is that he 17:18has some fraction of his time, preferably as much  as halftime if not more, to work on the language 17:25itself. the fact that they could work full-time  on Python because it turned out that the Knowbots 17:31project was almost more an excuse to to hire  me than I did much for that. I kind of feel 17:38like our work on Python was a little subversive.  You know, we tended to spend a lot more time on 17:44Python than maybe we should have. I went to  CNRI and since I had been a systems person, 17:50I was responsible for setting up python.org. We  should have also grabbed python.com even though 17:56we didn't think of Python as a commercial  enterprise because someone else got it and 18:01uh used it to host a stupid porn site. For years  we had to warn people go to python.org, not .com. 18:13It really was the perfect home, I think, for doing  all of that early Python development - and develop 18:18a lot of the infrastructure around Python. We  had a meeting discussing making some kind of user 18:24group or software organization where the Python  software activity was proposed. We need a little 18:30bit of governance, a little bit of organization,  but we don't want too much because I don't think 18:35any of us really liked bureaucracy. And then the  question came up about what we should call Guido 18:40as part of that. I think it was me who suggested  that Guido be called the Benevolent Dictator and 18:48then Barry suggested Benevolent Dictator for Life  and that became an internet meme or actually a 18:55software meme. Benevolent Dictator for Life was..  you can find it on Wikipedia. Ultimately, you 19:05know, Guido was the inventor of the language and  the final decider about yes, this is going to make 19:11it in or this is not going to make it in. I think  I developed my own style during those first years. 19:19All ideas are welcome, but I will choose which  ideas I believe are right to add to the language. 19:27There's dozens and dozens of aspects of  Python today where somebody had a vision for, 19:36if you just add this to Python, look at  all these amazing things that I can do. 19:45[Music] 19:48I'm one of the many people that came to Python,  not as a programmer, but as a scientist. Python 19:53wasn't the first language I used for science. I  was doing satellite data processing and I used 19:57Perl to do it and then a year later I would come  back and try to figure out what I'd done and I 20:01had no idea. Python had the opposite experience. I  first started using Python in 1997. I just used it 20:07to do some scripting, do some data processing with  some medical imaging data and I was like this is 20:12nice. This is pretty cool. A year later, so 1998,  I came back to look at the code I'd written and I 20:18could read it. I understood what I did. And that  was kind of for me the convincing data that said, 20:23"Oh, I need to dig in on this language."  And there were a few really key people at 20:28that time who were publishing or talking about  how to use Python for science. Not very many, 20:32but a few. Konrad Hinsen was one of them, I  remember, and David Ascher and Jim Hugunin. 20:38There's been a number of stages in the life  cycle of Python, when it just grew from a a core 20:45language capability to a platform with a number of  different specialty modules and packages that made 20:52it very very useful for certain user communities.  The first one was probably the numeric community, 20:59the science and engineering folks that wanted  high performance matrix operations to be done. 21:04Even though Guido wasn't a scientist himself,  wasn't necessarily deeply concerned with the 21:09same things that we were concerned with as  scientists, he was open to the suggestions. 21:16I think one of the things that people don't  appreciate about the Python language as much 21:19now that it's so popular and mainstream  is how important it was that Guido was 21:25open to new ideas and open to the needs of  people who are not traditional programmers. 21:32I think he had a very clear-eyed quiet focus  on understanding some things about the future 21:41that he built into the language. It was uniquely  suited to its environment. One of the reasons I 21:46used Python and I think a lot of people used  Python at the time is that in the early 2000s, 21:50the world was almost divided into here's an  open source ecosystem or you can go and use 21:55Java which is actually a paid thing. I  was using MATLAB. I really didn't like 22:00the fact that when I wrote code and I  wanted to share that code with others, 22:02I was essentially telling people they had to go  buy a license for a software package before they 22:07could even look at my or use my code. You  know, these are the days where you have to 22:10like buy the developer tools or spend a couple  hundred bucks to get Visual Studio 6.0 and then 22:16Python and then all of these libraries were open  source and then could be adapted, could be used 22:21in a commercial project. I was sort of early  on convinced by community members that Python 22:27being open- source and the particular way it was  open source was very important so that people 22:33would feel comfortable using Python to make great  things that they would then be able to to sell. 22:51[Music] In 1998, Blender was published on  the internet. The software was free and 22:58then you could buy some things around it.  We were restricted to use open source. So, 23:04you didn't have a lot of options. We were doing a  call on our website like what is the most popular 23:10scripting language that we should add in Blender?  Perl was really big and Python was upcoming and 23:18there were some others. And it was interesting  to see that everybody who was advising us to 23:24use Perl as scripting language but they only  advertised how great Perl is. And the people 23:32who came more from the Python background who  said well I think Python is a better choice. 23:38They came with a balanced opinion. And they  said okay Perl will give you this and this 23:43and this and Python will give you other things  and balancing all of it I would recommend you to 23:49do Python and only for that reason I picked  Python just because the people were nicer. 24:04It was honestly just a lot of enthusiasts. It was  a lot of people who just enjoyed the language, 24:09enjoyed the people involved with the  language and it would just happen 24:12to be typically motivating enough for  people to want to help out. Ultimately, 24:16there's a sense of fun that comes across  and Guido coded that into the name of the 24:21language influenced by Monty Python. It creates  a sense of community to have your little jokes. 24:30Tim Peters is a famous early example of blending  both like the aesthetics of Python and humor. Tim 24:37Peters was this mythical feature.. creature in  the world of Python, and no one had met him. He 24:45was out there in the ether as a wise one to give  us advice on what to do with numerical processing. 24:51Steve Majewski sent me some email telling me about  Python. So I started a email correspondence with 24:58Guido about the language and about the design  and I got some of the pre-release code and played 25:03with it and talked to him about design decisions  and liked it very much. Tim Peters was a Python 25:10contributor and community member and mentor  to me from very early on. Tim was a channeler 25:18of Guido. He had a really unique way of saying: I  think Guido's going to like this or I don't think 25:24Guido is going to like that. There's a poem called  the Zen of Python which is a partially humorous, 25:30partially serious poem about the the aesthetics of  of Python. I'm actually looking at the Usenet post 25:39where Tim posted his first version of the Zen of  Python, although he called it the Way of Python. 25:47And it was in response to some discussion  where people were complaining that they 25:54didn't understand what was Python's philosophy.  They couldn't figure me out. And Tim had figured 25:59me out and he put it basically in poetry. Here  is the Way of Python by Tim Peters from 1999. 26:09Beautiful is better than ugly. Duh. Explicit  is better than implicit. Simple is better than 26:15complex. Complex is better than complicated. And I  love that distinction. Flat is better than nested. 26:23Sparse is better than dense. Readability counts. I  will say it counts for a lot. Special cases aren't 26:29special enough to break the rules. Although  practicality beats purity. Errors should never 26:36pass silently unless explicitly silenced. In the  face of ambiguity, refuse the temptation to guess. 26:43I did not follow that in a very key piece of NumPy  and it's still a mess. There should be one and 26:51preferably only one obvious way to do it. That's  a direct reference to Perl's motto of there's 26:59more than one way to do it by the way. Although  that may not be obvious at first, unless you're 27:03Dutch. Now is better than never. Although never is  often better than right now. If the implementation 27:09is hard to explain, it's a bad idea. That's a  really good one. If the implementation is easy 27:15to explain, it may be a good idea. Name spaces  are one honking great idea. Let's do more of 27:21those. This is so Tim. Normally 'import this',  imports some useful library, which is very serious 27:31business. Having an 'import this' that was just  a joke was a bit of lightness that we liked to 27:38add. This is from a small hobbyist community,  right? Because if you're a corporate behemoth 27:43making a a programming language, like someone's  probably going to tell you that you can't put a 27:47silly poem in your in your programming language,  but Python's just made by dogs on the internet, 27:52so they can put poems in their software. [Music]  The different ways to make money on the internet 28:00are just beginning to emerge. Entrepreneurs are  putting their faith in a new medium to deliver 28:05the big payoff. It's the dot-com bubble, all  this money pumping into Silicon Valley software 28:11and internet stuff. Early 2000, I decided to  leave CNRI and with a few co-workers joined 28:19little startup named BeOpen. While CNRI, I think,  was an amazing home for Python in the early days, 28:27everything changes and everything evolves and  thinking, well if we're going to strike out on our 28:31own this is probably the right time to do that.  That didn't work out. I'd say within maybe a year 28:38or something. BeOpen was completely incompetent.  We spent the summer in blissful ignorance working 28:45full-time on Python. We built and released Python  2 and within 5 months it was over. We were paid 28:53our salaries every 2 weeks, and then suddenly in  late October we weren't. [Music] It was a moment 29:02where the [ __ ] could have hit the fan. If all  the Python guys went their separate ways... Python 29:08wasn't big enough to survive that at the time.  That was when I had a company Digital Creations 29:14that later became Zope, which is an application  server, database server, index server, web server, 29:19etc. Very large scale commercial quality  application written in Python. And if Python died, 29:26you know who else would die? We'd die. The whole  platform was built on Python. So they were Python 29:32experts. We need to go and make sure that Python  is secure for the future and that the team stays 29:40together. So we negotiated an agreement with them  to join my company. That was an incredibly lucky 29:49rescue. We felt like we really trusted them  and we believed in what they were doing and 29:53what they wanted to do with Python and for Python.  This is a place that I'm proud of. In hindsight, 30:00it was a really critical point in Python's life.  I think if we had chosen wrong or tried to say, 30:06"Oh, well, we'll just strike out on our  own anyway." You never know. But I'm not 30:11so sure that Python would have survived  that juncture in its life. Yeah. [Music] 30:33[Music] 30:33Python just kept sort of growing and  the community kept self-organizing. 30:40One of the I think underlying themes of Python,  if you take it in its totality, is this sense of 30:48grassroots movements. Things grow from the bottom  up and evolve to the point where everybody sort of 30:56realizes, oh, we need a little bit more structure.  Oh, the Python Software Foundation. In my opinion, 31:02the PSF, that damn thing was a success from day  one. That came out of one of the concerns we had 31:10had with BeOpen actually. So CNRI had written  a license for Python and put its name on it and 31:19BeOpen had copied a version of that license  and put the BeOpen name on it. There was a 31:26concern that at some point I might accidentally  end up working for a company that tried to grab 31:32ownership of Python. We realized that we really  need an organization that will be independent, 31:39will not be beholden to any company and their  whims and their lawyers and will really keep 31:47Python users as their first and foremost customer,  so to speak, in mind. [Music] And then the magic 31:59happened when we got into PyCon, which is maybe  the third stool of the miracle of Python. [Music] 32:17What has been your take away from PyCon US this  year? It feels like people are still willing to 32:24go do hard things, work on things together, you  know. Wow. They still do have the passion to be 32:29honest. So, what was it for you? Uh, for me most  definitely like meeting people I haven't met in 32:35a while. That's cool. Yeah. And just pretty  much hanging out with them. You try to walk, 32:40Yeah, to the other side. There's like 10  people that you want to see in between like 32:45stop. I want to talk to you. Oh, I know. Pablo  and Yuri presented as bananas and then Lukasz 32:52asked the question dressed as a banana.  And then Guido came in just as a banana 32:56as well. Thank you for what you do for the  PSF. Please don't step down. Just keep doing 33:01it forever. Raise your hand if you love the  web. Just raise your hand. Raise your hand 33:08if you have done React front-ends. Raise your  hand if you would like to come back. To React? 33:17No, come back to Python. All right. Good. For  the record, 100%. I begged my mother to take 33:24me to PyCon and I met all my online heroes. He  was this distant Benevolent Dictator for life 33:33who I'd been talking to over the internet, but  here he was in person and so I was thrilled to 33:38be able to finally meet him. Then I  think everyone was aware that he was 33:43a 15-year-old kid on the other end of the  terminal. When PyCon was held in Montreal, 33:49the organizer asked me if I'd be willing to  give an opening address to the conference. Well, 33:55I'm a slightly fast talker and I had some spare  time and I just used it as an opportunity to say 34:02thank you. "I like to think of it as I came for  the language, but I stayed for the community. So, 34:06I want to personally thank all of you for  making this such a wonderful place to be 34:10and such a wonderful group of people to be  around. So, thank you". Luckily, it came 34:15off well because people still quote it. I think  it kind of speaks to the core ethos of Python. 34:21We try to develop this tool that people can use  for their needs to get their work done. But the 34:28community is the true strength of Python. It's  not just the language, right? It's the people. 34:36[Music] It was steadily growing every single  year. It was getting more and more downloads, 34:43more and more people making use of it. It  became a more sophisticated language that was 34:50fit for purpose for this new emerging programming  paradigm where the the web itself is the platform. 34:57He told me an interesting number that that made me  realize that the Python user community was already 35:04much bigger than I had estimated because  he said, "Guido, you don't know the sales 35:10numbers for Python books, but I am Tim O'Reilly.  I published the two most important ones and I do 35:17know the sales numbers and they are fantastic."  I don't know if he had that much enthusiasm in 35:23his voice then, but he was sharing this new  to me important fact which made me realize, 35:30oh my gosh! Python tends to get spikes when  certain specialties, I guess you could say, 35:38pick the language up and decide that this is  a thing that they want to use in their area. 35:44Everybody wanted to to do things with the  worldwide web and Python actually became 35:49a really powerful platform for for doing not  just web pages but web servers and services and 35:57suddenly we had an increase of people coming in  from the web world. [Music] I think Dropbox was 36:07one of the early companies to start building  in Python and reaching millions of users. 36:14My name's Drew and I'll be showing you a quick  tour of Dropbox, which is a new way to store and 36:18share files online. Python had been largely viewed  as scripting language you run on the back end or 36:24maybe in an academic setting or in a scientific  setting, but not really for like production 36:29desktop software that you ship to millions of  people. But I just started writing in Python 36:33and hoping that none of the roadblocks would  completely blow me up. You can develop programs 36:38much faster in Python because it's a higher level  language and it's a very clean easy language and 36:43so we could we could be a lot more competitive  than other companies who were writing with Java 36:48or C++ or Perl. Even back then we were competing  against the Google's and Microsofts of the world 36:54and you know our odds didn't seem very good. So  we needed all the help we can get. Google had this 37:00big team like a hundred people, C++ programmers,  trying to do a video hosting site and they could 37:06never keep up with this little thing over there  called YouTube and they went and looked and it was 37:10just a couple of people writing Python. Python  ended up being a big force multiplier on our 37:16effort and no other language that we considered  had anything close to that kind of capability. 37:27[Music] 37:28The fact that data science suddenly  became a thing that you had to do, 37:32combined with the fact that Python was sort  of well positioned to do data science stuff 37:39meant a huge amount of new Python users flowed in. 37:50What was starting to happen in the 2009-2010  time frame, we were seeing more and more of 37:56our consulting deals tied to using Python not as  really a replacement for MATLAB or engineering 38:03type things, but using Python for doing data  processing. We didn't call it data science at the 38:09time, but it was that kind of work, right? It was  modeling, predictive analytics, things like that. 38:13This is the time of Hadoop, the time of big data,  the time of Spark, and people were doing Java at 38:18scale. We were starting to do much more consulting  work in the financial industry and we'd walk into 38:24these large very well-capitalized firms and they  were using Python to do business data processing. 38:28I realized okay if it's a research group over  here doing some science research and they don't 38:33have money and they use an open source thing  I get it but if you have JP Morgan right which 38:38has a lot of money and they're picking up and  using these scientific tools and they're loving 38:43it. I realized that we didn't just have a cheap  free alternative. We actually had something that 38:48was innovative and that was doing something fairly  unique. Peter and I ended up leaving Enthought and 38:55starting another company. We started as Continuum  Analytics actually and its vision was to scale 39:02NumPy and Pandas to large data sets and large  clusters. We quickly ran into a simple problem, 39:08very quickly in, but a very annoying problem.  Yes. people just couldn't even install the 39:12software needed to run all this Python stuff. The  thing about the Python scientific and data stack 39:19is that all of these different libraries, they're  very different than the web development libraries 39:23because these data libraries are often backed  by a very large amount of complex C++, Fortran, 39:28other kinds of software modules. And to build  those correctly takes some work. To build them 39:34correctly on every operating system takes even  more work. And then to build them so that they 39:38can actually be connected together, that requires  you to have this entire build system rationalized. 39:44And so the very first thing we did was like make  a distribution of Python to make it easy to get 39:48that installed. A lot of the data science Python  people, they didn't even use normal Python. They 39:52used this Anaconda Python distribution. Sort of  a dumb joke that I came up with at one point. 39:56It was basically Python for big data. So it's a  big snake. So Anaconda. After like a few years, 40:03we kept going to conferences and going  to places and people wouldn't know who we 40:07were. But the instant that we mentioned that  we make Anaconda, they would say, "Oh, yeah, 40:11of course. I love Anaconda. I use it all the  time." Right? So, after that happened like the 40:14thousandth time, we said, "Okay, maybe we should  rename the company Anaconda." Data engineering 40:19became a discipline where Python was incredibly  entrenched. It was Python and R. And over time, 40:26Python's data analysis libraries caught up and  plotting libraries and stuff started to catch up 40:31to what R had. And then people realized, oh well,  with Python, I can work end to end with my data 40:36versus R being very good at data analysis, but  not necessarily like the data collection stage 40:42and various other stages. I remember going to  a Python conference at one point. I was like, 40:46there's so many sciency people here like where  are all the web developers? This is all data data 40:52pipelines and stuff. I don't want to be immodest  about this because it was a collective effort for 40:55the whole community, but I think that what we  did at Anaconda, not only making the software 40:59installer that made it one click for people to  just run, but also shephering the conferences 41:04and building that community and and whatnot  was really critical. They were incredibly 41:09important contributions. I think we actually made  Python super popular. I I think we did. [Music] 41:24Well, I remember hearing from a friend of  mine that Guido van Rossum was just working 41:28at Google. And that when I thought about  it, I'm like, wait, yeah, Guido, I guess, 41:34works at a normal company and I can't remember  the exact circumstances, but I think either 41:41I got an introduction to him or I just maybe I  think maybe just send him an email saying, "Hey, 41:45um, big fan of your work." you know, it's like fan  mail basically. And he responded and we got lunch. 41:52I mean, he's a hero of mine and he was totally  friendly and approachable. And at that talk, 41:58it was revealed that Dropbox was entirely written  in Python, both the client and the server, 42:04and that was exciting. He was interested in  what we were doing with Python. And I think 42:08we were stretching the language and the runtime in  interesting ways. He approached me again and said, 42:15"Hey, we would really like you to work for us."  And then to my surprise and delight, he ended up 42:21joining the Dropbox team, which was super exciting  for all of us. I stayed there for 7 years. We did 42:28more important stuff for Python than I did during  7 years at Google I think. I think he had a big 42:35impact on the rest of the team. You know, here's  someone who's one of the icons of computing, 42:39but you would never know it just from his, you  know, how he badges in to the office every day 42:45and I think set a really great example in terms  of being super humble and curious and friendly. 42:52You know, it's hard for me to think of someone  who has had more impact with lower ego. Uh, 43:00let's start with the first Python license  plate. Sorry, that was my car when we lived in 43:08Virginia. And there was a box on the application  - sorry, just grabbing the other one, too - uh, 43:17do you want a custom license plate? So, I managed  to get Python in Virginia and in California, 43:23Python was long taken. Like someone in Silicon  Valley probably has a Python license plate 43:30somewhere. So, the best I could get was PY3K,  which I thought was pretty pretty cute anyway. 43:40It became ever more popular and people  started thinking about flaws in the 43:46language. There were a lot of ideas floating  around the core development community, 43:51changes you could make to the language that  people thought would be major improvements. 43:54The only problem with them was that they would  break old Python code that currently existed. 44:00Some of that probably got away  from us a little bit in hindsight. 44:06We released Python 3.0 in December of  2007. I remember because I was actually 44:15interning under Guido at the time. We were  giving people roughly 5 years, I think, 44:20to do the transition. And everyone thought  that was just extraordinarily generous. The 44:25world would totally be on Python 3 in just a few  years. This is best for the language long term. 44:30We're going to make these changes. The community  has always come along with us. We think they'll 44:33come along this journey as well. We were very  naive about that and they they made us know it. 44:43The community said, "No, not worth  it. Kill it. Don't do it. It's not 44:47going to work." This included some very  notable individuals in the community. 45:03So, please welcome our next speaker. 45:09Hi, my name is Armin. You might be familiar with  some of the Python libraries that I wrote and 45:14you might even maybe use some of them. The  Python 2 to Python 3 transition. Initially, 45:19it happened very gradually over many years. There  was the version that everybody used and there was 45:24sort of the version on the side that was built  that nobody used. People didn't want to put in the 45:27effort because their code worked, you know, why  rewrite it. It's very hard to mix Python 2 and 3. 45:37It's uh it's a it's a headache.  So I just didn't move and a lot 45:41of people didn't move. It felt there's a  likelihood that it will not go anywhere. 45:46It felt much more like a top-down decision than  any of the things in the past. And that top- down 45:53decision, I think for some people felt like it  was not inclusive of the real pains of people who 46:00had a long tale of use cases. I think I severely  underestimated how successful Python already was. 46:08How many people had written so much code in  Python 2 that it would be hard for them to 46:16sort of put the effort into translate to Python  3. I thought the most controversial thing by far 46:23was that we wanted to change the way Unicode  was handled. A way to say these things are 46:28strings and they're human consumable. They're  words that people want to read and write and 46:32these things are bytes. These are things  that computers want to read and write. 46:39We basically made all strings Unicode and we made  you use a new prefix 'b' for bytes. And this was 46:46incredibly disturbing. I was implementing  a WSGI library at the time and one of the 46:50things that you do when you implement WSGI,  is that you have to parse HTTP data. You have 46:54to parse cookie data. And there there was  always a mixture of bytes and Unicode. And 46:59it was very easy to work with on Python 2. And  it was incredibly annoying to work on Python 3, 47:04at least initially. There really wasn't  a way to convert your Python 2 code to 47:10Python 3. The tools didn't exist. I  started writing blog posts about it. 47:14Why I think that in the way which Python 3  works right now, I just cannot see the move. 47:31He was a valued community member. And at  the time I was actually quite surprised 47:37that he was so viciously attacking Python  3. I was probably even more negative on it 47:45than appropriate. But Python had such a good  run and I put so much energy into it. I was 47:50part of like building out web frameworks  and and all these libraries. I felt like: 47:54why are we ruining all of this with this move  that didn't even have that many benefits. 47:59I had not appreciated how many people already  had enormous code bases or were on their way 48:06to building up enormous code bases. The payback  for that was that I had to initiate the project 48:13at Dropbox. We had a pretty long road to migrate  many millions of lines of Python 2 code. 5 million 48:22lines of code in the server alone and another  million for the client. That is a very large 48:28pile of code to transform. And so we had to  invent ways of sort of doing it in in pieces. 48:55[Laughter] 48:56A funny sticker I found in my pocket.  There's a built tool called Bazel. 49:01It's sort of a frozen version of  Python 2. So here the sticker says 49:07after re-education enemy of the people  Python denounced their bourgeois class, 49:12renounced formalist notions like Turing  incompleteness and began a new life as 49:18citizen Starlark. This is especially an  example of Benjamin Peterson's humor. 49:27I had the fortune or the misfortune depending how  you see it to be the uh Python 2.7 release manager 49:33for an entire decade. We had to adjust our plans  for Python 3 and for Python 2 so that there was 49:41a longer series of releases where there were both  new Python 2 versions and new Python 3 versions. 49:48What ended up happening is then the community was  like maintaining 2 and 3 and that created a lot 49:53of burden. And so this was happening all during  the growth of NumPy. We made it work for Python 49:592 and then I think Python 3.1 I think or 3.2,  we also made it work there but saw no adoption. 50:11We knew it was going to take a long time.  Uh we knew it was going to be painful but 50:17there is light at the end of the tunnel. The  community contributed stuff like lib2to3 and 50:22other migration tools came out. Benjamin Peterson  wrote Six that really helped that transition. The 50:29language itself became a little more backwards  compatible. I eventually advocated to bring 50:34back the 'u' prefix on the strings and that  actually made it easier to write unified code 50:39bases that target both Python 2 and Python  3. There was a point in time where we made 50:43a very strong declaration, there will never  be a Python 2.8 and Python 3 is the future. 50:53Python 3 just is a better language and it  is getting better over time. Python 2 on 51:00the other hand is a fine language and it will  remain exactly what it is. For a long time, 51:06there was a lot of measurement of how much  Python 2 usage is there, how much Python 3 51:11usage is there. I think it was when Python was in  Portland, was roughly when we started to see like 51:1650/50. Once 3.4 came out, it actually added some  features that were interesting to people like, oh, 51:22I want that capability. So, to me, Python 3.4 was  really Python 3.0. And then 3.5 was an even bigger 51:30milestone. That was the one that got widespread  adoption of Python 3. And by the time Python 3.5 51:36came out, then it was clear that Python 3 would  work. And then you started to have companies come 51:40out and give talks like Instagram's talk, which  I believe is also at Portland, was a big deal. 51:48Yes, you heard it right. Instagram has been  running fully on Python 3 for a few months. 51:54The whole process took I would say about 9 to  10 months. And I think Instagram was the largest 52:00production deployment for Python at the time. She  gave a very good, very thorough talk explaining 52:06why they did it. Two main things: typing and  asyncio. How they did it. We cleaned out all 52:12the libraries that are not making the migration  from Python 2 to 3. How you should do it. Unit 52:17test. What they had learned during the process. We  had actually some good performance gains as well, 52:22after our migration. It felt as vindication  that at least there were large companies that 52:30took the time to do it right and to convert all  their code to Python 3 and were able to do it 52:36successfully. It was definitely well received.  We got a lot of people saying: we really wanted 52:41to migrate as well, but we weren't getting the  kind of support that my team or my company was 52:47giving us. And now I can bring this back to  my management. And that really gave people 52:52the confidence in migrating to Python 3. It became  like a look, Instagram can do it. Why don't you 52:59do it? Instagram's getting benefits, new features,  faster code. Why don't you also want that benefit? 53:12[Music] 53:18Projects undergo things like this. And Python  learned a lot from it and it did actually 53:23eventually end up with Python 3 being in a pretty  good spot again that it was safe to use. And safe 53:29to use sounds weird but like where I felt like I  can actually start new projects on Python 3 now 53:34because we're back to a stable situation where  you're about as productive as I felt like I was 53:40with Python 2. Hi, Anna, nice to meet you. I  really liked your talk. But it was basically 53:44time that healed it. When Python 2.7 was declared  that there wouldn't be any more security fixes, 53:50it became a security concern. That was sort  of the final push. People who donated their 53:56work to do this migration in the wider Python  world and community eventually got the world 54:01running on Python 3, but as I said like it  was a decade long process. And I don't think 54:06anybody anticipated how much work it would be  to move to Python 3. I think Python's probably 54:11too big to ever go through a transition like that  today. The community was maybe a little too big, 54:19but not too big. I even still get angry  messages sometimes from people who are like, 54:24"My code needs Python 2.7. You need to  provide it." And I tell them, "No." I 54:31never wavered in my commitment to Python 3. It  was a lesson learned for sure. For a long time, 54:37I regularly joked there would be a Python 4, but  the transition would be handled much better than 54:43the transition to Python 3. I felt I owed that  to the community. And now, the mantra has changed 54:50to there will never be even a Python 4. To be  honest, I don't know how many people in Python 54:56even know about the whole transition because  that all ended in 2020. At least it's behind us. 55:17[Music] 55:18Okay, so now we get in the closet. So there's  the frisbee. This is the most unique merch I've 55:28ever seen related to Python. Now, here's  a significant t-shirt. It says, "Python is 55:35for girls." I received this anonymously  in the mail at Google. And to this day, 55:45I don't know exactly what the intention of the  sender was. They never revealed themselves, 55:50at least not to me. And I don't know if  there was an intention even.. But I sort 55:55of realized at that point that there wasn't a  whole lot of women in the the Python community 56:04and the community also discovered that  and fixed it for the Python conference. 56:14This idea of being a place where people from  a wide range of backgrounds can learn how to 56:20program, benefit from programming, find community.  There really was some snowballing adoption of 56:26these ideas across languages at the time. Jessica  McKellar looks at the speakers at PyCon and says, 56:34"There's only 3% that are women. What can we  do about this?" She was co-organizer of the 56:40biggest Python meetup in the world in Boston.  She knew what she was talking about. It's not 56:45rocket science. It's like, ask people if they're  interested in speaking and we just.. providing 56:49like a little bit of support drove a huge shift in  the volume and demographics of the talks that were 57:01submitted. And then 3 years later, like 35% of  the speakers are women. I forget what the number 57:08was but I think it was almost even with male  speakers. PyCon... I had an old tweet about this, 57:15so I just pulled this up. Says, "Hello from your  PyCon Diversity Chair." So, the percentage of 57:19PyCon talks by women: 2011 was 1%, 2012, it was  7%, 2013, 15%, 2014 and 2015, 33%. And in 2016, 57:3140%. Problems have solutions. That was a very  inspiring story to me also. Something that was 57:38less inspiring to me was that at the language  summit there wasn't a single woman in the room, 57:45and I don't believe we have a single female  committer to core Python. There wasn't ever 57:54ill intent but unfortunately we fell into  the trap of not doing enough diversity 57:59reach out to try to get more people to  come in. To be honest it was a lot of 58:04white men. So Guido wanted to change that.  I want at least two female core Python devs 58:12in the next year and I will try to train  them myself if that's what it takes. So 58:18come talk to me. I believe one of the first  people who took up that call was Mariatta. 58:30[Music] Even though I've always been  passionate about technology and programming, 58:41I also felt it wasn't a welcoming environment for  women. My schoolmates who took computer science 58:49are mostly men. Most of the professors were men  and at work most of my co-workers were men and I 58:56just didn't really have examples or role models  of women being successful in the tech industry. 59:06One of my co-workers went to PyCon. He  saw that at that conference there is 59:12this community called PyLadies and  I felt like.. I want to meet them. 59:32[Music] 59:33So in 2015, that's when I decided I  want to go to PyCon. At this conference, 59:40I got to see a lot of women speaking and  presenting. At my previous tech conference, 59:48all speakers were men, all the keynote speakers  were men. So this was really different. 59:55One of the keynote speakers at that same  conference was Guido van Rossum. Hello 1:00:00everybody. Glad to see you all. I want to meet  and see the creator of the Python programming 1:00:06language. "And I will try to train them  myself if that's what it takes". I heard 1:00:10this speech. However, at that time, I  just didn't think that it's something 1:00:16I could do. I wasn't even contributing to  the Python community. I didn't contribute 1:00:22to open source at all. I just thought  I'm sure they will find women next year. 1:00:35The year after I went back to PyCon US and Guido  van Rossum gave another keynote. We still don't 1:00:41have two female core developers. I think at  that time that's something really clicked in me, 1:00:47like I realized that there's something  within me that says: if nobody's doing it, 1:00:52I will do it. I wrote to Guido van  Rossum and I asked him for help. 1:01:00Somehow I felt really scared. I just didn't  feel like I deserved mentorship from Guido 1:01:07van Rossum. So I really hesitated to send this  email to him. But in the end, I realized that I 1:01:15want to try. Like I felt like this was a great  opportunity for me. I pressed the send button. 1:01:27I got a reply. He was very friendly. He started  sharing resources about, you know, how to get 1:01:33started contributing to Python. He offered to  do video chats. It's been really helpful to have 1:01:40his moral support. We had a pretty sort of deep  mentorship relationship for a few years. Mariatta 1:01:47learned the process from Guido and continued to  contribute more and more very much around tooling, 1:01:52like she really found her niche in terms of trying  to help make our development process easier. 1:01:58It was scary at first, like I just didn't feel  comfortable sharing my questions in public. I 1:02:05didn't want people to know that I don't  know how to do certain things, you know, 1:02:11like I didn't want people to see that I'm actually  not that good. But this is how it it works in open 1:02:18source. And the community has always been kind  and helped me with my questions without saying 1:02:27that you're stupid. Like I never felt like I was  being judged. I think it does start with Guido. 1:02:41The fact that Guido was very active in bringing  more voices into Python absolutely made Python 1:02:48better and stronger. Just the way the whole  community works and what we stand for, 1:02:53thanks to Guido's leadership, is where I want to  be. And I think that's true for a lot of people. 1:03:10About six, seven months after I  started reaching out to Guido, 1:03:15I was recommended to become a Python  core developer. It really wasn't until 1:03:214 months ago that for the first  time ever. There's a woman... 1:03:31There's a woman who became a Python core developer  and earned that commit privilege. The first woman 1:03:38ever to join our team and has continued to be  there and participate and try to help us and 1:03:43always a very good advocate to try to improve  our diversity. Now that I've seen the camera, 1:03:52I can't do it. My life really changed after  that. A lot of opportunities opened up just 1:03:59because I'm a Python core developer. Hi, how are  you? [Music] Mariatta went on to give her own set 1:04:10of talks about how important mentorship is. When  you don't have role models who you can relate to, 1:04:19you start believing that you cannot do it. Thank  you. Hi everybody. Uh my name is Mariatta. I'm 1:04:28a PyLady. I run PyLadies Vancouver. I also  help with the PyLadies con. 10 years ago, 1:04:37I was also in this room for the  Pyladies luncheon at PyCon US 2015. 1:04:41It was a life-changing event for me. It was at  that event that I felt for the first time in 1:04:49my life as a developer, I felt like I belong in  tech because I see 100 women in the room with me. 1:04:58I just want other women to have role models.  I hope I can help inspire them and help them. 1:05:09These opportunities belong to you, too. You're  all the reason I do this because I know there's 1:05:15still a lot to do and I know together we can  help each other and support each other. Okay, 1:05:23I think that's it. Thank you so much everybody.  [Applause] I have been so consistently impressed 1:05:33by the Python community's ability to have  respectful and and real reflection and 1:05:41dialogue about how to steward itself and how to  move it forward in a way that I find so inspiring 1:05:51and a vision of what is possible in other  communities. And I mean that really sincerely. 1:06:06There were an ever growing number of sort of  scientific disciplines where all the code was 1:06:13written in Python or a lot of it was prototyped  in Python at least. And then the next step was 1:06:21machine learning packages which started with  TensorFlow and was later followed by PyTorch. 1:06:28For a long time, Python was seen sort of as  a scripting language that you would just do 1:06:35small things that you need to automate and not  production ready code and so it wasn't given a 1:06:41ton of attention. And then now AI/ML has sort of  changed things where it is now a business driver. 1:06:48It appeals to people who are not professional  programmers but need software to do a task. 1:06:57There are some other languages like Rm you can do  some interesting stuff in but Python is really it 1:07:03for a AI/ML these days. Python has probably  like centuries of engineering time that has 1:07:09gone into code in the ecosystem specifically  on those topics. So if you're using Python, 1:07:15you're able to instantly tap into those libraries.  Meta has PyTorch, which has a amazing Python API 1:07:22and front-end people can interact with. There's  also SciPy, NumPy, Numba, Pandas. There's a 1:07:28whole suite of really extensive tools. Trying to  build a language and a language ecosystem that 1:07:35is amendable to all of that is non-trivial.  That actually took real design, real thought, 1:07:39and real ecosystem collective innovation over the  course of decades. The back-end of those tools are 1:07:46usually C or Fortran or some other native language  that's much faster, but would be difficult for 1:07:54someone with an AI background to program in. And  it continues to be used for all that by all the 1:08:03AI scientists, developing the models, and  the people training the models, people 1:08:07using the models. And that brings yet another  increment of of growth to the Python community. 1:08:17[Music] Python's a fantastic language  even if you're not a scientist. I just 1:08:24don't think it would have risen to the level  of dramatic usage without the science first 1:08:29data science and machine learning story. We  had a massive impact in the world. You know, 1:08:33I think one testament to the future of Python  is, if you prompt any of the LLMs to do code 1:08:39generation today. If it's front-end, it's going  to be JavaScript. If it's back-end data analysis, 1:08:44it's going to be Python. That's  the future. And Python is a part 1:08:49of that future. Lucky me that I that I chose  that language and not not a different one. 1:08:58Hey, Jacob. Oh, hello, morning. Hope you don't  mind being filmed. Yeah. Ah, okay. Ida's following 1:09:05me. All right. Yeah, she's shooting some b-roll  for the documentary, I think. Ah, nice. I first 1:09:11used Python in 1997 or something like that.  Wow, that's really early days. So, it's got 1:09:2130 frames of animation. Oh, wow. I told everyone  that he would hate getting the DSA, but they did 1:09:26it anyway. Yeah. Sorry, the DSA? Distinguished  Service Award. I labeled him in the annual report 1:09:32as like a leader in the Python community once and  he made me take it out. Yeah, we can see that. But 1:09:37nevertheless, he was on the steering council for  five years. Uhhuh. And he was a leader. I got a 1:09:43job from a Python conference back in 2017. I grew  up in India. I moved to Germany, changed my life. 1:09:49So I think Python changed a lot of things for me  and I just wanted to say thanks to you for for 1:09:54making this language. That's very sweet. Yeah. Do  you mind if I uh take a picture with you or that 1:10:00you don't like it? I'm so sorry. I really don't  like it and especially not in busy places. Okay, 1:10:06no problem. I get it. Okay. Find me in a dark  alley and I'll do it. Okay. Okay. I get it. 1:10:14Ah, I always kind of looked at myself as the  bass player of Python, which is great. You know, 1:10:20you can do a lot, you can have fun, and the  spotlight's not on you. And I love that. I can't 1:10:26imagine having that kind of spotlight on you,  you know, for so many years. I heard a story from 1:10:32an Apple VP of engineering, that Steve Jobs had  turned down their hire of Guido because he said, 1:10:38he has his own following and we don't  want to have that kind of distraction. 1:10:48Python has always been a language that changed.  We've never been one of those languages that says 1:10:54if you write code against this version of Python,  it will run forever with any new version of the 1:10:59language. We just simply have never been those  people. A PEP is an acronym for Python Enhancement 1:11:08Proposal. That's a document that's written  by someone who wants to make a significant 1:11:14change to Python. Basically, you're trying to  convince people that this is a good idea. It 1:11:19would be sent for discussion for a mailing  list and then eventually Guido as the BDFL, 1:11:24the Benevolent Dictator for Life, would decide  whether your change was going in or not. But 1:11:31people always have worried that the next change  is going to be the one that changes the feel of 1:11:40the language. It won't fit my brain anymore or it  won't be accessible anymore. I've actually seen 1:11:47people storm out of rooms saying, "You're ruining  this language." Some people take it very, very 1:11:52personally and seriously. And the Walrus operator  was no different. Yeah so, PEP 572, I don't know 1:12:00who coined the term the Walrus Operator, but  if you kind of turn your head, it looks like 1:12:04a little walrus. It was a new feature that was  proposed, but it was also a syntax change. The 1:12:13Walrus operator lets you do assignments, meaning  put values into variables in places that you 1:12:19previously could not. That was probably the most  contentious language change, oddly enough, because 1:12:26it's kind of a minor thing, but it it there was so  much passionate feeling about whether that should 1:12:31be added or not that it created kind of a bit of a  of a ruckus. When I first saw the Walrus Operator, 1:12:37I didn't like it. It kind of felt a little  un-Pythonic to me, but then I started to play 1:12:43with it. There was a particular use case that  I came up with in my own code that I was like, 1:12:47"Oh, you know what? This is actually pretty  cool". And so then I was like, well, I it's 1:12:53something that I won't use very often, but when I  need it, it's really great to have. And I turned, 1:12:58you know, 180° and became a fan of it. But it was  very disruptive. [Music] Language features and 1:13:06especially syntax can be a double-edged sword. So  one person's succinct, elegant code can be another 1:13:13person's unreadable puzzle or a fusticated mess.  There were very strongly voiced predictions about 1:13:21how bad it would be for Python. And then just  because Python was so much more popular at the 1:13:27time, there are so many places where people talk  about Python. I mean Twitter, you know, at the 1:13:31time. This is all happening in public, right? And  everyone can kind of with low effort throw their 1:13:37hat into the ring and not everyone is going  to restrain themselves when they're doing it. 1:13:45I started being more and more convinced  that PEP 572 was actually the right thing 1:13:50to do. I was the BDFL and I accepted  the PEP. And the next morning I woke up 1:14:04and I felt miserable 1:14:09because of all the attacks  that had happened before. 1:14:14I sat down at my computer, wrote a short email,  and hit send wherein I announced that I resigned 1:14:23at BDFL. And that had an incredible impact  because nobody had expected I would resign 1:14:33and certainly not that I would rage quit  over this issue, which essentially it was. 1:14:55[Music] 1:14:56Transfer of power. Now that PEP 572  is done, I don't ever want to have to 1:15:02fight so hard for a PEP and find that  so many people despise my decisions. 1:15:07I would like to remove myself entirely from  the decision process. I'm basically giving 1:15:12myself a permanent vacation from being BDFL  and you all will be on your own. I am not 1:15:19going to appoint a successor. So what are you  all going to do? Create a democracy, anarchy, 1:15:25a dictatorship, a federation? I'll still be  here, but I'm trying to let you all figure 1:15:31something out for yourselves. I'm tired  and I need a very long break. That was it. 1:15:40Haven't read that.. That was I thought that  was pretty well written. I like to say he mic 1:15:47dropped his way out. You know, he just was like,  I'm out. I'm done. You guys figure it out. So, 1:15:51it was a complete and total shock to me.  Yeah. I just felt really sad about it. I 1:15:58wish he would have retired under better  circumstances. I felt I needed to take a 1:16:06step back to sort of recover myself. I think a  lot of people really felt for Guido, you know, 1:16:13that he could be pushed to that point like  maybe we let him down to allow the vitriol 1:16:26over this change to Python to push, you know,  somebody that we cared about to that point. 1:16:35We all perceived that it was like a a momentous  occasion or like a significant change that 1:16:41you would put a mark in your timeline in the  history book in the history of Python, right? 1:16:46Because it had been run on the BDFL model for its  entire existence. So there was a little bit of 1:16:52uncertainty like, can this work at all without  got Guido? It's kind of a parent saying, it's 1:16:57time for you to grow up and figure it out on your  own. I'm not going to solve this problem for you. 1:17:05The first order of business was deciding on  how to decide. And it turns out some people 1:17:11have very strong opinions on voting systems.  Programmers love arguing about voting methods. 1:17:15I remember thinking this isn't going to work. Lot  of strong voices. It's really difficult when you 1:17:22have hundreds of core developers and thousands  of people online and millions of people in the 1:17:28community and probably billions of dollars of  software that run on Python. You can't think 1:17:35about that cuz it definitely gets overwhelming.  I will fully admit it was stressful. I had to go 1:17:42to an ear, nose, and throat specialist because I  actually was starting to choke on my own throat 1:17:46from the stress. It was not fun because if we  couldn't decide on how we were going to decide, 1:17:52the project was done. We really approached it  like the nerdy engineers we are. In Python classic 1:17:59fashion, we wrote a bunch of peps. We didn't want  to rush it because we knew we were going to have 1:18:03to live with this potentially forever. But we also  realized the world was watching and did not like 1:18:10the idea of not knowing whether this language was  going to be around in a year or not, because we 1:18:14couldn't stop bickering among ourselves about how  to run ourselves. People sponsored different kinds 1:18:20of models. I think there was one which was like,  let's pick another BDFL because that's what we 1:18:23feel comfortable with. And then there was various  kinds of committees and councils and we ended up 1:18:28settling on the five person steering committee.  Good morning PyCon! Thanks so much for joining 1:18:34us. So, welcome to our panel with the Python  steering council. Because there's five people, 1:18:40you don't have the same problem of like all  the stress and responsibility of making these 1:18:45decisions falling on one person. I actually  felt that it made sense for me to be on that 1:18:51first steering council given that there was  no longer feeling so burned out or attacked, 1:18:56to provide some amount of continuity. "You know  how this goes when your kid goes off to college. 1:19:02Some of you may have experience with that. you're  no longer directly involved in their lives maybe, 1:19:07but you never stop worrying. And that's how  I feel about Python at the moment. And that's 1:19:14why I [Applause] why I nominated myself  for the steering committee and here I am". 1:19:25There were elections for the second year steering  council and at first I nominated myself and then 1:19:31withdrew because there were enough other strong  candidates. They didn't need me and I was happy to 1:19:37uh to sort of let go of it. [Music] The legitimacy  that came from the replacement springing up from 1:19:56the community is essential to it being accepted.  It came from us, so it's accepted by us. It works. 1:20:06I think it works for us now. There may be a time  in the future where it doesn't work or pieces of 1:20:11it don't work. You have to be willing to evolve.  Change is the one universal constant of the 1:20:17universe. And so things will always change and you  have to be ready and willing to adapt to change. 1:20:31[Music] 1:20:38It started out as a hobby project. Definitely.  I think I probably wanted to prove something 1:20:43to myself more than anything. It exceeded my  wildest expectations and it actually continues 1:20:50to do so. I constantly hear from people whose  lives were completely changed by Python and it 1:21:00has created this incredible community which was  also a complete sort of bonus over everything 1:21:08else I had anticipated. This community that  has like a massive conference every year and 1:21:16smaller conferences in every continent I think  except Antarctica. There was one of the Python 1:21:26conferences where there was a few thousand people  in the audience. I remember just looking around 1:21:32and going, this is mind-blowing. That's the  point at which I knew we had achieved something 1:21:40important, something that made a difference in  people's lives and in the world. Python turned out 1:21:50to be much more successful than perhaps any of us  thought except maybe Guido and his team. I think 1:21:57they always believed that this was the future.  And of course, it's now one of the most popular, 1:22:02if not the most popular programming language  in the world. He spent two weeks in Christmas, 1:22:06in like 1989, writing a programming language  because he thought it would be fun. Like who 1:22:10would have imagined that that would be such a life  altering and also world altering thing to have 1:22:16done. I think it's been great for the world. I  think it's made people feel like they can get into 1:22:23programming when they never thought they could.  I think it made programming accessible to people. 1:22:28It's literally part of kindergarten through grade  12 education around the world. And is on Mars 1:22:36thanks to being used as a scripting language to  process the parachute of the Perseverance rover 1:22:41landing. Like it's hard to think of anything  that hasn't been touched by some Python code 1:22:45somewhere. It's mind boggling. It's an important  language. It's a popular language. It's a vibrant 1:22:52and relevant language today as much as it was in  the past and I believe as much as it will be in 1:22:58the future. Programmers 30 years from now will  be like, "Oh yeah, you know, I I'm still using 1:23:03Python." Just like today, people are still using  Fortran and C and C++ and those are old languages 1:23:09you know too in the scheme of things. Scheme  - Lisp another old language. So yeah. [Music] 1:23:35[Music] 1:23:40Now I keep thinking of like weird  jokes. There's this library in 1:23:43Python called Pickles because pickle is a  funny word I guess. The documentation used 1:23:49to have a footnote about how you should  imagine Guido and Jim sniffing pickles.