The Story of Python, by Its Creator, Guido van Rossum

Oracle Developers
25 Feb 201904:01

Summary

TLDRIn this interview, the creator of Python, Guido van Rossum, recounts his Dutch upbringing and his early career at CWI, a government-funded research lab. He discusses the origins of Python, which began as a solution to the limitations of shell scripts and C programs for a distributed system project called Amoeba. Van Rossum initially estimated Python's development would take two to three months, but it eventually grew into a widely adopted programming language. He reflects on Python's open-source release, the formation of a community, and the current transition in Python's governance structure as he steps down from his role as Benevolent Dictator For Life (BDFL).

Takeaways

  • ๐ŸŒ The speaker is Dutch and grew up in the Netherlands.
  • ๐Ÿ Python was created by the speaker while working at CWI, a government-funded research lab focused on advanced math and computer science.
  • ๐Ÿ”  The speaker's first job was with a team working on the ABC programming language, which influenced his views on language design.
  • ๐Ÿ“š The unsuccessful ABC project led to the speaker working on the Amoeba distributed system, sparking the idea for a new programming language.
  • ๐Ÿ’ก The desire for a programming language that was more user-friendly and concise than shell scripts or C programs led to the creation of Python.
  • ๐Ÿ•’ The initial estimate for building Python was two to three months, but it took longer and the productivity gains were not immediate.
  • ๐ŸŒ After about a year, Python was released as open source, which helped in building a community of users and contributors.
  • ๐Ÿ‘ฅ The Python community grew, with people spreading the word and contributing to the language's development.
  • ๐Ÿ”‘ The speaker had the final say on contributions to Python during its early years.
  • ๐Ÿ”„ The speaker resigned from his position as BDFL (Benevolent Dictator For Life), reflecting a change in Python's governance structure.
  • ๐Ÿ”„ The Python community is in the process of determining the best governance model for the future, possibly involving a committee for long-term guidance.

Q & A

  • Where did the creator of Python grow up?

    -The creator of Python grew up in the Netherlands.

  • What was the name of the research lab where Python was created?

    -Python was created at CWI, a research lab funded by the government.

  • What was the first programming language the creator of Python worked on?

    -The first programming language the creator of Python worked on was named ABC.

  • Why did the creator of Python decide to develop a new programming language?

    -The creator of Python wanted a third language that was more like a genuine programming language, easier to use like shell scripts, but without the readability issues of shell scripts.

  • What was the name of the distributed system project that influenced the creation of Python?

    -The distributed system project that influenced the creation of Python was named Amoeba.

  • How long did the creator of Python initially think it would take to build the Python interpreter?

    -The creator of Python initially thought it would take two or three months to build the Python interpreter.

  • How did the creator of Python plan to recoup the time spent building the Python interpreter?

    -The creator planned to recoup the time spent by increased productivity not just for himself but for the whole team using the new language.

  • When was Python first released as open source?

    -Python was first released as open source about a year after its creation.

  • What was the initial response to Python's open source release?

    -The initial response was the formation of a small community of Python enthusiasts who started spreading the word about Python and contributing to its development.

  • What was the role of the creator of Python in deciding contributions to the language?

    -The creator had the last word on whether he wanted a particular contribution in the language.

  • What significant change is happening in Python's governance structure?

    -Python's governance structure is changing, with the community figuring out the best way forward, likely moving towards a small committee guiding Python's future vision.

Outlines

00:00

๐Ÿ Python's Origins and Development

The speaker, a Dutch programmer, shares his experience of creating Python while working at CWI, a government-funded research lab in the Netherlands. Initially part of a team working on the ABC programming language, he later contributed to the Amoeba project, a distributed system. Recognizing the limitations of shell scripts and C programs, he envisioned a new language that combined the ease of use and conciseness of shell scripts with the robustness of C. Despite initially estimating a two to three-month development timeline for Python's interpreter, the project expanded over time. After a year, Python was released as open source, fostering a growing community of developers. The speaker also discusses his resignation from the Benevolent Dictator For Life (BDFL) role and the community's transition towards a new governance model, likely involving a committee dedicated to Python's long-term success.

