The Father of Python Announces Retirement, but Python Continues to Conquer the World

The Father of Python Announces Retirement, but Python Continues to Conquer the WorldThe Father of Python Announces Retirement, but Python Continues to Conquer the WorldThe Father of Python Announces Retirement, but Python Continues to Conquer the WorldThe Father of Python Announces Retirement, but Python Continues to Conquer the WorldThe Father of Python Announces Retirement, but Python Continues to Conquer the WorldThe Father of Python Announces Retirement, but Python Continues to Conquer the WorldThe Father of Python Announces Retirement, but Python Continues to Conquer the WorldThe Father of Python Announces Retirement, but Python Continues to Conquer the WorldThe Father of Python Announces Retirement, but Python Continues to Conquer the WorldThe Father of Python Announces Retirement, but Python Continues to Conquer the WorldThe Father of Python Announces Retirement, but Python Continues to Conquer the WorldThe Father of Python Announces Retirement, but Python Continues to Conquer the WorldThe Father of Python Announces Retirement, but Python Continues to Conquer the World

The Father of Python Announces Retirement, but Python Continues to Conquer the World

On October 30, Guido van Rossum, the father of Python, announced his retirement from Dropbox.

He tweeted, “This feels both bitter and sweet: the bitter part is that I am leaving Dropbox and retiring; the sweet part is that I learned a lot during my time as an engineer at Dropbox, such as type annotations, which came from this experience. I will miss working here very much.”

The Father of Python Announces Retirement, but Python Continues to Conquer the World

Python is Conquering the World

Today, the enthusiasm for Python has far exceeded the initial developer circle. Some predict that with the rapid growth of the Python user base, it will soon become the most popular programming language in the world. Millions of people use Python every day, and the user base is experiencing exponential growth, showing almost no signs of decline.

Whether professional or amateur developers, they are using Python to handle tasks of all sizes, especially web developers, data scientists, and system administrators. The first images of black holes released this year were stitched together using Python.

Python plays a key role in some world-renowned organizations, such as Netflix, which uses Python to deliver streaming video to over 100 million households worldwide, Instagram, which uses Python for photo sharing, and NASA, which uses Python to explore space.

The Early Days of Python

Python was originally a personal project of Dutch programmer Guido van Rossum. In the late 1980s, van Rossum developed distributed systems at the CWI (Centrum Wiskunde & Informatica) in the Netherlands. Disappointed with existing programming languages, he decided to create a new language—one that was both easy to use and powerful.

The Father of Python Announces Retirement, but Python Continues to Conquer the World

Guido van Rossum, the Father of Python

For van Rossum at the time, accomplishing anything with the few programming languages available was quite difficult. The Amoeba distributed computing system he was developing required him to use C or Unix shell, both of which had significant limitations. C required developers to manage memory manually, which could lead to potential bugs, and lacked reusable code libraries. Developers had to reinvent the wheel for every new project to complete everyday tasks. Unix shell had another problem—while it provided some utilities for everyday tasks, they were too slow to handle complex logic.

The limitations imposed by these languages were so significant that van Rossum felt that creating his own interpreted language—borrowing some features from ABC—seemed like the best choice.

van Rossum recalled, “I thought, why not create my own language? I could borrow some ideas from ABC and scale down the project, reducing what would take three years to complete to three months, making it my own personal project. Thus, Python was born.”

At the end of 1989, van Rossum began serious development of the language, naming it after his favorite comedy troupe, Monty Python, and later associating it with the image of a coiled python.

He said:“At that time, I didn’t know if Python would really make my work more efficient.To some extent, I really liked the idea of being able to complete a large project on my own and design and implement it the way I wanted.To me, programming is a fun thing.”

Three months later, van Rossum produced a working prototype of Python.

He said, “Although today’s Python has many abstract features that did not exist at that time, the language itself has remained consistent.”

“Back then, Python already had the basic components needed to parse and run the language. The first runnable Python programs can still run today.” Their function definitions are the same, indentation is the same, the syntax for creating dictionaries and tuples is the same, and the interactive prompt is also the same.

When his two colleagues began using the language to handle everyday tasks, van Rossum did not expect it to become popular. He knew how difficult it was to make a programming language popular before the internet era.

Today, sharing software with the world can be done with just a few clicks, but in the 1980s, it was a laborious task.

