Gratitude and Guido
A strange story:
Way back in 2013, I was invited to be on an expert round table at a San Francisco Python meetup. The topic was Python 2 versus Python 3.
Right now, Python 3 has - quite obviously - won. No one in their right mind would suggest starting new Python projects in Python 2 today.
But back then... it wasn't clear Python 3 would win at all.
And so the SF Python meetup group organized a round-table discussion about it.
Now, this was before I wrote Powerful Python, or otherwise had any clear claim to authority on the topic. But for some reason, they decided I was expert enough to be on the panel.
And the others on the panel really were expert. They were people who have written famous Python libraries you've probably used in the past week. Really. Or written Python books you've read. Even a former PSF chair. Genuine experts.
(That's one advantage of living near Silicon Valley. A lot of these Python-famous people live here, and you'll actually run into them at events.)
Anyway, here's the really strange part:
As the discussion progressed, I realized I was the only really pro-Python 3 person on the panel. The only one "gung-ho" for this new version of the language.
Why the resistance? I think it's because if you are developing a library used by a million developers around the world, and it has to simultaneously support every version of Python from 2.5 to 3.3....
Well, if that's your job, then 2013 was a pretty horrible year for you. From an engineering perspective, it's a daunting task.
As 3.x progressed, it got easier. But back then, it was very hard. A hypothetical Python 2.8 just might solve a lot of your biggest problems.
Anyway, I had many technical arguments for adopting Python 3. But I also had one emotional argument:
My argument went like this: think about Guido van Rossum, the creator of Python, who worked for decades to bring us this fabulous language.
We would not have Python if he didn't do that, you know. If he did not risk his career (most new languages flop). If he didn't sacrifice his other opportunities to give us Python (he's a brilliant engineer, and would have rocketed to the top in any normal career path.)
At that time, what version of Python do you think Guido would have wanted you to use? Python 2, or Python 3?
I never got to ask him. If I did, I bet he'd have said to use what version seems best for you - he seems like that kind of guy.
But I'll bet you a stack of money that, in his heart, he wanted to see Python 3 succeed. After years of effort building it, why wouldn't he?
Honestly, that was one factor in my choosing Python 3. As a way to say "thanks" to Guido van Rossum, and the other core developers. Because I'm grateful to them, for creating this wonderful language for us.
As I write this, it's close to Thanksgiving, here in the USA. I guess that's why gratitood is on my mind.
And no matter where you are, I think it's a good reminder to be grateful to those who have built the libraries and technologies we rely on to do fun, rewarding, creative stuff. Who make our blessed profession more blessed.
So what I'm doing today: I'm going to pick one of the libraries I've used in one of my Python programs in the past week, and I'm going to track down the maintainer's email address. And I'm going to email them, and say thanks.
I hope you'll join me. Doesn't matter when you're reading this. What better time to say "thanks", than right now?.
So Happy Thanksgiving, from the USA. And I'm grateful for you.