Mindmap

Keywords

๐Ÿ’กNetherlands

The Netherlands, often referred to as Holland, is a country in Northwestern Europe known for its rich history, cultural heritage, and advanced technology. In the script, the speaker mentions growing up and working in the Netherlands, which is significant as it sets the geographical and cultural backdrop for the development of Python. The country's influence on the speaker's early career and the creation of Python is an important part of the narrative.

๐Ÿ’กCWI

CWI stands for Centrum Wiskunde & Informatica, which translates to 'Centre for Mathematics and Computer Science'. It is a research institute in the Netherlands that the speaker worked at. CWI is highlighted as a place where the speaker's foundational work in programming languages and computer science was nurtured, contributing to the creation of Python.

๐Ÿ’กABC

ABC is a programming language that the speaker worked on as part of a team at CWI. Although the project was eventually unsuccessful, it played a pivotal role in shaping the speaker's understanding of language design. The script implies that the lessons learned from ABC were foundational to the development of Python.

๐Ÿ’กAmoeba

Amoeba was a distributed system project that the speaker was involved in at CWI. It was a collaborative effort between CWI and a university in Amsterdam. The script describes how the need for a new programming language arose from the limitations of existing languages when developing applications for the Amoeba project, which led to the creation of Python.

๐Ÿ’กProgramming Language

A programming language is a formal language comprising a set of instructions used to produce various kinds of output. The script discusses the speaker's desire to create a new programming language that would be easier to use and more concise than existing options like shell scripts or C programs, which was a driving force behind Python's development.

๐Ÿ’กInterpreter

An interpreter is a computer program that directly executes instructions written in a programming or scripting language without requiring them to be previously compiled. The speaker mentions building an interpreter for the new language they envisioned, which would become Python. This decision was crucial in Python's design, as it allowed for a more dynamic and interactive programming experience.

๐Ÿ’กOpen Source

Open source refers to a type of software licensing where the source code is made available to the public with the right to use, modify, and distribute the software. The script notes that Python was released as open source, which allowed a community to form around the language, contributing to its growth and development. This was a significant factor in Python's widespread adoption.

๐Ÿ’กCommunity

In the context of the script, community refers to the group of individuals who use, contribute to, and support Python. The speaker mentions how a community of Python enthusiasts began to form after the language was released as open source. This community played a vital role in the language's evolution and continues to be central to its ongoing development.

๐Ÿ’กBDFL

BDFL stands for 'Benevolent Dictator For Life', a term used to describe the role the speaker held in guiding the direction of Python. The script humorously notes the speaker's resignation from this role, reflecting a transition in Python's governance structure. BDFL is significant as it represents the leadership model that had been in place for Python's development until the time of the speaker's resignation.

๐Ÿ’กGovernance

Governance in the context of the script refers to the structure and processes by which decisions are made and managed within the Python community. The speaker discusses the community's efforts to determine the best governance model for Python's future, indicating a shift from a single leader (BDFL) to a more collaborative approach, which is crucial for the language's long-term success.

๐Ÿ’กVision

Vision, as used in the script, pertains to the long-term goals and direction for Python's development. The speaker anticipates that a committee will guide Python's future vision, emphasizing the importance of a collective and strategic approach to the language's evolution. This vision is essential for maintaining Python's relevance and utility in the ever-changing landscape of technology.

Highlights

Creator of Python, a Dutch programmer, worked at CWI, a government-funded research lab in the Netherlands.

Initial job involved working on a programming language named ABC.

ABC project was about advanced math and computer science research but was eventually unsuccessful.

Transitioned to work on a distributed system called Amoeba in collaboration with a university in Amsterdam.

Recognized a need for a third programming language that was easier to use and more concise than shell scripts or C programs.

Python was envisioned as a middle-ground language, more user-friendly and concise than existing options.

