YouTube2Text

The Story of Python and how it took over the world | Python: The Documentary — Transcript

by CultRepo · 12,502 words · 769 segments · language en · Watch on YouTube

Full transcript

  1. 0:00Did you think Python was going to get popular from the beginning or?
  2. 0:05[Music]
  3. 0:14Python has contributed to making critical thinking a  little more approachable by more people.
  4. 0:21You can spend one to two hours,
  5. 0:23learning programming fundamentals
  6. 0:25and then you can write like 10 to 20 line of code
  7. 0:28that do something interesting.
  8. 0:29The language, the community, the ecosystem,
  9. 0:32the market, the whole thing has had such an  impact on humanity.
  10. 0:37Today, I think it's safe to say that almost anywhere there's a computer,
  11. 0:40there's probably some Python.
  12. 0:42It's literally on Mars.
  13. 0:45The impact of AI, I think we're still  seeing what that's going to be.
  14. 0:49Python is incredibly important for that.
  15. 0:52To fully understand how Python got so big, we have to go back in time.
  16. 1:00Maybe not that far back.
  17. 1:02Everything started back in Amsterdam in the 80s
  18. 1:05during my time at CWI, a Dutch research facility.
  19. 1:11The CWI had been behind a lot of major programming language developments.
  20. 1:17Algol 60 and Algol 68 for instance.
  21. 1:20And Lambert Meertens had tried teaching programming to artists
  22. 1:25and discovered things about
  23. 1:28programming that are easy, if you're a scientist  or a geek. But for somebody like an artist,
  24. 1:34those things weren't obvious because you had to  know something about the computer.
  25. 1:39The cause of the frustration was the low level of the languages that were available.
  26. 1:44The computers were immensely  expensive and compared with that
  27. 1:48a programmer was really really cheap
  28. 1:51and so programming languages
  29. 1:53were designed with that economic relationship in mind.
  30. 1:57It didn't matter if it took a long time to
  31. 2:00program as long as it didn't demand too much of  the computer because that's where the cost was.
  32. 2:06We looked at each other and said, can't we do a  better job? Can't we design a language that is
  33. 2:11easy to learn, easy to teach, but also easy to use.
  34. 2:15So that beginners could understand how to program
  35. 2:18without having to go into all those messy hardware details.
  36. 2:22And that's how the ABC project was born.
  37. 2:27One of the members of the team  was Guido van Rossum.
  38. 2:31[Music]
  39. 2:39I was hired to work on ABC for which  there was a small prototype but every
  40. 2:46part of the prototype had to be expanded  to fully working according to the spec.
  41. 2:54In 1985, we made the release of ABC. And  then we hit the problem: how to make the
  42. 3:01world know that there was ABC?
  43. 3:05We did not have a good way of reaching our intended audience.
  44. 3:11The web did not exist.
  45. 3:12Most people had never heard of a computer or even seen one.
  46. 3:17If anybody wanted a copy, they had to send us  a letter and we'd send them a floppy disc.
  47. 3:24So I'm afraid ABC reached very few people and  at some point the directors for reason, that
  48. 3:30I still don't understand, killed that project.
  49. 3:33I had spent, well, 3 and 1/2 years of hard work
  50. 3:39on this language and the implementation to make it as as good as we could.
  51. 3:44So it was disappointing.
  52. 3:46[Music]
  53. 3:49Guido was transferred to another  project on a distributed operating system,
  54. 3:55the amoeba system.
  55. 3:58One of my jobs at that project as the programmer, not the researcher,
  56. 4:03was to write, or help write, a large number of user applications.
  57. 4:09And I didn't actually think
  58. 4:12that for many of those utilities C was a  very good language.
  59. 4:18And I thought, well,
  60. 4:19oh man, if we just could program ABC instead of  C, each of those utilities would be like half a
  61. 4:27page of code and I could write the entire suite  of utilities in a couple of weeks instead of the
  62. 4:32years that it looked like it was going to take us.
  63. 4:35Except that ABC was so high and abstract,
  64. 4:40it wasn't a good language to talk to servers  and file systems and processes and it sort of
  65. 4:49the whole operating system thing was abstracted  away from ABC. So I thought, well, there really
  66. 4:56ought to be a language that sort of bridges the  gap between C and shell. And we looked at Perl and
  67. 5:03we didn't think it was any good as a programming  language. It was about as bad as as Basic,
  68. 5:11although in different ways. So, Python was also  in a part built as an alternative to Perl. That's
  69. 5:18where I decided, oh well, I'm going to see if  I can make my own programming language.
  70. 5:24[Music]
  71. 5:28One Christmas holiday, I believe, he decided  to spend his time designing and building a
  72. 5:34new programming language for the operating  system based on the principles that he'd
  73. 5:39learned while on the ABC project.
  74. 5:41It was logical that I would start with ABC as an example.
  75. 5:46The most prominent feature that  Python borrowed from ABC is actually the use
  76. 5:51of indentation for statement grouping. But it  was also logical that I sort of dropped the
  77. 5:59things from ABC that I didn't particularly  like. That's how we ended up with Python.
  78. 6:10Okay. I finally was confident enough of  the interpreter was complete enough that
  79. 6:18I showed it to Lambert. He showed me a  language he had developed stealthily,
  80. 6:24which he called Python, named after Monty  Python. I said look what I made. It was
  81. 6:31clear to me that it had some resemblance  to ABC. The command line prompt is even
  82. 6:36the same. So Lambert watched me type a few  things and.. Guido was excited about it and he
  83. 6:43apparently thought I would be excited as well.  At some point he had seen enough and he said,
  84. 6:48"Can I try something?" And he types one very  short line of code and it crashes the interpreter.
  85. 6:56And he knew that that it would. The point  escaped me. I didn't know why he thought
  86. 7:02this was better than ABC and why he had  done this whole project. I went back and
  87. 7:08the next day I had a fix for it. But it was  a pretty crushing experience to be honest.
  88. 7:28It must have been at least half a year  later, that I first got acquainted with
  89. 7:32Python. So this is the office where Guido  and I were holed up when he created Python.
  90. 7:40There were two important users. Sjoerd was  one of them and the other was Jack Jansen.
  91. 7:47Guido was sitting over there and I was sitting  over there. If you want to prototype a program,
  92. 7:54you sort of write the outlines of the program,  but it doesn't actually work. When you do this
  93. 8:01in Python, it actually works. It's readable.  It's very easy to program and the indentation
  94. 8:07is totally natural as far as I'm concerned  anyway. Sjoerd and Jack were the most active
  95. 8:13in using Python. You find bugs, you find the  things that you want to extend and then telling
  96. 8:18me about it because all they had to do was say,  "Hey, Guido." It was the first real interactive
  97. 8:26systems programming language. So, you could just  sit and write and run it immediately without any
  98. 8:30compilation. So, it was much more fun to use  than the old programming languages, but slower.
  99. 8:39I think it was mostly Jack's idea in  the end, while we all worked on it,
  100. 8:43to make an open-source release. CWI allowed  Guido to distribute Python to the world as
  101. 8:50long as its copyright notice was there. They  would have held back if they had known it
  102. 8:55would be such an incredible success, which  is good that they didn't know. Nobody knew.
  103. 9:00I didn't either. Because if they had held back,  it would never have become an incredible success.
  104. 9:08Then we had to actually physically do  the release which turned out to be an
  105. 9:13incredible pain because Usenet was  the only thing we had to release it.
  106. 9:22Usenet was a network of, you could say, bulletin  boards. People would write messages. They would
  107. 9:30get distributed over the world and then there  were the groups for all the different computer
  108. 9:35languages. Usenet had a very strict limit on  the size of a single post. First put your entire
  109. 9:44source tree in a tarball. Then compress it and you  have to do another step where you turn the binary
  110. 9:52data into ASCII encoding. So you have this huge  file with gobblygook, but it's at least printable
  111. 10:01gobblygook. And then you apply another tool that  snips it into pieces. Then there is a script where
  112. 10:09if you have downloaded all 21 parts, you can  undo all those operations in reverse. That was
  113. 10:16what people put up with. So we did all the work on  our side and plenty of people did all the work on
  114. 10:22their side to unpack this because I had apparently  written a very good teaser about what this was.
  115. 10:34[Music] Very quickly I started getting feedback  via email or Usenet from people who had done
  116. 10:42something exciting with it or who had  found a bug and that just kept coming.
  117. 10:50We worked at Johnson Space Center. So our interest  was putting together flight simulations and tools
  118. 10:57for the design engineers that would be used  for the shuttle program at the time. I remember
  119. 11:05needing a scripting language to control a C++  library project we were working on at the time.
  120. 11:14Not too long into that search, I found Guido's  Python distribution at CWI. I was able to FTP
  121. 11:21that down, unpack it, compile it, and run it in  a matter of 10 minutes or so. That was my first
  122. 11:33impressive experience with Python. 20 years ago, a  computer that cost a million dollars and filled an
  123. 11:41entire room had less capability than an 11 pounds  desktop computer today. With costs going down and
  124. 11:48capabilities going up, the computer has entered  our lives quickly and unobtrusively. There were
  125. 11:53lots of things changing in a major way that made  computing particularly exciting to be in. At that
  126. 11:59time, computers suddenly were coming out of the  machine room and landing up on your desk. And
  127. 12:04then of course the web happened. Then it all  exploded. After the internet came to Europe,
  128. 12:10it was much easier for software to be distributed.  Python very slowly took off. Then there was
  129. 12:17a growing Python community which was very  supportive like a big family you could almost say.
  130. 12:30Part of the benefit of this is that I don't..  I'm like, there's no strain on my body at all.
  131. 12:37I was working on developing a kind of distributed  equipment database and a colleague at the lab,
  132. 12:45Michael McLay, knew that I was looking for  what was called a scripting language that was
  133. 12:51also sophisticated that would enable you to build  substantial things and not get bogged down in the
  134. 12:57ragged edges. Scripting languages were designed  to glue things together, to connect things that
  135. 13:04already worked, that already existed. Immediately  on trying it, I was just amazed and thought this
  136. 13:10can't be as good as it is. And it was. Mike was  interested in bringing Guido over and Guido was
  137. 13:18interested in coming over. 99% of the people that  I got in touch with were in the United States.
  138. 13:26So Guido ended up coming and then Mike and Guido  and I wanted to arrange a workshop so people who
  139. 13:33were interested in Python could gather and talk  about what they were working on and what they
  140. 13:38felt was needed. This is the t-shirt for the first  conference. And so this yeah that that was just
  141. 13:47sort of flowy writing and on the on the back it  gave the date of the conference. Spam, spam, spam,
  142. 13:55spam. It's such a fantastic song. That workshop  really is for me the beginning of the Python
  143. 14:02community. November 1994, Gaithersburg, Maryland  in this windowless government office building at
  144. 14:09NIST. That was a great experience. It was about  two days. We had 20 people. I still have the
  145. 14:15t-shirt from that workshop. There was just kind  of this feel of, hey, there's something happening.
  146. 14:20This will be fun to hang out with the people  that I chat with online, to actually see Guido
  147. 14:26in person and actually make decisions. And we knew  that if you impressed him with the feature and it
  148. 14:31was an easy thing to install, he would add it to  the language right there so that we can at least
  149. 14:35try it out in beta form. There was like a whole  room of people who knew what you were talking
  150. 14:39about because they had all studied Python deeply  or almost all. One of the people was Barry Warsaw.
  151. 14:51[Music] Around 1994, I joined a company, CNRI,  Corporation for National Research Initiatives,
  152. 15:01and we were building these software agents,  little programs that can move around to
  153. 15:07different computers on a network, and they pickle  themselves up and move around to another place and
  154. 15:12reconstitute themselves and do some more work.  A friend of mine from NIST sent me an email and
  155. 15:18said, "Hey, we've got this guy coming over from  the Netherlands and he's going to talk about his
  156. 15:22language. Do you want to come?" And so we went  to the workshop and just absolutely fell in love
  157. 15:28with of course Python and of course Guido. Even  then, it had the feeling that there was a there
  158. 15:36there was something that was going to happen  that there was potential. I remember coming
  159. 15:42back to CNRI saying, "Oh, this is great. we're  going to use Python for sure in our project. And
  160. 15:48one of our colleagues at CNRI said, "Well, what  do you think? Why don't we just hire Guido?"
  161. 16:04CNRI was set up to sort of promote information  infrastructure and foster research, help build
  162. 16:11pilot projects, take the results and put  them out into the public so that others
  163. 16:16could then leverage it. Part of CNRI's mission  was to cultivate internet based things. That's
  164. 16:22why our name Corporation for National Research  Initiatives has the word "initiatives" in there.
  165. 16:32We had a need for a language that would be easier  for people to deal with than any other traditional
  166. 16:40languages that were around at the time. I ran  across a photograph. There was a party at CNRI,
  167. 16:46years ago. It was probably I think 1996.  And it's it's a Guido. Yeah. I used to say
  168. 16:56Guido. Many people say Guido, but I said Guido  and I'm sure I don't pronounce it right. Oh,
  169. 17:02he was a very stylish person and he was a very  strong fellow. Got introduced to him and it just
  170. 17:07seemed like it was a good fit and so I made the  job offer. For me, it was fantastic. There is no
  171. 17:13doubt about that. One of the things he insists on  if you want to get him to work for you is that he
  172. 17:18has some fraction of his time, preferably as much  as halftime if not more, to work on the language
  173. 17:25itself. the fact that they could work full-time  on Python because it turned out that the Knowbots
  174. 17:31project was almost more an excuse to to hire  me than I did much for that. I kind of feel
  175. 17:38like our work on Python was a little subversive.  You know, we tended to spend a lot more time on
  176. 17:44Python than maybe we should have. I went to  CNRI and since I had been a systems person,
  177. 17:50I was responsible for setting up python.org. We  should have also grabbed python.com even though
  178. 17:56we didn't think of Python as a commercial  enterprise because someone else got it and
  179. 18:01uh used it to host a stupid porn site. For years  we had to warn people go to python.org, not .com.
  180. 18:13It really was the perfect home, I think, for doing  all of that early Python development - and develop
  181. 18:18a lot of the infrastructure around Python. We  had a meeting discussing making some kind of user
  182. 18:24group or software organization where the Python  software activity was proposed. We need a little
  183. 18:30bit of governance, a little bit of organization,  but we don't want too much because I don't think
  184. 18:35any of us really liked bureaucracy. And then the  question came up about what we should call Guido
  185. 18:40as part of that. I think it was me who suggested  that Guido be called the Benevolent Dictator and
  186. 18:48then Barry suggested Benevolent Dictator for Life  and that became an internet meme or actually a
  187. 18:55software meme. Benevolent Dictator for Life was..  you can find it on Wikipedia. Ultimately, you
  188. 19:05know, Guido was the inventor of the language and  the final decider about yes, this is going to make
  189. 19:11it in or this is not going to make it in. I think  I developed my own style during those first years.
  190. 19:19All ideas are welcome, but I will choose which  ideas I believe are right to add to the language.
  191. 19:27There's dozens and dozens of aspects of  Python today where somebody had a vision for,
  192. 19:36if you just add this to Python, look at  all these amazing things that I can do.
  193. 19:45[Music]
  194. 19:48I'm one of the many people that came to Python,  not as a programmer, but as a scientist. Python
  195. 19:53wasn't the first language I used for science. I  was doing satellite data processing and I used
  196. 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
  197. 20:01had no idea. Python had the opposite experience. I  first started using Python in 1997. I just used it
  198. 20:07to do some scripting, do some data processing with  some medical imaging data and I was like this is
  199. 20:12nice. This is pretty cool. A year later, so 1998,  I came back to look at the code I'd written and I
  200. 20:18could read it. I understood what I did. And that  was kind of for me the convincing data that said,
  201. 20:23"Oh, I need to dig in on this language."  And there were a few really key people at
  202. 20:28that time who were publishing or talking about  how to use Python for science. Not very many,
  203. 20:32but a few. Konrad Hinsen was one of them, I  remember, and David Ascher and Jim Hugunin.
  204. 20:38There's been a number of stages in the life  cycle of Python, when it just grew from a a core
  205. 20:45language capability to a platform with a number of  different specialty modules and packages that made
  206. 20:52it very very useful for certain user communities.  The first one was probably the numeric community,
  207. 20:59the science and engineering folks that wanted  high performance matrix operations to be done.
  208. 21:04Even though Guido wasn't a scientist himself,  wasn't necessarily deeply concerned with the
  209. 21:09same things that we were concerned with as  scientists, he was open to the suggestions.
  210. 21:16I think one of the things that people don't  appreciate about the Python language as much
  211. 21:19now that it's so popular and mainstream  is how important it was that Guido was
  212. 21:25open to new ideas and open to the needs of  people who are not traditional programmers.
  213. 21:32I think he had a very clear-eyed quiet focus  on understanding some things about the future
  214. 21:41that he built into the language. It was uniquely  suited to its environment. One of the reasons I
  215. 21:46used Python and I think a lot of people used  Python at the time is that in the early 2000s,
  216. 21:50the world was almost divided into here's an  open source ecosystem or you can go and use
  217. 21:55Java which is actually a paid thing. I  was using MATLAB. I really didn't like
  218. 22:00the fact that when I wrote code and I  wanted to share that code with others,
  219. 22:02I was essentially telling people they had to go  buy a license for a software package before they
  220. 22:07could even look at my or use my code. You  know, these are the days where you have to
  221. 22:10like buy the developer tools or spend a couple  hundred bucks to get Visual Studio 6.0 and then
  222. 22:16Python and then all of these libraries were open  source and then could be adapted, could be used
  223. 22:21in a commercial project. I was sort of early  on convinced by community members that Python
  224. 22:27being open- source and the particular way it was  open source was very important so that people
  225. 22:33would feel comfortable using Python to make great  things that they would then be able to to sell.
  226. 22:51[Music] In 1998, Blender was published on  the internet. The software was free and
  227. 22:58then you could buy some things around it.  We were restricted to use open source. So,
  228. 23:04you didn't have a lot of options. We were doing a  call on our website like what is the most popular
  229. 23:10scripting language that we should add in Blender?  Perl was really big and Python was upcoming and
  230. 23:18there were some others. And it was interesting  to see that everybody who was advising us to
  231. 23:24use Perl as scripting language but they only  advertised how great Perl is. And the people
  232. 23:32who came more from the Python background who  said well I think Python is a better choice.
  233. 23:38They came with a balanced opinion. And they  said okay Perl will give you this and this
  234. 23:43and this and Python will give you other things  and balancing all of it I would recommend you to
  235. 23:49do Python and only for that reason I picked  Python just because the people were nicer.
  236. 24:04It was honestly just a lot of enthusiasts. It was  a lot of people who just enjoyed the language,
  237. 24:09enjoyed the people involved with the  language and it would just happen
  238. 24:12to be typically motivating enough for  people to want to help out. Ultimately,
  239. 24:16there's a sense of fun that comes across  and Guido coded that into the name of the
  240. 24:21language influenced by Monty Python. It creates  a sense of community to have your little jokes.
  241. 24:30Tim Peters is a famous early example of blending  both like the aesthetics of Python and humor. Tim
  242. 24:37Peters was this mythical feature.. creature in  the world of Python, and no one had met him. He
  243. 24:45was out there in the ether as a wise one to give  us advice on what to do with numerical processing.
  244. 24:51Steve Majewski sent me some email telling me about  Python. So I started a email correspondence with
  245. 24:58Guido about the language and about the design  and I got some of the pre-release code and played
  246. 25:03with it and talked to him about design decisions  and liked it very much. Tim Peters was a Python
  247. 25:10contributor and community member and mentor  to me from very early on. Tim was a channeler
  248. 25:18of Guido. He had a really unique way of saying: I  think Guido's going to like this or I don't think
  249. 25:24Guido is going to like that. There's a poem called  the Zen of Python which is a partially humorous,
  250. 25:30partially serious poem about the the aesthetics of  of Python. I'm actually looking at the Usenet post
  251. 25:39where Tim posted his first version of the Zen of  Python, although he called it the Way of Python.
  252. 25:47And it was in response to some discussion  where people were complaining that they
  253. 25:54didn't understand what was Python's philosophy.  They couldn't figure me out. And Tim had figured
  254. 25:59me out and he put it basically in poetry. Here  is the Way of Python by Tim Peters from 1999.
  255. 26:09Beautiful is better than ugly. Duh. Explicit  is better than implicit. Simple is better than
  256. 26:15complex. Complex is better than complicated. And I  love that distinction. Flat is better than nested.
  257. 26:23Sparse is better than dense. Readability counts. I  will say it counts for a lot. Special cases aren't
  258. 26:29special enough to break the rules. Although  practicality beats purity. Errors should never
  259. 26:36pass silently unless explicitly silenced. In the  face of ambiguity, refuse the temptation to guess.
  260. 26:43I did not follow that in a very key piece of NumPy  and it's still a mess. There should be one and
  261. 26:51preferably only one obvious way to do it. That's  a direct reference to Perl's motto of there's
  262. 26:59more than one way to do it by the way. Although  that may not be obvious at first, unless you're
  263. 27:03Dutch. Now is better than never. Although never is  often better than right now. If the implementation
  264. 27:09is hard to explain, it's a bad idea. That's a  really good one. If the implementation is easy
  265. 27:15to explain, it may be a good idea. Name spaces  are one honking great idea. Let's do more of
  266. 27:21those. This is so Tim. Normally 'import this',  imports some useful library, which is very serious
  267. 27:31business. Having an 'import this' that was just  a joke was a bit of lightness that we liked to
  268. 27:38add. This is from a small hobbyist community,  right? Because if you're a corporate behemoth
  269. 27:43making a a programming language, like someone's  probably going to tell you that you can't put a
  270. 27:47silly poem in your in your programming language,  but Python's just made by dogs on the internet,
  271. 27:52so they can put poems in their software. [Music]  The different ways to make money on the internet
  272. 28:00are just beginning to emerge. Entrepreneurs are  putting their faith in a new medium to deliver
  273. 28:05the big payoff. It's the dot-com bubble, all  this money pumping into Silicon Valley software
  274. 28:11and internet stuff. Early 2000, I decided to  leave CNRI and with a few co-workers joined
  275. 28:19little startup named BeOpen. While CNRI, I think,  was an amazing home for Python in the early days,
  276. 28:27everything changes and everything evolves and  thinking, well if we're going to strike out on our
  277. 28:31own this is probably the right time to do that.  That didn't work out. I'd say within maybe a year
  278. 28:38or something. BeOpen was completely incompetent.  We spent the summer in blissful ignorance working
  279. 28:45full-time on Python. We built and released Python  2 and within 5 months it was over. We were paid
  280. 28:53our salaries every 2 weeks, and then suddenly in  late October we weren't. [Music] It was a moment
  281. 29:02where the [ __ ] could have hit the fan. If all  the Python guys went their separate ways... Python
  282. 29:08wasn't big enough to survive that at the time.  That was when I had a company Digital Creations
  283. 29:14that later became Zope, which is an application  server, database server, index server, web server,
  284. 29:19etc. Very large scale commercial quality  application written in Python. And if Python died,
  285. 29:26you know who else would die? We'd die. The whole  platform was built on Python. So they were Python
  286. 29:32experts. We need to go and make sure that Python  is secure for the future and that the team stays
  287. 29:40together. So we negotiated an agreement with them  to join my company. That was an incredibly lucky
  288. 29:49rescue. We felt like we really trusted them  and we believed in what they were doing and
  289. 29:53what they wanted to do with Python and for Python.  This is a place that I'm proud of. In hindsight,
  290. 30:00it was a really critical point in Python's life.  I think if we had chosen wrong or tried to say,
  291. 30:06"Oh, well, we'll just strike out on our  own anyway." You never know. But I'm not
  292. 30:11so sure that Python would have survived  that juncture in its life. Yeah. [Music]
  293. 30:33[Music]
  294. 30:33Python just kept sort of growing and  the community kept self-organizing.
  295. 30:40One of the I think underlying themes of Python,  if you take it in its totality, is this sense of
  296. 30:48grassroots movements. Things grow from the bottom  up and evolve to the point where everybody sort of
  297. 30:56realizes, oh, we need a little bit more structure.  Oh, the Python Software Foundation. In my opinion,
  298. 31:02the PSF, that damn thing was a success from day  one. That came out of one of the concerns we had
  299. 31:10had with BeOpen actually. So CNRI had written  a license for Python and put its name on it and
  300. 31:19BeOpen had copied a version of that license  and put the BeOpen name on it. There was a
  301. 31:26concern that at some point I might accidentally  end up working for a company that tried to grab
  302. 31:32ownership of Python. We realized that we really  need an organization that will be independent,
  303. 31:39will not be beholden to any company and their  whims and their lawyers and will really keep
  304. 31:47Python users as their first and foremost customer,  so to speak, in mind. [Music] And then the magic
  305. 31:59happened when we got into PyCon, which is maybe  the third stool of the miracle of Python. [Music]
  306. 32:17What has been your take away from PyCon US this  year? It feels like people are still willing to
  307. 32:24go do hard things, work on things together, you  know. Wow. They still do have the passion to be
  308. 32:29honest. So, what was it for you? Uh, for me most  definitely like meeting people I haven't met in
  309. 32:35a while. That's cool. Yeah. And just pretty  much hanging out with them. You try to walk,
  310. 32:40Yeah, to the other side. There's like 10  people that you want to see in between like
  311. 32:45stop. I want to talk to you. Oh, I know. Pablo  and Yuri presented as bananas and then Lukasz
  312. 32:52asked the question dressed as a banana.  And then Guido came in just as a banana
  313. 32:56as well. Thank you for what you do for the  PSF. Please don't step down. Just keep doing
  314. 33:01it forever. Raise your hand if you love the  web. Just raise your hand. Raise your hand
  315. 33:08if you have done React front-ends. Raise your  hand if you would like to come back. To React?
  316. 33:17No, come back to Python. All right. Good. For  the record, 100%. I begged my mother to take
  317. 33:24me to PyCon and I met all my online heroes. He  was this distant Benevolent Dictator for life
  318. 33:33who I'd been talking to over the internet, but  here he was in person and so I was thrilled to
  319. 33:38be able to finally meet him. Then I  think everyone was aware that he was
  320. 33:43a 15-year-old kid on the other end of the  terminal. When PyCon was held in Montreal,
  321. 33:49the organizer asked me if I'd be willing to  give an opening address to the conference. Well,
  322. 33:55I'm a slightly fast talker and I had some spare  time and I just used it as an opportunity to say
  323. 34:02thank you. "I like to think of it as I came for  the language, but I stayed for the community. So,
  324. 34:06I want to personally thank all of you for  making this such a wonderful place to be
  325. 34:10and such a wonderful group of people to be  around. So, thank you". Luckily, it came
  326. 34:15off well because people still quote it. I think  it kind of speaks to the core ethos of Python.
  327. 34:21We try to develop this tool that people can use  for their needs to get their work done. But the
  328. 34:28community is the true strength of Python. It's  not just the language, right? It's the people.
  329. 34:36[Music] It was steadily growing every single  year. It was getting more and more downloads,
  330. 34:43more and more people making use of it. It  became a more sophisticated language that was
  331. 34:50fit for purpose for this new emerging programming  paradigm where the the web itself is the platform.
  332. 34:57He told me an interesting number that that made me  realize that the Python user community was already
  333. 35:04much bigger than I had estimated because  he said, "Guido, you don't know the sales
  334. 35:10numbers for Python books, but I am Tim O'Reilly.  I published the two most important ones and I do
  335. 35:17know the sales numbers and they are fantastic."  I don't know if he had that much enthusiasm in
  336. 35:23his voice then, but he was sharing this new  to me important fact which made me realize,
  337. 35:30oh my gosh! Python tends to get spikes when  certain specialties, I guess you could say,
  338. 35:38pick the language up and decide that this is  a thing that they want to use in their area.
  339. 35:44Everybody wanted to to do things with the  worldwide web and Python actually became
  340. 35:49a really powerful platform for for doing not  just web pages but web servers and services and
  341. 35:57suddenly we had an increase of people coming in  from the web world. [Music] I think Dropbox was
  342. 36:07one of the early companies to start building  in Python and reaching millions of users.
  343. 36:14My name's Drew and I'll be showing you a quick  tour of Dropbox, which is a new way to store and
  344. 36:18share files online. Python had been largely viewed  as scripting language you run on the back end or
  345. 36:24maybe in an academic setting or in a scientific  setting, but not really for like production
  346. 36:29desktop software that you ship to millions of  people. But I just started writing in Python
  347. 36:33and hoping that none of the roadblocks would  completely blow me up. You can develop programs
  348. 36:38much faster in Python because it's a higher level  language and it's a very clean easy language and
  349. 36:43so we could we could be a lot more competitive  than other companies who were writing with Java
  350. 36:48or C++ or Perl. Even back then we were competing  against the Google's and Microsofts of the world
  351. 36:54and you know our odds didn't seem very good. So  we needed all the help we can get. Google had this
  352. 37:00big team like a hundred people, C++ programmers,  trying to do a video hosting site and they could
  353. 37:06never keep up with this little thing over there  called YouTube and they went and looked and it was
  354. 37:10just a couple of people writing Python. Python  ended up being a big force multiplier on our
  355. 37:16effort and no other language that we considered  had anything close to that kind of capability.
  356. 37:27[Music]
  357. 37:28The fact that data science suddenly  became a thing that you had to do,
  358. 37:32combined with the fact that Python was sort  of well positioned to do data science stuff
  359. 37:39meant a huge amount of new Python users flowed in.
  360. 37:50What was starting to happen in the 2009-2010  time frame, we were seeing more and more of
  361. 37:56our consulting deals tied to using Python not as  really a replacement for MATLAB or engineering
  362. 38:03type things, but using Python for doing data  processing. We didn't call it data science at the
  363. 38:09time, but it was that kind of work, right? It was  modeling, predictive analytics, things like that.
  364. 38:13This is the time of Hadoop, the time of big data,  the time of Spark, and people were doing Java at
  365. 38:18scale. We were starting to do much more consulting  work in the financial industry and we'd walk into
  366. 38:24these large very well-capitalized firms and they  were using Python to do business data processing.
  367. 38:28I realized okay if it's a research group over  here doing some science research and they don't
  368. 38:33have money and they use an open source thing  I get it but if you have JP Morgan right which
  369. 38:38has a lot of money and they're picking up and  using these scientific tools and they're loving
  370. 38:43it. I realized that we didn't just have a cheap  free alternative. We actually had something that
  371. 38:48was innovative and that was doing something fairly  unique. Peter and I ended up leaving Enthought and
  372. 38:55starting another company. We started as Continuum  Analytics actually and its vision was to scale
  373. 39:02NumPy and Pandas to large data sets and large  clusters. We quickly ran into a simple problem,
  374. 39:08very quickly in, but a very annoying problem.  Yes. people just couldn't even install the
  375. 39:12software needed to run all this Python stuff. The  thing about the Python scientific and data stack
  376. 39:19is that all of these different libraries, they're  very different than the web development libraries
  377. 39:23because these data libraries are often backed  by a very large amount of complex C++, Fortran,
  378. 39:28other kinds of software modules. And to build  those correctly takes some work. To build them
  379. 39:34correctly on every operating system takes even  more work. And then to build them so that they
  380. 39:38can actually be connected together, that requires  you to have this entire build system rationalized.
  381. 39:44And so the very first thing we did was like make  a distribution of Python to make it easy to get
  382. 39:48that installed. A lot of the data science Python  people, they didn't even use normal Python. They
  383. 39:52used this Anaconda Python distribution. Sort of  a dumb joke that I came up with at one point.
  384. 39:56It was basically Python for big data. So it's a  big snake. So Anaconda. After like a few years,
  385. 40:03we kept going to conferences and going  to places and people wouldn't know who we
  386. 40:07were. But the instant that we mentioned that  we make Anaconda, they would say, "Oh, yeah,
  387. 40:11of course. I love Anaconda. I use it all the  time." Right? So, after that happened like the
  388. 40:14thousandth time, we said, "Okay, maybe we should  rename the company Anaconda." Data engineering
  389. 40:19became a discipline where Python was incredibly  entrenched. It was Python and R. And over time,
  390. 40:26Python's data analysis libraries caught up and  plotting libraries and stuff started to catch up
  391. 40:31to what R had. And then people realized, oh well,  with Python, I can work end to end with my data
  392. 40:36versus R being very good at data analysis, but  not necessarily like the data collection stage
  393. 40:42and various other stages. I remember going to  a Python conference at one point. I was like,
  394. 40:46there's so many sciency people here like where  are all the web developers? This is all data data
  395. 40:52pipelines and stuff. I don't want to be immodest  about this because it was a collective effort for
  396. 40:55the whole community, but I think that what we  did at Anaconda, not only making the software
  397. 40:59installer that made it one click for people to  just run, but also shephering the conferences
  398. 41:04and building that community and and whatnot  was really critical. They were incredibly
  399. 41:09important contributions. I think we actually made  Python super popular. I I think we did. [Music]
  400. 41:24Well, I remember hearing from a friend of  mine that Guido van Rossum was just working
  401. 41:28at Google. And that when I thought about  it, I'm like, wait, yeah, Guido, I guess,
  402. 41:34works at a normal company and I can't remember  the exact circumstances, but I think either
  403. 41:41I got an introduction to him or I just maybe I  think maybe just send him an email saying, "Hey,
  404. 41:45um, big fan of your work." you know, it's like fan  mail basically. And he responded and we got lunch.
  405. 41:52I mean, he's a hero of mine and he was totally  friendly and approachable. And at that talk,
  406. 41:58it was revealed that Dropbox was entirely written  in Python, both the client and the server,
  407. 42:04and that was exciting. He was interested in  what we were doing with Python. And I think
  408. 42:08we were stretching the language and the runtime in  interesting ways. He approached me again and said,
  409. 42:15"Hey, we would really like you to work for us."  And then to my surprise and delight, he ended up
  410. 42:21joining the Dropbox team, which was super exciting  for all of us. I stayed there for 7 years. We did
  411. 42:28more important stuff for Python than I did during  7 years at Google I think. I think he had a big
  412. 42:35impact on the rest of the team. You know, here's  someone who's one of the icons of computing,
  413. 42:39but you would never know it just from his, you  know, how he badges in to the office every day
  414. 42:45and I think set a really great example in terms  of being super humble and curious and friendly.
  415. 42:52You know, it's hard for me to think of someone  who has had more impact with lower ego. Uh,
  416. 43:00let's start with the first Python license  plate. Sorry, that was my car when we lived in
  417. 43:08Virginia. And there was a box on the application  - sorry, just grabbing the other one, too - uh,
  418. 43:17do you want a custom license plate? So, I managed  to get Python in Virginia and in California,
  419. 43:23Python was long taken. Like someone in Silicon  Valley probably has a Python license plate
  420. 43:30somewhere. So, the best I could get was PY3K,  which I thought was pretty pretty cute anyway.
  421. 43:40It became ever more popular and people  started thinking about flaws in the
  422. 43:46language. There were a lot of ideas floating  around the core development community,
  423. 43:51changes you could make to the language that  people thought would be major improvements.
  424. 43:54The only problem with them was that they would  break old Python code that currently existed.
  425. 44:00Some of that probably got away  from us a little bit in hindsight.
  426. 44:06We released Python 3.0 in December of  2007. I remember because I was actually
  427. 44:15interning under Guido at the time. We were  giving people roughly 5 years, I think,
  428. 44:20to do the transition. And everyone thought  that was just extraordinarily generous. The
  429. 44:25world would totally be on Python 3 in just a few  years. This is best for the language long term.
  430. 44:30We're going to make these changes. The community  has always come along with us. We think they'll
  431. 44:33come along this journey as well. We were very  naive about that and they they made us know it.
  432. 44:43The community said, "No, not worth  it. Kill it. Don't do it. It's not
  433. 44:47going to work." This included some very  notable individuals in the community.
  434. 45:03So, please welcome our next speaker.
  435. 45:09Hi, my name is Armin. You might be familiar with  some of the Python libraries that I wrote and
  436. 45:14you might even maybe use some of them. The  Python 2 to Python 3 transition. Initially,
  437. 45:19it happened very gradually over many years. There  was the version that everybody used and there was
  438. 45:24sort of the version on the side that was built  that nobody used. People didn't want to put in the
  439. 45:27effort because their code worked, you know, why  rewrite it. It's very hard to mix Python 2 and 3.
  440. 45:37It's uh it's a it's a headache.  So I just didn't move and a lot
  441. 45:41of people didn't move. It felt there's a  likelihood that it will not go anywhere.
  442. 45:46It felt much more like a top-down decision than  any of the things in the past. And that top- down
  443. 45:53decision, I think for some people felt like it  was not inclusive of the real pains of people who
  444. 46:00had a long tale of use cases. I think I severely  underestimated how successful Python already was.
  445. 46:08How many people had written so much code in  Python 2 that it would be hard for them to
  446. 46:16sort of put the effort into translate to Python  3. I thought the most controversial thing by far
  447. 46:23was that we wanted to change the way Unicode  was handled. A way to say these things are
  448. 46:28strings and they're human consumable. They're  words that people want to read and write and
  449. 46:32these things are bytes. These are things  that computers want to read and write.
  450. 46:39We basically made all strings Unicode and we made  you use a new prefix 'b' for bytes. And this was
  451. 46:46incredibly disturbing. I was implementing  a WSGI library at the time and one of the
  452. 46:50things that you do when you implement WSGI,  is that you have to parse HTTP data. You have
  453. 46:54to parse cookie data. And there there was  always a mixture of bytes and Unicode. And
  454. 46:59it was very easy to work with on Python 2. And  it was incredibly annoying to work on Python 3,
  455. 47:04at least initially. There really wasn't  a way to convert your Python 2 code to
  456. 47:10Python 3. The tools didn't exist. I  started writing blog posts about it.
  457. 47:14Why I think that in the way which Python 3  works right now, I just cannot see the move.
  458. 47:31He was a valued community member. And at  the time I was actually quite surprised
  459. 47:37that he was so viciously attacking Python  3. I was probably even more negative on it
  460. 47:45than appropriate. But Python had such a good  run and I put so much energy into it. I was
  461. 47:50part of like building out web frameworks  and and all these libraries. I felt like:
  462. 47:54why are we ruining all of this with this move  that didn't even have that many benefits.
  463. 47:59I had not appreciated how many people already  had enormous code bases or were on their way
  464. 48:06to building up enormous code bases. The payback  for that was that I had to initiate the project
  465. 48:13at Dropbox. We had a pretty long road to migrate  many millions of lines of Python 2 code. 5 million
  466. 48:22lines of code in the server alone and another  million for the client. That is a very large
  467. 48:28pile of code to transform. And so we had to  invent ways of sort of doing it in in pieces.
  468. 48:55[Laughter]
  469. 48:56A funny sticker I found in my pocket.  There's a built tool called Bazel.
  470. 49:01It's sort of a frozen version of  Python 2. So here the sticker says
  471. 49:07after re-education enemy of the people  Python denounced their bourgeois class,
  472. 49:12renounced formalist notions like Turing  incompleteness and began a new life as
  473. 49:18citizen Starlark. This is especially an  example of Benjamin Peterson's humor.
  474. 49:27I had the fortune or the misfortune depending how  you see it to be the uh Python 2.7 release manager
  475. 49:33for an entire decade. We had to adjust our plans  for Python 3 and for Python 2 so that there was
  476. 49:41a longer series of releases where there were both  new Python 2 versions and new Python 3 versions.
  477. 49:48What ended up happening is then the community was  like maintaining 2 and 3 and that created a lot
  478. 49:53of burden. And so this was happening all during  the growth of NumPy. We made it work for Python
  479. 49:592 and then I think Python 3.1 I think or 3.2,  we also made it work there but saw no adoption.
  480. 50:11We knew it was going to take a long time.  Uh we knew it was going to be painful but
  481. 50:17there is light at the end of the tunnel. The  community contributed stuff like lib2to3 and
  482. 50:22other migration tools came out. Benjamin Peterson  wrote Six that really helped that transition. The
  483. 50:29language itself became a little more backwards  compatible. I eventually advocated to bring
  484. 50:34back the 'u' prefix on the strings and that  actually made it easier to write unified code
  485. 50:39bases that target both Python 2 and Python  3. There was a point in time where we made
  486. 50:43a very strong declaration, there will never  be a Python 2.8 and Python 3 is the future.
  487. 50:53Python 3 just is a better language and it  is getting better over time. Python 2 on
  488. 51:00the other hand is a fine language and it will  remain exactly what it is. For a long time,
  489. 51:06there was a lot of measurement of how much  Python 2 usage is there, how much Python 3
  490. 51:11usage is there. I think it was when Python was in  Portland, was roughly when we started to see like
  491. 51:1650/50. Once 3.4 came out, it actually added some  features that were interesting to people like, oh,
  492. 51:22I want that capability. So, to me, Python 3.4 was  really Python 3.0. And then 3.5 was an even bigger
  493. 51:30milestone. That was the one that got widespread  adoption of Python 3. And by the time Python 3.5
  494. 51:36came out, then it was clear that Python 3 would  work. And then you started to have companies come
  495. 51:40out and give talks like Instagram's talk, which  I believe is also at Portland, was a big deal.
  496. 51:48Yes, you heard it right. Instagram has been  running fully on Python 3 for a few months.
  497. 51:54The whole process took I would say about 9 to  10 months. And I think Instagram was the largest
  498. 52:00production deployment for Python at the time. She  gave a very good, very thorough talk explaining
  499. 52:06why they did it. Two main things: typing and  asyncio. How they did it. We cleaned out all
  500. 52:12the libraries that are not making the migration  from Python 2 to 3. How you should do it. Unit
  501. 52:17test. What they had learned during the process. We  had actually some good performance gains as well,
  502. 52:22after our migration. It felt as vindication  that at least there were large companies that
  503. 52:30took the time to do it right and to convert all  their code to Python 3 and were able to do it
  504. 52:36successfully. It was definitely well received.  We got a lot of people saying: we really wanted
  505. 52:41to migrate as well, but we weren't getting the  kind of support that my team or my company was
  506. 52:47giving us. And now I can bring this back to  my management. And that really gave people
  507. 52:52the confidence in migrating to Python 3. It became  like a look, Instagram can do it. Why don't you
  508. 52:59do it? Instagram's getting benefits, new features,  faster code. Why don't you also want that benefit?
  509. 53:12[Music]
  510. 53:18Projects undergo things like this. And Python  learned a lot from it and it did actually
  511. 53:23eventually end up with Python 3 being in a pretty  good spot again that it was safe to use. And safe
  512. 53:29to use sounds weird but like where I felt like I  can actually start new projects on Python 3 now
  513. 53:34because we're back to a stable situation where  you're about as productive as I felt like I was
  514. 53:40with Python 2. Hi, Anna, nice to meet you. I  really liked your talk. But it was basically
  515. 53:44time that healed it. When Python 2.7 was declared  that there wouldn't be any more security fixes,
  516. 53:50it became a security concern. That was sort  of the final push. People who donated their
  517. 53:56work to do this migration in the wider Python  world and community eventually got the world
  518. 54:01running on Python 3, but as I said like it  was a decade long process. And I don't think
  519. 54:06anybody anticipated how much work it would be  to move to Python 3. I think Python's probably
  520. 54:11too big to ever go through a transition like that  today. The community was maybe a little too big,
  521. 54:19but not too big. I even still get angry  messages sometimes from people who are like,
  522. 54:24"My code needs Python 2.7. You need to  provide it." And I tell them, "No." I
  523. 54:31never wavered in my commitment to Python 3. It  was a lesson learned for sure. For a long time,
  524. 54:37I regularly joked there would be a Python 4, but  the transition would be handled much better than
  525. 54:43the transition to Python 3. I felt I owed that  to the community. And now, the mantra has changed
  526. 54:50to there will never be even a Python 4. To be  honest, I don't know how many people in Python
  527. 54:56even know about the whole transition because  that all ended in 2020. At least it's behind us.
  528. 55:17[Music]
  529. 55:18Okay, so now we get in the closet. So there's  the frisbee. This is the most unique merch I've
  530. 55:28ever seen related to Python. Now, here's  a significant t-shirt. It says, "Python is
  531. 55:35for girls." I received this anonymously  in the mail at Google. And to this day,
  532. 55:45I don't know exactly what the intention of the  sender was. They never revealed themselves,
  533. 55:50at least not to me. And I don't know if  there was an intention even.. But I sort
  534. 55:55of realized at that point that there wasn't a  whole lot of women in the the Python community
  535. 56:04and the community also discovered that  and fixed it for the Python conference.
  536. 56:14This idea of being a place where people from  a wide range of backgrounds can learn how to
  537. 56:20program, benefit from programming, find community.  There really was some snowballing adoption of
  538. 56:26these ideas across languages at the time. Jessica  McKellar looks at the speakers at PyCon and says,
  539. 56:34"There's only 3% that are women. What can we  do about this?" She was co-organizer of the
  540. 56:40biggest Python meetup in the world in Boston.  She knew what she was talking about. It's not
  541. 56:45rocket science. It's like, ask people if they're  interested in speaking and we just.. providing
  542. 56:49like a little bit of support drove a huge shift in  the volume and demographics of the talks that were
  543. 57:01submitted. And then 3 years later, like 35% of  the speakers are women. I forget what the number
  544. 57:08was but I think it was almost even with male  speakers. PyCon... I had an old tweet about this,
  545. 57:15so I just pulled this up. Says, "Hello from your  PyCon Diversity Chair." So, the percentage of
  546. 57:19PyCon talks by women: 2011 was 1%, 2012, it was  7%, 2013, 15%, 2014 and 2015, 33%. And in 2016,
  547. 57:3140%. Problems have solutions. That was a very  inspiring story to me also. Something that was
  548. 57:38less inspiring to me was that at the language  summit there wasn't a single woman in the room,
  549. 57:45and I don't believe we have a single female  committer to core Python. There wasn't ever
  550. 57:54ill intent but unfortunately we fell into  the trap of not doing enough diversity
  551. 57:59reach out to try to get more people to  come in. To be honest it was a lot of
  552. 58:04white men. So Guido wanted to change that.  I want at least two female core Python devs
  553. 58:12in the next year and I will try to train  them myself if that's what it takes. So
  554. 58:18come talk to me. I believe one of the first  people who took up that call was Mariatta.
  555. 58:30[Music] Even though I've always been  passionate about technology and programming,
  556. 58:41I also felt it wasn't a welcoming environment for  women. My schoolmates who took computer science
  557. 58:49are mostly men. Most of the professors were men  and at work most of my co-workers were men and I
  558. 58:56just didn't really have examples or role models  of women being successful in the tech industry.
  559. 59:06One of my co-workers went to PyCon. He  saw that at that conference there is
  560. 59:12this community called PyLadies and  I felt like.. I want to meet them.
  561. 59:32[Music]
  562. 59:33So in 2015, that's when I decided I  want to go to PyCon. At this conference,
  563. 59:40I got to see a lot of women speaking and  presenting. At my previous tech conference,
  564. 59:48all speakers were men, all the keynote speakers  were men. So this was really different.
  565. 59:55One of the keynote speakers at that same  conference was Guido van Rossum. Hello
  566. 1:00:00everybody. Glad to see you all. I want to meet  and see the creator of the Python programming
  567. 1:00:06language. "And I will try to train them  myself if that's what it takes". I heard
  568. 1:00:10this speech. However, at that time, I  just didn't think that it's something
  569. 1:00:16I could do. I wasn't even contributing to  the Python community. I didn't contribute
  570. 1:00:22to open source at all. I just thought  I'm sure they will find women next year.
  571. 1:00:35The year after I went back to PyCon US and Guido  van Rossum gave another keynote. We still don't
  572. 1:00:41have two female core developers. I think at  that time that's something really clicked in me,
  573. 1:00:47like I realized that there's something  within me that says: if nobody's doing it,
  574. 1:00:52I will do it. I wrote to Guido van  Rossum and I asked him for help.
  575. 1:01:00Somehow I felt really scared. I just didn't  feel like I deserved mentorship from Guido
  576. 1:01:07van Rossum. So I really hesitated to send this  email to him. But in the end, I realized that I
  577. 1:01:15want to try. Like I felt like this was a great  opportunity for me. I pressed the send button.
  578. 1:01:27I got a reply. He was very friendly. He started  sharing resources about, you know, how to get
  579. 1:01:33started contributing to Python. He offered to  do video chats. It's been really helpful to have
  580. 1:01:40his moral support. We had a pretty sort of deep  mentorship relationship for a few years. Mariatta
  581. 1:01:47learned the process from Guido and continued to  contribute more and more very much around tooling,
  582. 1:01:52like she really found her niche in terms of trying  to help make our development process easier.
  583. 1:01:58It was scary at first, like I just didn't feel  comfortable sharing my questions in public. I
  584. 1:02:05didn't want people to know that I don't  know how to do certain things, you know,
  585. 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
  586. 1:02:18source. And the community has always been kind  and helped me with my questions without saying
  587. 1:02:27that you're stupid. Like I never felt like I was  being judged. I think it does start with Guido.
  588. 1:02:41The fact that Guido was very active in bringing  more voices into Python absolutely made Python
  589. 1:02:48better and stronger. Just the way the whole  community works and what we stand for,
  590. 1:02:53thanks to Guido's leadership, is where I want to  be. And I think that's true for a lot of people.
  591. 1:03:10About six, seven months after I  started reaching out to Guido,
  592. 1:03:15I was recommended to become a Python  core developer. It really wasn't until
  593. 1:03:214 months ago that for the first  time ever. There's a woman...
  594. 1:03:31There's a woman who became a Python core developer  and earned that commit privilege. The first woman
  595. 1:03:38ever to join our team and has continued to be  there and participate and try to help us and
  596. 1:03:43always a very good advocate to try to improve  our diversity. Now that I've seen the camera,
  597. 1:03:52I can't do it. My life really changed after  that. A lot of opportunities opened up just
  598. 1:03:59because I'm a Python core developer. Hi, how are  you? [Music] Mariatta went on to give her own set
  599. 1:04:10of talks about how important mentorship is. When  you don't have role models who you can relate to,
  600. 1:04:19you start believing that you cannot do it. Thank  you. Hi everybody. Uh my name is Mariatta. I'm
  601. 1:04:28a PyLady. I run PyLadies Vancouver. I also  help with the PyLadies con. 10 years ago,
  602. 1:04:37I was also in this room for the  Pyladies luncheon at PyCon US 2015.
  603. 1:04:41It was a life-changing event for me. It was at  that event that I felt for the first time in
  604. 1:04:49my life as a developer, I felt like I belong in  tech because I see 100 women in the room with me.
  605. 1:04:58I just want other women to have role models.  I hope I can help inspire them and help them.
  606. 1:05:09These opportunities belong to you, too. You're  all the reason I do this because I know there's
  607. 1:05:15still a lot to do and I know together we can  help each other and support each other. Okay,
  608. 1:05:23I think that's it. Thank you so much everybody.  [Applause] I have been so consistently impressed
  609. 1:05:33by the Python community's ability to have  respectful and and real reflection and
  610. 1:05:41dialogue about how to steward itself and how to  move it forward in a way that I find so inspiring
  611. 1:05:51and a vision of what is possible in other  communities. And I mean that really sincerely.
  612. 1:06:06There were an ever growing number of sort of  scientific disciplines where all the code was
  613. 1:06:13written in Python or a lot of it was prototyped  in Python at least. And then the next step was
  614. 1:06:21machine learning packages which started with  TensorFlow and was later followed by PyTorch.
  615. 1:06:28For a long time, Python was seen sort of as  a scripting language that you would just do
  616. 1:06:35small things that you need to automate and not  production ready code and so it wasn't given a
  617. 1:06:41ton of attention. And then now AI/ML has sort of  changed things where it is now a business driver.
  618. 1:06:48It appeals to people who are not professional  programmers but need software to do a task.
  619. 1:06:57There are some other languages like Rm you can do  some interesting stuff in but Python is really it
  620. 1:07:03for a AI/ML these days. Python has probably  like centuries of engineering time that has
  621. 1:07:09gone into code in the ecosystem specifically  on those topics. So if you're using Python,
  622. 1:07:15you're able to instantly tap into those libraries.  Meta has PyTorch, which has a amazing Python API
  623. 1:07:22and front-end people can interact with. There's  also SciPy, NumPy, Numba, Pandas. There's a
  624. 1:07:28whole suite of really extensive tools. Trying to  build a language and a language ecosystem that
  625. 1:07:35is amendable to all of that is non-trivial.  That actually took real design, real thought,
  626. 1:07:39and real ecosystem collective innovation over the  course of decades. The back-end of those tools are
  627. 1:07:46usually C or Fortran or some other native language  that's much faster, but would be difficult for
  628. 1:07:54someone with an AI background to program in. And  it continues to be used for all that by all the
  629. 1:08:03AI scientists, developing the models, and  the people training the models, people
  630. 1:08:07using the models. And that brings yet another  increment of of growth to the Python community.
  631. 1:08:17[Music] Python's a fantastic language  even if you're not a scientist. I just
  632. 1:08:24don't think it would have risen to the level  of dramatic usage without the science first
  633. 1:08:29data science and machine learning story. We  had a massive impact in the world. You know,
  634. 1:08:33I think one testament to the future of Python  is, if you prompt any of the LLMs to do code
  635. 1:08:39generation today. If it's front-end, it's going  to be JavaScript. If it's back-end data analysis,
  636. 1:08:44it's going to be Python. That's  the future. And Python is a part
  637. 1:08:49of that future. Lucky me that I that I chose  that language and not not a different one.
  638. 1:08:58Hey, Jacob. Oh, hello, morning. Hope you don't  mind being filmed. Yeah. Ah, okay. Ida's following
  639. 1:09:05me. All right. Yeah, she's shooting some b-roll  for the documentary, I think. Ah, nice. I first
  640. 1:09:11used Python in 1997 or something like that.  Wow, that's really early days. So, it's got
  641. 1:09:2130 frames of animation. Oh, wow. I told everyone  that he would hate getting the DSA, but they did
  642. 1:09:26it anyway. Yeah. Sorry, the DSA? Distinguished  Service Award. I labeled him in the annual report
  643. 1:09:32as like a leader in the Python community once and  he made me take it out. Yeah, we can see that. But
  644. 1:09:37nevertheless, he was on the steering council for  five years. Uhhuh. And he was a leader. I got a
  645. 1:09:43job from a Python conference back in 2017. I grew  up in India. I moved to Germany, changed my life.
  646. 1:09:49So I think Python changed a lot of things for me  and I just wanted to say thanks to you for for
  647. 1:09:54making this language. That's very sweet. Yeah. Do  you mind if I uh take a picture with you or that
  648. 1:10:00you don't like it? I'm so sorry. I really don't  like it and especially not in busy places. Okay,
  649. 1:10:06no problem. I get it. Okay. Find me in a dark  alley and I'll do it. Okay. Okay. I get it.
  650. 1:10:14Ah, I always kind of looked at myself as the  bass player of Python, which is great. You know,
  651. 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
  652. 1:10:26imagine having that kind of spotlight on you,  you know, for so many years. I heard a story from
  653. 1:10:32an Apple VP of engineering, that Steve Jobs had  turned down their hire of Guido because he said,
  654. 1:10:38he has his own following and we don't  want to have that kind of distraction.
  655. 1:10:48Python has always been a language that changed.  We've never been one of those languages that says
  656. 1:10:54if you write code against this version of Python,  it will run forever with any new version of the
  657. 1:10:59language. We just simply have never been those  people. A PEP is an acronym for Python Enhancement
  658. 1:11:08Proposal. That's a document that's written  by someone who wants to make a significant
  659. 1:11:14change to Python. Basically, you're trying to  convince people that this is a good idea. It
  660. 1:11:19would be sent for discussion for a mailing  list and then eventually Guido as the BDFL,
  661. 1:11:24the Benevolent Dictator for Life, would decide  whether your change was going in or not. But
  662. 1:11:31people always have worried that the next change  is going to be the one that changes the feel of
  663. 1:11:40the language. It won't fit my brain anymore or it  won't be accessible anymore. I've actually seen
  664. 1:11:47people storm out of rooms saying, "You're ruining  this language." Some people take it very, very
  665. 1:11:52personally and seriously. And the Walrus operator  was no different. Yeah so, PEP 572, I don't know
  666. 1:12:00who coined the term the Walrus Operator, but  if you kind of turn your head, it looks like
  667. 1:12:04a little walrus. It was a new feature that was  proposed, but it was also a syntax change. The
  668. 1:12:13Walrus operator lets you do assignments, meaning  put values into variables in places that you
  669. 1:12:19previously could not. That was probably the most  contentious language change, oddly enough, because
  670. 1:12:26it's kind of a minor thing, but it it there was so  much passionate feeling about whether that should
  671. 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,
  672. 1:12:37I didn't like it. It kind of felt a little  un-Pythonic to me, but then I started to play
  673. 1:12:43with it. There was a particular use case that  I came up with in my own code that I was like,
  674. 1:12:47"Oh, you know what? This is actually pretty  cool". And so then I was like, well, I it's
  675. 1:12:53something that I won't use very often, but when I  need it, it's really great to have. And I turned,
  676. 1:12:58you know, 180° and became a fan of it. But it was  very disruptive. [Music] Language features and
  677. 1:13:06especially syntax can be a double-edged sword. So  one person's succinct, elegant code can be another
  678. 1:13:13person's unreadable puzzle or a fusticated mess.  There were very strongly voiced predictions about
  679. 1:13:21how bad it would be for Python. And then just  because Python was so much more popular at the
  680. 1:13:27time, there are so many places where people talk  about Python. I mean Twitter, you know, at the
  681. 1:13:31time. This is all happening in public, right? And  everyone can kind of with low effort throw their
  682. 1:13:37hat into the ring and not everyone is going  to restrain themselves when they're doing it.
  683. 1:13:45I started being more and more convinced  that PEP 572 was actually the right thing
  684. 1:13:50to do. I was the BDFL and I accepted  the PEP. And the next morning I woke up
  685. 1:14:04and I felt miserable
  686. 1:14:09because of all the attacks  that had happened before.
  687. 1:14:14I sat down at my computer, wrote a short email,  and hit send wherein I announced that I resigned
  688. 1:14:23at BDFL. And that had an incredible impact  because nobody had expected I would resign
  689. 1:14:33and certainly not that I would rage quit  over this issue, which essentially it was.
  690. 1:14:55[Music]
  691. 1:14:56Transfer of power. Now that PEP 572  is done, I don't ever want to have to
  692. 1:15:02fight so hard for a PEP and find that  so many people despise my decisions.
  693. 1:15:07I would like to remove myself entirely from  the decision process. I'm basically giving
  694. 1:15:12myself a permanent vacation from being BDFL  and you all will be on your own. I am not
  695. 1:15:19going to appoint a successor. So what are you  all going to do? Create a democracy, anarchy,
  696. 1:15:25a dictatorship, a federation? I'll still be  here, but I'm trying to let you all figure
  697. 1:15:31something out for yourselves. I'm tired  and I need a very long break. That was it.
  698. 1:15:40Haven't read that.. That was I thought that  was pretty well written. I like to say he mic
  699. 1:15:47dropped his way out. You know, he just was like,  I'm out. I'm done. You guys figure it out. So,
  700. 1:15:51it was a complete and total shock to me.  Yeah. I just felt really sad about it. I
  701. 1:15:58wish he would have retired under better  circumstances. I felt I needed to take a
  702. 1:16:06step back to sort of recover myself. I think a  lot of people really felt for Guido, you know,
  703. 1:16:13that he could be pushed to that point like  maybe we let him down to allow the vitriol
  704. 1:16:26over this change to Python to push, you know,  somebody that we cared about to that point.
  705. 1:16:35We all perceived that it was like a a momentous  occasion or like a significant change that
  706. 1:16:41you would put a mark in your timeline in the  history book in the history of Python, right?
  707. 1:16:46Because it had been run on the BDFL model for its  entire existence. So there was a little bit of
  708. 1:16:52uncertainty like, can this work at all without  got Guido? It's kind of a parent saying, it's
  709. 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.
  710. 1:17:05The first order of business was deciding on  how to decide. And it turns out some people
  711. 1:17:11have very strong opinions on voting systems.  Programmers love arguing about voting methods.
  712. 1:17:15I remember thinking this isn't going to work. Lot  of strong voices. It's really difficult when you
  713. 1:17:22have hundreds of core developers and thousands  of people online and millions of people in the
  714. 1:17:28community and probably billions of dollars of  software that run on Python. You can't think
  715. 1:17:35about that cuz it definitely gets overwhelming.  I will fully admit it was stressful. I had to go
  716. 1:17:42to an ear, nose, and throat specialist because I  actually was starting to choke on my own throat
  717. 1:17:46from the stress. It was not fun because if we  couldn't decide on how we were going to decide,
  718. 1:17:52the project was done. We really approached it  like the nerdy engineers we are. In Python classic
  719. 1:17:59fashion, we wrote a bunch of peps. We didn't want  to rush it because we knew we were going to have
  720. 1:18:03to live with this potentially forever. But we also  realized the world was watching and did not like
  721. 1:18:10the idea of not knowing whether this language was  going to be around in a year or not, because we
  722. 1:18:14couldn't stop bickering among ourselves about how  to run ourselves. People sponsored different kinds
  723. 1:18:20of models. I think there was one which was like,  let's pick another BDFL because that's what we
  724. 1:18:23feel comfortable with. And then there was various  kinds of committees and councils and we ended up
  725. 1:18:28settling on the five person steering committee.  Good morning PyCon! Thanks so much for joining
  726. 1:18:34us. So, welcome to our panel with the Python  steering council. Because there's five people,
  727. 1:18:40you don't have the same problem of like all  the stress and responsibility of making these
  728. 1:18:45decisions falling on one person. I actually  felt that it made sense for me to be on that
  729. 1:18:51first steering council given that there was  no longer feeling so burned out or attacked,
  730. 1:18:56to provide some amount of continuity. "You know  how this goes when your kid goes off to college.
  731. 1:19:02Some of you may have experience with that. you're  no longer directly involved in their lives maybe,
  732. 1:19:07but you never stop worrying. And that's how  I feel about Python at the moment. And that's
  733. 1:19:14why I [Applause] why I nominated myself  for the steering committee and here I am".
  734. 1:19:25There were elections for the second year steering  council and at first I nominated myself and then
  735. 1:19:31withdrew because there were enough other strong  candidates. They didn't need me and I was happy to
  736. 1:19:37uh to sort of let go of it. [Music] The legitimacy  that came from the replacement springing up from
  737. 1:19:56the community is essential to it being accepted.  It came from us, so it's accepted by us. It works.
  738. 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
  739. 1:20:11it don't work. You have to be willing to evolve.  Change is the one universal constant of the
  740. 1:20:17universe. And so things will always change and you  have to be ready and willing to adapt to change.
  741. 1:20:31[Music]
  742. 1:20:38It started out as a hobby project. Definitely.  I think I probably wanted to prove something
  743. 1:20:43to myself more than anything. It exceeded my  wildest expectations and it actually continues
  744. 1:20:50to do so. I constantly hear from people whose  lives were completely changed by Python and it
  745. 1:21:00has created this incredible community which was  also a complete sort of bonus over everything
  746. 1:21:08else I had anticipated. This community that  has like a massive conference every year and
  747. 1:21:16smaller conferences in every continent I think  except Antarctica. There was one of the Python
  748. 1:21:26conferences where there was a few thousand people  in the audience. I remember just looking around
  749. 1:21:32and going, this is mind-blowing. That's the  point at which I knew we had achieved something
  750. 1:21:40important, something that made a difference in  people's lives and in the world. Python turned out
  751. 1:21:50to be much more successful than perhaps any of us  thought except maybe Guido and his team. I think
  752. 1:21:57they always believed that this was the future.  And of course, it's now one of the most popular,
  753. 1:22:02if not the most popular programming language  in the world. He spent two weeks in Christmas,
  754. 1:22:06in like 1989, writing a programming language  because he thought it would be fun. Like who
  755. 1:22:10would have imagined that that would be such a life  altering and also world altering thing to have
  756. 1:22:16done. I think it's been great for the world. I  think it's made people feel like they can get into
  757. 1:22:23programming when they never thought they could.  I think it made programming accessible to people.
  758. 1:22:28It's literally part of kindergarten through grade  12 education around the world. And is on Mars
  759. 1:22:36thanks to being used as a scripting language to  process the parachute of the Perseverance rover
  760. 1:22:41landing. Like it's hard to think of anything  that hasn't been touched by some Python code
  761. 1:22:45somewhere. It's mind boggling. It's an important  language. It's a popular language. It's a vibrant
  762. 1:22:52and relevant language today as much as it was in  the past and I believe as much as it will be in
  763. 1:22:58the future. Programmers 30 years from now will  be like, "Oh yeah, you know, I I'm still using
  764. 1:23:03Python." Just like today, people are still using  Fortran and C and C++ and those are old languages
  765. 1:23:09you know too in the scheme of things. Scheme  - Lisp another old language. So yeah. [Music]
  766. 1:23:35[Music]
  767. 1:23:40Now I keep thinking of like weird  jokes. There's this library in
  768. 1:23:43Python called Pickles because pickle is a  funny word I guess. The documentation used
  769. 1:23:49to have a footnote about how you should  imagine Guido and Jim sniffing pickles.

About this transcript

This page contains the full transcript of The Story of Python and how it took over the world | Python: The Documentary by CultRepo , generated from the public captions YouTube serves with the video. The transcript has 12,502 words across 769 segments, with the original timestamps preserved so you can click any line to jump to that moment in the embedded player.

What you can do with it

Use the transcript to take notes, quote the speaker, build a study guide, generate a summary with ChatGPT or Claude via the YouTube Summary tool, or export it as a timed subtitle file with YouTube to SRT. You can also re-open it in the transcriber to translate the transcript into 100+ languages.

Free YouTube transcript tool

YouTube2Text is a free YouTube transcript generator — no signup, no daily limit. Paste any YouTube link and get the full transcript instantly, with timestamps, click-to-jump, translation to 100+ languages, AI prompts for ChatGPT, Claude, and Gemini, and exports to TXT, SRT, VTT, or Markdown.