PyDev of the Week: R. David Murray

This week we welcome R. David Murray (@rdavidmurray) as our PyDev of the Week. Mr. Murray is a core developer of the Python language and is currently maintainer of the email module. He has a Python blog, although it hasn’t been updated in a while. You might want to check out his Github profile to see some of the other projects he is working on. Let’s spend some time getting to know our fellow Pythonista!

Can you tell us a little about yourself (hobbies, education, etc):

In my youth I thought I wanted to be a Particle Physicist.  Went to the University of Pennsylvania to study physics, and indulged my second love (computers, which at that time were just at the IBM mainframe/TRS 80 stage) by getting a work study job in the Physics Department computing facility.  By my second year there I had decided that Physics itself was just too…messy, but that I loved the math and especially working with computers.  So I graduated with a BA in computer mathematics, and have proceeded to use the computer half and not the math half for most of my career.

Outside of work, I love reading Science fiction and Contra Dancing which my wife and I do twice a week on average.  It keeps me healthy and feeling younger (I find the (live) music wonderful, and it is a dance form that attracts all ages, which is psychologically beneficial, and as an added benefit it is great exercise).

Why did you start using Python?

I’ve lost the exact records now, but I believe I started with Python 1.4 in about 1995.  I had just changed careers (from the HEP computing job to running an Internet Service Provider) and moved to a new state. I’d been playing with object oriented programming in non-OO languages for a while, so when I needed to write an accounting system for the ISP, I searched for OO languages and found Python.  The rest, as they say, is history…I’ve rarely programmed in anything else since, despite a brief fling with trying to rewrite the accounting system in PERL at one point.

What other programming languages do you know and which is your favorite?

I’ve written programs in Visual BASIC, FORTRAN (well, FORTRAN 77 :), C, REXX, FORTH (wrote my own FORTH interpreter of course…for the IBM 370), and LISP.  I’ve debugged programs in more languages than I want to remember.  I would especially like to not remember the Java debugging, but well, you do what you have to do 🙂

Emotionally my favorite language is probably FORTH, although LISP is a close second.  But Python is ever-so-much-more practical than either of those two (although I keep thinking I should try out clojure). Going by my actions, however, you’d have to say that Python really is my favorite language.

What projects are you working on now?

I’m a partner in a consulting company, Murray and Walker, Inc.  I’m under NDA for most of my work right now, so I can’t give you details.  One project is infrastructure work for the company that owns the key patents for over the air digital radio.  The other big project is that I’m part of a team doing some proof-of-concept work at Intel.  Other than my contributions to CPython development (fewer right now than usual, since I’m pretty busy at the moment) I am working on one open source project, a port of Voicesauce to python. I have to work on it in between my bigger projects so we haven’t gotten very far yet.

Which Python libraries are your favorite (core or 3rd party)?

Well, since I’m currently the maintainer of the email library, that would have to be my favorite.  I really like working with asyncio, though (I’m using that in one of my current big projects).  As far as third party goes, one of the things I *love* about Python is that almost anything I need to do I can reach out and find an existing library to help with. So there my favorite is whichever one is currently helping me get the job done 🙂

Where do you see Python going as a programming language?

I see Python as being one of *the* core languages going forward for a long time to come. It is a glue language, one that brings together resources written in both python and other languages in such a way as to make it a joy to write programs that exploit those resources. It’s a very teachable language, and yet it has the power to grow with you as a programmer to help you solve whatever problems you run in to. Even if you leave Python to solve particular problems, you find yourself coming back to it for everything else. Or at least I do.

What is your take on the current market for Python programmers?

I have no idea. My last dry spell contract wise was, I think, three years ago now. But my work has come by word of mouth and through the Python community; people contacting me rather than me doing marketing. I’ve been approached twice by companies wanting to hire me full time, but I like my independence and so far have said no. So to me the “job” market is pretty opaque.

Is there anything else you’d like to say?

I think the biggest issue in the CPython development community is that there is no one who is getting paid to just work through the bugs in the bug tracker and try to get the patches committed.  We keep trying to add new committers, but everyone comes to CPython because they’ve got an itch or two to scratch, and so the stuff that doesn’t scratch anybody’s itch gets neglected.  I’d love it if some people and/or companies would band together and fund someone to do the “scut work” parts of reviewing and committing the patches that are getting neglected.  I’d love to get a contract to do that :).  I’ve actually talked a bit to the PSF about it, but no one really has the time to do the leg work to make something like that happen (there are legal and contractual issues as well as the funding and community-perception issues).  I suppose next time I’m between contracts I might take another go at it 🙂

Thanks so much for doing the interview!