Estimation to build Python's interpreter was initially two to three months, expecting increased productivity.

Python's development took longer than expected, and the Amoeba project did not regain the expected productivity.

Python was released as open source, although the term 'open source' was not yet coined.

A small community of Python enthusiasts began to form, contributing to and critiquing the language.

Creator had the final say on contributions to Python, maintaining control over its development.

Resigned from the position of BDFL (Benevolent Dictator For Life), a role that was ironic due to the 'for life' part.

Python's governance structure is undergoing change, with the community seeking the best model for future leadership.

A small committee of dedicated individuals may guide Python's future vision and success.

The creator's resignation as BDFL marks a significant shift in Python's governance and community involvement.

The community's role in Python's development has been crucial, with contributions and critiques shaping the language.

The future of Python is likely to involve a more collaborative and structured approach to governance.

Transcripts

play00:05

I'm Dutch I grew up in the Netherlands

play00:09

in fact I created Python while I was

play00:12

working in the Netherlands

play00:13

I got a nice job as a programmer at a

play00:16

place called CWI which is a sort of a

play00:20

research lab funded by the government

play00:22

doing advanced math and computer science

play00:26

research my first job was on a team that

play00:29

worked on a programming language named

play00:33

ABC and it was a super interesting

play00:36

project and everything I know about

play00:39

language design or all my opinions about

play00:43

language design originated in that

play00:46

project ABC was eventually unsuccessful

play00:49

and I moved on to programming on other

play00:52

projects at the same place the key one

play00:56

was amoeba which was a distributed

play00:58

system that was being built

play01:00

collaboratively by CWI and one of the

play01:03

universities in amsterdam at some point

play01:05

I realized every application we have to

play01:09

write in for amoeba is basically a shell

play01:13

either a shell script or a C program and

play01:17

I found that there were downsides to

play01:22

either of those and I thought well I

play01:25

wish there was a third language that was

play01:27

sort of in the middle of those that felt

play01:29

more like a genuine programming language

play01:32

like on the sea side but that was

play01:35

perhaps interpreted easier to use sort

play01:39

of

play01:41

more concise of expression like shell

play01:45

scripts but without the sort of terrible

play01:48

properties in terms of readability of

play01:51

shell scripts I thought hmmm I can build

play01:55

my own building an interpreter it's

play01:57

gonna take me two or three months and

play02:00

I'll win that time back by increased

play02:04

productivity not just for myself but for

play02:06

the whole team well those three months

play02:09

sort of bloomed to more and more time I

play02:13

don't think we only amoeba project we

play02:16

ever gained that productivity back in

play02:18

amoeba sort of mostly produced

play02:20

scientific papers iPhones slowly became

play02:24

successful paying about after about a

play02:28

year we released it as open source

play02:30

actually we didn't call it open source

play02:33

because those terms had not been

play02:35

invented and almost immediately a small

play02:39

community of iPhone lovers started

play02:44

growing where people sort of spread the

play02:47

word about Python and sort of started

play02:52

contributing back and critiquing each

play02:55

other's contributions and sort of let me

play02:57

have the last word about whether I

play03:01

wanted a particular contribution in the

play03:03

language last July I actually resigned

play03:06

my position of BD FL which is ironic

play03:10

because of the FL standing for for life

play03:13

one imminent change is that pythons own

play03:17

government structure is changing the

play03:20

community is currently in the middle of

play03:23

sort of

play03:24

figuring out what's the best way is to

play03:27

to sort of have governance going forward

play03:32

which is either going to be an honor be

play03:36

DFL although that is the less likely

play03:40

solution more likely I see a small

play03:44

committee of people who are committed to

play03:48

Python success long term those people

play03:51

will also be guiding pythons sort of

play03:54

future vision

Rate This
โ˜…
โ˜…
โ˜…
โ˜…
โ˜…

5.0 / 5 (0 votes)

Related Tags
Python OriginProgrammingNetherlandsLanguage DesignCWIABC ProjectAmoeba SystemOpen SourceCommunityGovernance