Musings from Bloomberg's Python priest
If you want an opinion on the future of Python in finance, or Python generally, it helps to talk to the Python Steering Council tasked with 'Python governance' and maintaining the language's integrity. The Council only has five members and this year, one of them works for Bloomberg.
He is Pablo Galindo Salgado, a physicist and software engineer, who joined Bloomberg's London office in 2018. At Bloomberg, Pablo says he's responsible for supporting all the company's Python developers with infrastructure and libraries and ensuring they have a great experience coding in Python. Before he joined Bloomberg, he was a theoretical physicist researching general relativity and in particular, black hole physics.
Pablo can also code in C and Fortran, but says he "immediately fell in love with Python" when he was doing his PhD. He's one of the most active Python core developers in the world, which might explain why he was invited onto the Steering Council. You can see his Github page here.
In an interview with Dice, Pablo said Python may not be as fast as C++ or Fortran, but that it can be binded against native code and can therefore make use of the, "important ecosystem of scientific libraries written in compiled languages," to piggy-back on the speed they offer. Other languages can do this too, but it's easier in Python Pablo said.
The Python Steering Council is charged with deciding which changes are accepted in the language and which are not, as well as managing the CPython Interpreter which reads and executes Python code. A new version of the interpreter -Python 3.10 - is due later this year and Pablo said it includes improvements in the quality of error messages that are created, particularly around syntax errors. "Sometimes, when you execute some invalid Python code, the error messages you get are difficult to comprehend. In turn, this forces the developer to spend a considerable amount of time trying to understand what’s going on and how to fix it. We can do better." He's also interested in debugging the experience for native (C/C++) extension modules.
Although Python is known for its clean and concise syntax, Pablo said this is evolving and that the evolution can create "tensions" between "different user groups in the Python ecosystem." On one hand, he said experienced users want syntax changes to allow them to be more expressive and to solve problems particular to their fields. On the other, new users want a syntax that's as uncomplicated and easy to learn as possible.
Ideally, Pablo said it would be good if Python could push into new areas. - It's already well-used in data science and the back-end space, but could move into mobile and browser platforms where it's fairly non-existent. It would also be good if Python were better able to leverage multiple cores at the same time. Workarounds already exist for this, said Pablo but, "it is a very hard problem to solve that involves quite a lot of thinking, planning and experimenting."
Have a confidential story, tip, or comment you’d like to share? Contact: email@example.com in the first instance. Whatsapp/Signal/Telegram also available.
Bear with us if you leave a comment at the bottom of this article: all our comments are moderated by human beings. Sometimes these humans might be asleep, or away from their desks, so it may take a while for your comment to appear. Eventually it will – unless it’s offensive or libelous (in which case it won’t.)