Paul talks about the beginning years of Python. Talking about Python’s beginnings is also talking about the Python community beginnings. Yes, it’s reminiscing, but it’s fun.


Transcript for episode 54 of the Test & Code Podcast

This transcript starts as an auto generated transcript.
PRs welcome if you want to help fix any errors.


Welcome to Test and Code, a podcast about software development and software testing.

In this episode, I talked with Paul Everett about some of the beginning years of Python. Paul gives a talk called Python 1994, and at the beginning of it, he says many talks are very informative. This talk, not so much, but Paul is being humble. Talking about Python’s beginnings is also talking about the Python community beginnings. Also, it’s Python. We like introspection. Thank you to Digital Ocean for sponsoring this episode.

It was a couple of years ago that we did a Google hangout and you helped me with PyCharm.

Yeah. I’ve got almost this visual image of you. You were sitting at like an outdoor cafe or something.

Yeah. I was at Starbucks sitting outside.

Yeah.

Gosh, I’m glad we did that.

Well, it’s been for me.

For me, the lead into that was your book.

Yeah. Well. And you were like a good supporter from the beginning. As soon as it came out, I think you were the first person to buy it as an e book.

Well, I have no way to know that.

But it sounds good on a podcast.

Yeah. So how did that happen? How did you find out about the book?

We all talk about imposter syndrome, right?

Yeah.

And you did a podcast, I think that went into that sometime past couple of months.

And here I am, I’m supposed to be developer advocate for pie PyCharm, somebody who knows a damn thing or zip. And every day I wake up and realize I know 1% of the product that I’m supposed to be an expert on, and during the day it will change 2%, and it feels all rather hopeless. And then on the Python side, I made my racket over the decades by a mantra of don’t be smart, hire smart.

Oh, yeah, that BS only lasts a while, man. At some point, people figure out that there’s nothing going on upstairs. And one of the biggest things was testing. I just use testing as higher testing, not do testing.

Okay.

Being involved with some big things over the years, Zoe, and Pyramid and customer projects and stuff like that, you just can’t run that far from testing.

And I got involved in some things that really I needed to convince myself that I was behaving like an adult and needed to get into testing.

And on the projects we had done in Pyramid forever and ever, we were nose people. And I kind of had this lingering realization that I needed to jump on the pytest train. And at that moment was the moment when you were getting all bookifying.

Okay.

And I jumped on the book, and the book gave me a similar experience to my experience picking up Python itself in 1992. I remember going to a bookstore and saying, all right, I need something for what was this was just before CGI was a comma and gateway interface. It was kind of manually done.

And I pick up a pro book and I read through like ten pages and say, hell no, and then get the Python tutorial downloaded and printed. And it was hell yes. The tutorial was the reason I adopted Python.

And your book was the reason I really embraced pytest. It was like written, genetically engineered to fit my feeble brain. So well done.

Well, thanks.

I guess back up a little bit. I know who you are, but some people might not. So are you the developer advocate or a developer advocate?

I’m a JetBrains developer advocate primarily for PyCharm. We’re encouraged to cross train and be able to represent other things.

Most of the developer advocates are good at that. Me, it’s kind of hard for a Python guy to go talk about type languages and stuff like that in compiled languages, but I cover 95% of my time is PyCharm and the other parts are Webstorm.

Okay, well, Webster is something I kind of want to know more about eventually. What is Webstorm?

All of our IDE s are built atop the same IDE platform called IntelliJ Idea. It’s a Java platform for writing ideas.

So that’s why one of the reasons PyCharm is able to do so much with a not so huge staff is we inherit 95% from the platform.

Okay.

Vcs, for example, is the same across all the IDE. So there’s an idea for web development called Webstorm. It’s fantastic. A great team working on it, doing all the janitorial work. That hurts my brain trying to keep up with the world of JavaScript.

And so it is very similar. But if you have PyCharm professional, we bundle Webstorm and Data grip our IDE for SQL. Okay, you already have Webstorm.

Okay.

So it’s something I can use. It’s used for the JavaScript side of a web application.

Okay, what you should do is go find that developer advocate guy for PyCharm and slap them in the face and say, why are you going to do a webinar for the Webstorm side? And I will happily go do that.

Okay, but you said you started at 92, but is there a fast version of how you got to be where you are now?

There is a fast version. In our next conference. I’ll give you the extended version. It’s hilarious.

1985 Top Gun comes out five years later because the Navy doesn’t know how to do planning. There are a trillion people in flight school, and I’m sitting around Pensacola, Florida, getting paid to go shark fishing. I’m not kidding.

Really?

Yeah.