In 1991, van Rossum released Python to the world through the alt.sources newsgroup.This was essentially an open-source license agreement, predating the term “open-source license” by six years.Although the Python interpreter at that time still required connecting 21 separate parts into a compressed file and needed to be downloaded overnight from Usenet, it was still much more efficient than the previous method of sending tapes offline.

He said, “I hoped Python would succeed, after all, my previous project had basically ended in failure.”

van Rossum said that it was a long time before he realized that Python’s user base was growing. Gradually, he became aware that the momentum for Python’s development was forming, and after communicating with the Python community for a while, he knew that Python had succeeded.

Why Python Won

Python began to gain attention in the early to mid-1990s, and the era of Python arrived, which surprised van Rossum.

van Rossum believes that the developers attracted to Python turned to it for the same reasons he created Python. They needed a high-level scripting language that could balance usability and functionality. They wanted to end the days of manually managing memory in C and having to reimplement code for repetitive tasks when starting new projects.

Warsaw said that Python achieved a balance between usability and functionality—no mainstream programming language in the early 1990s offered this balance. “I wrote a lot of Perl, Tcl, and C code, and they were not fun at all. When Python appeared, I thought, ‘Wow, it made programming more fun.'”

Whether in the past or present, Python offers clear and explicit syntax, using indentation to group code into blocks, making it easier for developers to read and understand the code.

The Father of Python Announces Retirement, but Python Continues to Conquer the World

In 1994, Barry Warsaw at the first Python workshop

Python emphasizes code simplicity and readability, which is not accidental. van Rossum has publicly stated that programming languages should not only tell computers what to do but also facilitate the communication of ideas among developers.

Ryan said that in addition to readability, Python had some built-in general features early on, which made Python stand out from other languages. “You could use certain features from the start, such as classes and exception handling. Python also provided support for functions like lambda, map, and filter, which are very useful in many cases.”

If the mainstream programming languages of the late 1980s had been a bit better, perhaps Python would not have had the opportunity. One of van Rossum’s motivations for developing Python was that Perl was incompatible with the Amoeba distributed computing system he was using at CWI. He said, “Python was fortunate that Perl could not be ported to Amoeba. If Perl could have been ported to Amoeba, I would not have thought of developing a language myself.”

Although Python attracted a loyal following after its release, it still lagged behind in the programming language landscape during the 1990s. van Rossum said that Python’s competitors were Tcl/Tk and Perl, both of which aimed for simplicity and power, just like Python.

He said, “In the 1990s, among the top three programming languages, Perl was undoubtedly first, Tcl/Tk was second, and Python was third.”

Stack Overflow developer reports show that in terms of developer activity, Python is the fastest-growing programming language, while Perl is shrinking, and it doesn’t even appear in the latest Stack Overflow developer report.

The following image shows this explosive growth. In recent years, the number of questions related to Python on Stack Overflow has grown far faster than for other programming languages.

The Father of Python Announces Retirement, but Python Continues to Conquer the World

So how did Python surpass its former competitors? How can we explain the starkly different fates of these two languages? van Rossum believes it relates to the ease of maintaining codebases once they reach a certain scale. He said, “From people’s experience, Perl is suitable for writing scripts with fewer lines, but if your core code exceeds 500 lines, along with thousands of lines of branching code, maintaining that code in Perl requires following many principles. In Python, you don’t need to follow as many principles, and the code still maintains good readability and maintainability.”

Python is both simple to use and robust enough to develop large applications, and this combination is the reason for Python’s success in the 1990s.

“Some internet developers wanted to create increasingly large applications, and they realized that developing applications in Python was much easier than in C, C++, or Java.”

As Python gradually gained popularity in the 1990s, van Rossum, who was still working at CWI, found that the programming language he created was increasingly connecting him with people from around the world.

Python and the Web

In the mid-1990s, Python found new applications, from audio recording and playback to its first foray into web development, which later became a major application area for Python.

van Rossum said, “Web development is important, and it is also something I find very interesting.” Python began to be used alongside Perl and shell scripts for backend web server development. “You could create dynamic web pages, which is one of my favorite applications of Python.”

