Interview with Steve Holden, Python Expert for Almost 30 Years
Steve Holden started using Python at version 1.4
in 1995. He has since written about Python, created instructor-led training,
delivered it to an international audience built 40 hours of video training for
reluctant Python users.
An Emeritus Fellow of the Python Software Foundation,
Steve served as a director of the Foundation for eight years and as its
chairman for three; he created PyCon, the Python community's international
conference series and received the Frank Willison Award for services to the
Python community. He lives in Hastings, England and works as Technical
Architect for the UK Department for International Trade.
Steve will be speaking at GITEX for the first time ever this year, on October 18th, Hall 26 DevSlam Stage - covering the topic: Pycon MEA | Python: From Supercomputer to Microcontroller.
How did you get started with Python, and what
motivated you to continue working with it for over two decades?
During
my undergraduate (1973-76!) days I had come across SmalltTalk, and become quite
excited about object-oriented programming. At Manchester University a research
student ported SmallTalk to a local. machine and I realised over time it didn't
really "fit my brain," so I gave up on OOP for a good while.
In 1994/5 I moved to the States from the UK, and
found "Learning Python" in a bookstore while I was waiting for a
restaurant table. As I devoured it over the next week I realized that this
was the first language to make object-oriented programming a practical
proposition for the average programmer.
Having recognized and failed to
take advantage of a number of ultimately successful technologies, I decided I
would invest 20 years in trying to ensure the popularity of something I thought
should succeed. I started PyCon, joined the Python Software Foundation board
for eight years and chaired it for three. It's been almost thirty years
now, and I'm still finding plenty to be enthusiastic about!
How have you seen Python evolve over the years,
and what are the most significant changes or improvements you’ve observed?
I think the two features I'd pick
out as the most significant in Python's progress
were:
a) The switch to Python 3.This
removed a number of irregularities from the language and, most significantly,
addressed the serious issues around text handling by clearly differentiating
between text and binary data
b) The introduction of type hints and the
development of multiple type checking systems. While I don't think it;'s
helpful to teach typing to beginners, the fact that they are completely
optional means that mypy and the like can help to engineer large software
systems more effectively.
Can you share an interesting challenge you’ve
tackled using Python? What was your approach, and what did you learn from it?
There
have been so many! One project I enjoyed involved replacing an already
Python-based reporting system for school districts across America. The original
was inflexible, was having trouble completing its reports by the start of the
working day, and appeared to have been written by C programmers. Using a proper
object-oriented design I was able to build a system that let users specify
their own reports and have them created, in two different formats, for online
viewing or scheduled email delivery four hours before the working
day started.
What advice would you give to someone just
starting out with Python today?
There are so many different sources of
information about Python, I think nowadays it's best to approach the language
with a particular problem in mind rather than just trying to "learn
to program." It's much more motivating when your learning is getting you
closer to some answer you're interested in, and a web search for "python
<topic of your choice>" will almost certainly give you a good
starting point. Maybe search the questions on StackOverflow t
get some Most importantly, make contact with Python's communities.
There are a lot of helpful people out there!
What are you most looking forward to at GITEX
this year?
Meeting
people from Python communities I have previously had no contact with. I've
always been just as interested in communities as in the technical issues, and
on my first visit to Dubai I am bound to meet some interesting new people.