But then because of the long wait, my eyes went just over the limit. Had to find another job. And in Pensacola, there was the Navy Internet manager.

This was in 91. Okay, great guy, Jim Glenn.

Radical impact on the rest of my life.

And one of the things we had to do was go find things to do with this internet thing.

And we were doing DNS and mail.

And then there was this big battle about whether Gopher Gopher Plus or whatever, it was going to be the next big thing. So somewhere around, I remember leaning back in my cubicle, looking around the wall, and the guy next to me ran the domain Navy. Mil. And I said, hey Mike, can I have www. Dot. Navy. Mill? And he said, what’s that?

So I got involved with the Web pretty early.

We were responsible for trying to get other Navy activities to put up a website pro tip. The number one way to get a Navy site on the web was to put a picture of the commanding officer on the home page.

It works every time.

And so maybe www. Dot. Middle was, I believe, one of the first 200 public websites. Back in those days when you wanted to be listed on the Web, you send an email to Tim Berners Lee and got listed on the CERN page of websites.

Wow, how about that?

That’s pretty funny.

There was a book that printed the web yellow Pages book for the web.

Okay, so then how long are you doing at the Navy website?

I was a Navy officer for four years. I did that for two years and then got a contract job. What do you think it was for? Running www. Dot. Nevada.

Okay, that was around the time you were doing. You switched over to looking at Python then? Yes, that’s a long time ago. 92.

Yeah. We needed the equivalent of CGI for what we were doing. I wasn’t going to write anything in C, wasn’t going to do it in Bash. I wasn’t going to do it in Perl. So Python became my dynamic stuff for the CERN Http server and then the NCSA Http server.

See, I didn’t even know you could do that because, let’s see, the early mid 90s, I was in College, I graduated, I got my master’s in 96. So I was working for the business Department doing some of their internal websites using CGI. But it was all Pearl.

I didn’t even know about Python at the time.

That was, I guess, the killer app for Pearl.

It had a pretty strong history and text processing in general.

But in the first few years of the Python community, starting around 1994, we were all chasing Pearl on the website. In fact, at the first workshop in 1994 was when the CGI module with Michael McLay got off the ground.

This episode is sponsored by Digital Ocean. Digital Ocean is the preferred cloud platform of hundreds of thousands of innovative companies. Digital Ocean makes it easy to deploy, manage and scale applications with an intuitive control panel and API designed for developers. Get started with a free $100 credit towards your first project on Digital Ocean and experience everything the platform has to offer such as cloud firewalls, real time monitoring and alerts, global data centers, object storage and the best support anywhere join the over 1500 businesses already creating amazing things on digital ocean. Claim your credit today at Dot Cotestcode.

What are we going to talk about today?

We’re going to do Python 1994 scroll down memory Lane because I give some talks recently about what Python was like in 1994 and what might have been a reason that it grew such a hospitable community. And then a decade later went meteoric on growth.

We’re also going to talk about how the world of Python testing might compare to the world of JavaScript testing.

All right, so, Paul, tell me about 1994.

In giving these talks recently, kind of started with an idea of doing a keynote panel at two pycons ago where Guido, Barry, Jim, Robin, Friedrich, and then I moderated it because we were all at this workshop, we wanted to kind of talk about what Python was like then. And then we’re talking about is there was a workshop in November 1994 and a nameless faceless government office building in case of Maryland at NIST where 20 people showed up.

And I remember when we were doing the talking for this, Michael McLeay, who hosted it, said, okay, I’ve got a conference room. It holds 25 people. And I was thinking, wow, that much space, a Python conference that can hold 25 people. Wow.

And it was pretty interesting because the way the Guido got there was interesting.

Nist brought him over on a guest researcher program that’s Michael McLeay is the unsung hero in the entire history of Python for making that happen.

And then there he met the people from CNRI, Barry and Roger, who ultimately got Guido over to CNRI. So it is something that on the face of it, just a little meeting, but you look back and put it in this context, and it turns out to be pretty important.

It kind of caused the start of something called the community instead of Guido.

Okay.

And it gave us a list of things to try and work on and give kind of a nice point of what were things like going into that? And then what were things like coming out of that going into it?

In there was this category called scripting languages.

Yeah, we don’t use that term very much anymore, but scripting languages were really looked down on. There were toys, a little prototyping thing, and then the grown ups will show up later and write it for real Z’s. And it was Pearl Tickle and Python going into that workshop in there was a lot of talking about how do we stack up against Pearl and Tickle?

Why would someone want to use Python instead of the others?

There was discussion about organizational kind of things like mailing list and news group. And Guido was running that stuff and he needed to turn it over to other people.

