February 20 2021 marks 30 years since the Python programming language was launched by its creator, Guido von Rossum. It is known as an incredibly versatile language, used in developing some of the most popular web applications, from Instagram to Dropbox. At the same time, it is a gateway language for many who are first being introduced to the world of software development. It is frequently taught to schoolchildren and people worldwide who lack any prior programming experience.
Within academia, it remains a favourite for the data science tasks performed by mathematicians, physicists, and scientists of all stripes around the world. It is the second most popular programming language worldwide, according to RedMonk’s rankings; the first non-Java related language to be ranked this highly since 2008.
One language that binds them all
One reason for Python’s popularity lies in its simplicity. Its users do not need to understand compilers, assemblers, or any of the other tiny details other languages require. Feedback is instant, and the language is improving all the time. In addition to its popularity among entry-level users, Python is rapidly becoming a priority within the business environment, finding favour for serving as the ‘gluing language’.
Large development projects always have a trade-off between scale and speed. The typical software stack that a large organisation, such as Bloomberg, uses every day may include code written in several different languages, while the underlying data may be stored in numerous formats, languages, and locations. In such environments, Python has taken root as a subtle, but powerful way to bridge between different applications and code libraries.
By reducing the need to write this gluing code in compiled languages and architecting it in Python instead, development cycles are shortened, results are made more interactive and are quicker to observe, and the delays caused by things such as long compile times are eliminated. As it is less likely to hard-crash (this is, failing without a hint or explanation of what went wrong) than some compiled languages, it can help developers iterate quicker and ultimately deliver usable products to clients faster.
At Bloomberg, we are huge users of Python. We’ve got over 100 million lines of Python code. Our web services, machine learning models and developer tools all use some form of it, and we’re proud to say that we are tackling use-cases that were once considered beyond the language. More than 2,000 developers (out of our nearly 6,500 software engineers worldwide) are using it to code some of Bloomberg’s flagship products. Last month alone, they fired the Python interpreter more than over 3.7 billion times.
As a core CPython developer and recently elected member of the Python Steering Council for 2021, I’m deeply involved with the Python community. Since I’ve been involved with the language, we have really seen its application in data science – a core discipline at Bloomberg – take off.
The five-person Steering Council can be seen as a trusted group of volunteers whose roles are to champion the language, and make contributing to its evolution as accessible, inclusive and sustainable as possible. We also look at the quality and stability of the language and the CPython interpreter. Most importantly, the Steering Council acts as a conduit for the proposed changes and improvements that come from Python’s passionate and vocal community.
The group changes after every major release of Python, following a period of voting where the core developers of the language elect the new members. Ultimately, much of our role is about listening to the feedback we get from the community. The future of Python involves incorporating this feedback to benefit the whole ecosystem.
The passion and enthusiasm by Python developers for the language is truly inspiring. One of the groups I’ve previously met with, for example, have been educators who wanted to discuss ways to clarify how Python flags and explains errors. This is the type of evolution we are always looking for, as it’s an example of a small, but important, change that makes the language more accessible and more effective.
Striking a balance
In the early months of 2021, we’ve been working to improve how Python reports syntax errors that happen when a developer writes some syntactically incorrect code. This can be trickier to achieve in a way that’s understandable and effective for everyone.
Every grammar or syntax change, however small, can provoke a reaction from the community. We must listen to this feedback and be prepared to adapt accordingly. People are passionate about how they write and read Python code, the proper use of its grammar, or how flexible these rules should, or shouldn’t, be. In this sense, it is just like a verbal language.
Like any developer community, there are splits on issues due to the different needs and wants of the group. Navigating these – and striking a balance that works for everyone – is the main challenge for those at the helm over the next year and beyond.
As Python turns 30, it is changing and growing faster than other languages have in the past. I am confident that it will remain as useful in the classroom, as it is for the professional software engineer, for years to come.
Interested in hearing industry leaders discuss subjects like this? Attend the co-located 5G Expo, IoT Tech Expo, Blockchain Expo, AI & Big Data Expo, and Cyber Security & Cloud Expo World Series with upcoming events in Silicon Valley, London, and Amsterdam.