Ryan from Gartner said that in the 1990s, Python became popular among developers mainly because it could be used to quickly create powerful scripts. “As a very powerful scripting language, it lowered the barrier to entry for many users.” Ryan also said that the language is very flexible and easy to learn, attracting many users with varying levels of technical expertise.

In 1994, Python caught the attention of Michael McLay, who was then in a senior position at the National Bureau of Standards (NBS) and is now at the National Institute of Standards and Technology (NIST). McLay was thinking about how to help scientists at the Bureau of the Census benefit from Python’s ease of use. In van Rossum’s view, the scientists at the Bureau of the Census “needed to handle large amounts of data, but they were not good at programming.”

To promote Python at NBS, McLay invited van Rossum, who was still working at CWI in the Netherlands, to be a guest researcher at NIST for two months. This move became a catalyst for Python’s future development and a significant turning point in van Rossum’s life.

The Father of Python Announces Retirement, but Python Continues to Conquer the World

van Rossum with Warsaw and Roger Masse at the first Python workshop

It was during this time that they held the first Python workshop in the offices of the Bureau of the Census. van Rossum, Barry Warsaw, and other early Python enthusiasts gathered to share what they were doing with Python and their expectations for its future development.

It was also in this office that van Rossum met Bob Kahn, the author of the TCP/IP protocol.

This meeting led to a job offer for van Rossum to work with Kahn at the Corporation for National Research Initiatives (CNRI), a non-profit research organization in Virginia focused on strategic development and research in network technology.

Since Python’s public release in 1991, its user base has grown significantly. By the late 1990s, Python attracted a large number of users from around the world. During this period, with the formation of the precursor to the Python Software Foundation (PSF, officially established in 2001), the management of the Python language began to become more standardized. As the community grew, the biennial Python workshops gradually evolved into larger annual events, eventually becoming the popular PSF annual PyCon that continues to this day.

By the 21st century, the Python user base continued to grow, and early Python users were concerned about what would happen to Python if van Rossum were to have an accident.

Regardless, van Rossum continued to play a core role in Python. He was the heart of Python, and this idea never faded; he was referred to as Python’s “Benevolent Dictator For Life” (BDFL). This semi-joking title persisted for many years.

van Rossum said, “For a long time, I bore the pressure and developed project management skills. I delegated many things to others, allowing them to do things their way.”

In fact, the open nature of Python that van Rossum established (open discussions among core developers in the community) is a decisive factor in Python’s success.

The Evolution of Python

During this period, Python underwent significant development. In 2008, Python 3.0 was released, modernizing Python as a programming language. Recently, there have been significant changes in the management of Python.

These changes occurred last year when van Rossum stepped down from the BDFL title due to disagreements over the introduction of assignment expressions in PEP 572.

Although the introduction of assignment expressions was intended to write code more efficiently, van Rossum faced severe criticism from opponents online, with some claiming that the proposal would reduce code readability and maintainability.

van Rossum said that while he had become accustomed to debates surrounding new features, this time he felt personally attacked, and some even resorted to personal attacks, leading him to decide to resign.

He said, “Those who technically disagreed with me began to complain on social media that I was undermining Python’s decision-making process or that I had made a serious mistake. I felt very disappointed and felt I was being attacked from behind.”

“In the past, when deciding whether to make changes or improvements to Python, a group of core developers would discuss the pros and cons. They would reach a clear consensus, and if the outcome was unclear, I would think it over repeatedly in my mind before making a decision. On the PEP 572 proposal, despite its controversy, I chose to say, ‘Yes, I want to do this,’ but people did not buy it.

“This was not a rebellion, but I felt I did not have enough trust from the core developer community.”

He believes that the change in the way Python’s controversies are handled is partly due to the increasing number of people using Python.

“The size of the Python community is growing, which may be one reason. Of course, reaching any form of consensus is difficult because no matter what decision you make, there will always be some dissenters.”

The Father of Python Announces Retirement, but Python Continues to Conquer the World

Python core developer Mariatta Wijaya

Earlier this year, the core developers responsible for maintaining the CPython interpreter established a steering council to oversee the future development of Python. Members include van Rossum, Warsaw, and other core developers Brett Cannon, Carol Willing, and Nick Coghlan.

Warsaw said that when a programming language’s user base grows at such a rapid pace, it is necessary to manage the language’s development in this way.

He said, “I think van Rossum really took on all the responsibilities himself.”