Discussions about what if Guido got hit by a bus was a discussion that kind of got started around that time frame. And so this workshop got started, and some of the people still involved in the world of Python were there. And it’s pretty interesting to think about.

You could fit the Python community person in Gaithersburg, Maryland. Pretty cool.

Yeah, that is cool. It’s a little bit bigger community now.

A little bit bigger. And when we talk about Tim Peters famous quote, Come for the no, actually wasn’t Tim who said it, somebody else said it, come for the language, stay for the community. You ever heard of that one?

Yeah.

In talking about it at that keynote, panel, Jim Fulton gave a really good statement on this, that Python is kind and human because Guido is kind and human.

Yeah. So a lot of Guido’s character kind of went into the community.

I definitely love that about the community. It’s just the notion that there’s a community. Actually, before I came to Python, I was mostly a C Plus Plus developer, like the other stuff, Debash Pearl, TCL, except for I never actually did TCL commercially, but I did it in College.

I never really thought of a Bash community or even a C community, even though we had interesting, we had a handful of magazines, but it was actually Dr. Dobbs, I think was a good magazine to get a lot of the hardcore developers a community, but it sort of fell apart. Anyway. Interesting how’s that differ from now, other than we’re big now.

Good point.

Coming out of 1994, a sequence of workshops that were called Spam One, Spam Two, Spam Three. At the time, Jim hosted at Menlo Park, Spam Two, and then he hosted Spam Three at USGS and Reston.

Is this a reference to the Spam money? Python, yes. Okay.

Guido like to talk about at that time when we had the complaining Python news group on using that news group in the TP that people would show up despite it being complain in the first year, so many people would join thinking it was a Monty Python fan club.

It can’t be obvious enough, but the forces that were at work in 94, 95, 96 kind of gave the prelude to the middle third of Python’s story at Spam Two in Menlo Park.

At least I remember there were two guys from the Stanford Digital Library project, meaning Google.

And at that time it was written in Python.

We also got a presentation about Son’s new set top box programming language, which would be renamed Java a couple of months later.

Okay. Yeah.

And then by the time Spam Three came around, Java was quite on the minds of Python people.

Yeah, it got pretty big. Pretty fast.

Yeah. By.

The thing, everything on the web applications were supposed to be written in that part always completely baffled my mind because Java isn’t a terrible language. The model to me doesn’t fit the web that much.

But at the time, we also really didn’t understand what the division of front end and back end should have been.

Oh, totally.

And it also wasn’t just centered around web pages and websites.

There was more applications that were going to be operating mostly around the world instead of just on your computer.

And I do remember, like Microsoft saying at some point you’re going to have applications on your desktop and you won’t know whether it’s running on your computer or on the cloud. I don’t know if they use the word cloud. At the time, I was a skeptic. I’m like, I know exactly which ones that are on my computer. Those are the ones that run fast.

Anyway. Did Java affect Python much?

That’s a good question.

From a language and technical perspective, I’d have to defer to other people around that time is when Jython is a project started.

Maybe in a peculiar way, it helped Python. Maybe because Java didn’t really fit into the model of a systems language, so to speak. If you came, if you looked at the world from a CNC plus perspective, it was higher level than those.

And around that time, I guess once Java got entrenched, nobody started saying scripting languages anymore.

Oh, okay. Because Java really wasn’t a scripting language.

No, not at all. Yeah, but it wasn’t a systems language, so to speak.

Yeah. A lot of companies even just now are doing the migration of generally writing utility scripts in Python instead of in like Bash or something like that.

Now, there was certainly a time frame when we did Zoom.

I think we were the first.

It’s either us or two others right around the same time, the first open source application server.

And there just became in that space a tremendous pressure to do Java, even on Windows, even IIS based systems.

It was abnormal to do a web application and anything but Java really. In fact, one of the two biggest competitors to us in 1998 are Digita or digital. How you pronounce. It was written in tickle. They took on $30 million and tried to Port it to Java.

Well, I mean, wasn’t PHP in there the mix?

That’s a good point. I don’t think people felt like they were using an application server when they were doing PHP.

They were doing websites with some scripting. That universe grew up dramatically over the years, but in the 98 time frame, I think it was still not considered an application for an extension of a website.

Okay.

But it grew up dramatically because it had a pretty good idea of start low, finish high.

Okay. Yeah, I guess I do remember that my introduction to the first time I was using PHP, it was just so that I wouldn’t have to write the menu on every single web page.

Very low, very low barrier to entry. And it was a scripting language. So maybe it deserves a lion’s share of the credit for demolishing the myth about scripting languages.

