Blessing and a curse
But Python has never enjoyed a doting or overprotective corporate parent, which according to Cannon has been both a liability and a benefit.
Apple, Microsoft, PayPal among 35 organizations compromised by evil twin dependencies attackREAD MORE
"It has hurt us as we have to go out to go searching for funding for everything and we lack paid developers to help keep things running (the best estimate we have is there's a cumulative total of about three to four devs putting in paid time on Python, and one of those is a single person with about 80 per cent time; rest is a smattering from several folks)," he said. "But being independent also means our users never have to worry about us being directed by business needs and can instead always focus on our users and their needs (with the limited resources we have). So it has pluses and minuses."
Asked about how Python goes about reconciling interest in new features with concerns about complexity, Cannon acknowledged that it's a constant challenge.
"There's always tension between expanding the language to make developers even more productive while letting it continue to 'fit your brain,'" said Cannon.
He said it's a balance of how early on would a new user likely come across a feature; the ease with which someone would recognize, if not comprehend, a feature when seen for the first time; the difficulty of searching for answer to find out how a feature works; and the extent to which a feature's function is memorable to those trying to learn it.
Python's other noteworthy obstacle is its scarcity on mobile devices. There are ways to run Python code on phones, like the Kivy framework, but Python isn't the first choice of most mobile app developers.
"I hope it will improve in the next three to five years," said Cannon. "There are several groups that are actively trying to tackle the problem from different angles, but they all require tackling big, hard problems."
Thirty years on, Python deserves recognition for what it has accomplished but it can't rest on its laurels. Rival programming languages like Julia and R in data science, and Go in cloud-native applications, have been turning heads. And the need for greater memory safety, to reduce security risks, has helped push TypeScript and Rust into the spotlight. Uneasy lies the head that wears a crown. ®