“Twenty-five years ago, when Python was still a niche programming language, the community was much smaller, and van Rossum could still handle it alone, but even then, his workload was significant. I think it would be better to distribute these burdens among five people, considering his personal health and the community’s level of involvement.”

Warsaw said that after each new feature version of Python is released, there will be a steering council election to prepare for the next generation of Python language leadership.

He said, “If Python is still thriving 25 years from now, it should not be van Rossum and me managing it.”

The establishment of the steering council has also been welcomed by the Python core developer community. Core developer Mariatta Wijaya said that this move feels like a step in the right direction. She said, “For me, a steering council is much better than having one person decide everything—that’s a huge responsibility and burden. This is a good sign; it means the community will have more input.”

The Future of Python

While Python continues to attract new users at an astonishing rate, some within the community also see challenges ahead. If Python wants to remain evergreen, it must continue to evolve.

At this year’s Python Language Summit, BeeWare co-founder Russell Keith-Magee said that if support for mobile and web platforms does not improve, Python will face a “survival crisis.”

He said, “The penetration of mobile phones and tablets into the market has never been reached by desktop and laptop computers, but the entire community does not have a case for how to use Python on these devices. So, when laptops gradually become niche devices one day, what predicament will Python face?”

He pointed out some issues with Python, such as the lack of support for compiling code on non-x86 hardware platforms, the fragility of Python’s test suite on mobile and web platforms, the large size of Python applications, and the need to use the asyncio library when developing GUI code on Android, Windows, and web platforms, which requires extra work, as many modules in the standard library are incompatible with interpreters outside of CPython.

Warsaw said that Keith-Magee raised many good points and believes that Python needs to keep pace with new platforms—mobile, tablets, and web technologies (such as WebAssembly), which is important.

Warsaw said, “Currently, Python does not perform well in this regard,” and he hopes that iPhone or Android phones can also download applications developed using Python, and users may not even know “that they were developed using Python.”

The number of cores in modern processor chips is continuously increasing (Intel’s latest server processor has reached 48 cores), and Warsaw also hopes that Python can better run tasks across multiple processor cores.

Warsaw said:“These features will not appear in Python 3.8, but perhaps they will be added in 3.9.I think we will see these features in the next two to two and a half years.I am really glad that Eric can continue this work; it is very important.”

The Python community is modernizing the standard library. A recent proposal suggested removing outdated modules from the standard library. Python’s standard library is often considered one of Python’s strengths because it is used to handle many common tasks, which is why people say Python has “batteries included.” However, at this year’s Python Language Summit, a question was raised: would it be better if people could choose modules from PyPI instead of using the built-in standard library?

Another question is whether the composition of the Python steering council can better reflect the diversity of the Python user base in 2019.

Warsaw said that despite having a “Benevolent Dictator” in charge, many ideas about Python’s development have come from the community in recent years.

He said, “These ideas really emerged from the community, rather than being imposed from the top down.”

Simple community projects can also have a huge impact on Python. For example, the type hinting feature, a feature of Python 3.5, was inspired by the mypy project initiated by a PhD student in 2012. Type hinting can perform optional type checking, helping developers discover certain types of bugs and prevent them from permeating the program.

Link to mypy project:http://mypy-lang.org/

When a group of people develops a large codebase simultaneously, this extra layer of safety becomes very useful.

Warsaw said, “In my view, this allows Python to penetrate into larger organizations (for example, Instagram is basically using Python 3).”

Additionally, asyncio is another example of the community driving Python’s development.

Link to asyncio:https://docs.python.org/3/library/asyncio.html

With the establishment of the steering council and the unprecedented growth of the user base, van Rossum is optimistic that “community-driven evolution of Python” will continue to achieve “unparalleled success.”

He said, “A community with a solid core of developers now has a new management system, and I think we are better prepared for the evolution of the Python language.”

Warsaw said that if anyone doubts whether the Python community can continue to find new applications for Python, they should look at the first image of a black hole captured using Python.

The Father of Python Announces Retirement, but Python Continues to Conquer the World

“There are always some people in the Python community whom I consider to be crazy Python scientists. They are always thinking, if we can do it this way today, can we go further tomorrow?”

The Father of Python Announces Retirement, but Python Continues to Conquer the World

Click to see fewer bugs👇

Leave a Comment