I still face that. So I started pushing for more use of Python all over, especially in the testing of instruments starting around Gosh, maybe 2000 or around that time. A lot of the pushback was it wasn’t a serious language, it was a scripting language.

Yeah.

Interesting. I think it’s cool to be talking about this is because when I was introduced to you, I just thought he was this guy from Jetpains that was going to help me figure out how to use testing and pipe PyCharm. And then I was blown away to see this panel of you with everybody else and to learn this history that you’re kind of a big deal. You’ve been in the Python community for a very long time, so I’m honored to think of you as one of my friends.

Well, thanks for saying that. Being and this is not a humble brag. It is. Anyone at their time would confirm it. I brought them coffee.

They were the smart people. I think the only contribution I had, technical contribution I had at the workshop was something about embedding structure in Doc strings that could be inferred later or something like that. Other than that, hire smart. Don’t be smart.

Oh, okay.

Thank you for saying that.

Is this an interesting reminiscing or is there some lessons to be learned? Looking back, looking between 94 and now.

That’S a good point. It can easily get into pure sentimentality.

And when I give these talks, I admit upfront, you’re not going to learn anything valuable, but you’re going to laugh your ass off. It’s just a thin excuse to tell a bunch of jokes.

We gave this talk in St. Petersburg about a month ago when I was over there at the office in Russia and I was supposed to talk for 35 minutes and went on for 2 hours.

Oh, wow.

Everybody was talking to each other and it was a nice way to open a discussion, but also a thought process.

So they’re sentimentality. There are lessons to be learned about community.

At the risk of broaching into modern times and the tenor of our national discussion, we should all value the thing we have and understand the value so that we can preserve it.

Python is unique and wonderful in ways beyond the syntax.

The people of Python are unique and wonderful and knowing a little bit about how we got here can be useful.

Yeah, in a lot of life there’s not so much teamwork. There’s people that work together but compete with each other also. And of course there are competing ideas, but I don’t think and sometimes there’s money at stake. But for the most part, I think the Python community is better than the world average and thinking about the technology and trying to make everybody’s life better and working together as a team and building on each other’s ideas and not getting hurt. If your idea builds into something else and your name falls off the credit, it’s just about bringing us a little bit farther and not putting too much ego into it. Yeah, this is pretty sentimental and sappy, but yeah, community is more important than almost everything else.

Yeah. Back in the days when I was working on PLone, I used to say PLone isn’t software clone is democracy because I felt like the community was more valuable than the software. Software changes. It gets better, it gets worse, blah, blah, blah.

We see that right now a lot. And I get a view of that with doing Python Bites with Michael, because we’re paying attention to what’s going on and people are trying and there’s these Flask like frameworks that are async, and there’s a ton of them running around, and it’s not a bad thing. People are taking ideas from other people, building on it, trying it out and seeing what sticks. And that’s a cool thing. And then there’s spaces all over the place.

For instance, I’m definitely a Pi test proponent, but a lot of people possibly don’t realize that. I don’t have a lot against unit tests.

It’s a strong testing framework, and I think that more effort should be going into building it, keeping it modern, and maybe continuing the development of it.

I think there’s always a place for choice.

This was a really fun conversation. I’m glad to have you on. And I would like to just call this part one and have you on again and we can switch over and talk about this whole testing in Python versus JavaScript and some of the differences and similarities.

Hopefully you have information on that, because I don’t.

Yeah. I started taking some notes on some things to talk about from kind of looking at it from a pytest perspective.

And it’s interesting.

It’s horrific, but there’s also a lot of innovation happening that is interesting to look at, that we can learn from.

There’s innovation in the JavaScript world that we can learn from.

Cool. Well, we will try to get that scheduled here pretty soon then.

All right.

Thank you so much for coming on the show.

Thanks for having me. Thanks for doing this show. It’s wonderful that the world of Python has gotten mature enough to the point that we’ve got very high quality, reliable, regular episode podcasts on important parts of the community and the ecosystem.

Thanks for doing it.

Oh, you’re welcome. The community is a big part of that. People from around the world contacting me and saying this particular episode is just what I needed to hear just now. So thank you.

Yes, that’s ideal.

That’s pretty cool.

Thanks again to Digital Ocean for sponsoring this episode. Claim your $100 credit at Dot CoTest And Code. Not only does that let you try their amazing service, but it also tells them that sponsoring this show is a good thing. That link is also on the show notes, page at testandcode.com 54. Thank you to Paul for taking the time to record this episode.

And thank you. Thank you for listening for sharing the show with friends and colleagues of leagues for supporting the show through Patreon and for using the link in the show notes to try out digital ocean. That’s all for now. Now go test something.