How Python Now Manages Its Evolution – Slashdot


For roughly a year and a half software engineer Pablo Galindo has been one of five members on the Python Steering Council, which took the reins when language creator Guido van Rossum stepped down. “The Python Steering Council attempts to reflect the decisions of the community, weighing up all the advantages and disadvantages [of each proposal],” Galindo explains in TechRadar’s look at how the language now manages its evolution. (Alternate URL here.)

“Our responsibility is to make sure everyone is represented in a decision. It’s not about what we think personally, it’s about the community mind.” So while static typing would’ve benefited one specific sub-community, the article argues, the necessary changes were ultimately “deemed by the council to have an overall detrimental effect,” the article points out, “and were therefore rejected.”

Given the popularity of Python and size of the application base, the Steering Council has to exercise considerable caution when deciding upon changes to the language. Broadly, the goal is to improve the level of performance and range of functionality in line with the demands of the community, but doing so is rarely straightforward. “There is an important distinction between making a new language fast, versus increasing the performance of a 30-year-old language without breaking the code,” noted Galindo. “That is extremely difficult; I cannot tell you how difficult it is.”

“There are a number of industry techniques that everyone uses [to improve performance], but Python is incompatible with these methods. Instead, we have to develop entirely new techniques to achieve only similarly good results.”

Separately, the team has to worry about the knock-on effects of a poorly-implemented change, of which there could be many. As an example, Galindo gestured towards the impact of a drop-off in language performance on energy usage (and therefore carbon emissions). “When you make changes in the language, it can be daunting,” he said. “How many CPU cycles will I cost the planet with a mistake…?”

Despite the various headwinds, the Python Steering Council has lofty ambitions for the language, with the next major release (version 3.11) set to go live in October. Apparently, speed is the first item on the agenda. Galindo told us the aim is to improve performance by up to 60% (depending on the workload) with Python 3.11 and again with version 3.12. In the longer term, meanwhile, the goal is to make the language between two and five times faster within the next decade.

The council will also continue to focus on improving the quality of error messages generated by the Python Interpreter in an effort to make debugging much simpler, a pet project of Galindo’s and a major focus during his time on the council.


RSS Feeds

Leave a Reply

Your email address will not be published. Required fields are marked *

Related Posts