
The History of Python: New-style Classes - gthank
http://python-history.blogspot.com/2010/06/new-style-classes.html
======
jacobolus
The Python community’s (and Guido’s) approach to evolving language features
and backwards compatibility is really a model for software projects. The focus
when comparing programming languages or other types of software is often on
feature specifics, but those are driven by process and community. It’s the
process of smart high-level mailing list debate, followed by PEPs, more
debate, and executive decisions by a careful (even skeptical) but dedicated
and competent BDFL that makes Python what it is.

There’s a brilliant book about teams, projects, and workflows hiding somewhere
in a detailed historical review and comparison of popular programming
languages.

------
wingo
I do not like Guido's language design instincts, but his respect for his
users' existing code is admirable, and has proved to work very well for
Python.

~~~
clutchski
"I do not like Guido's language design instincts"

I am curious. What don't you like?

~~~
mahmud
GvR showed complete misunderstanding of recursion until someone mailed him a
copy of SICP.

<http://twitter.com/gvanrossum/status/1838308947>

And the bibliography:

[http://www.reddit.com/r/programming/comments/8lgp0/guido_van...](http://www.reddit.com/r/programming/comments/8lgp0/guido_van_rossum_somebody_mailed_me_a_copy/c09ogre)

~~~
studer
Oh, please. It's not like anyone's forcing you to be an trolling asshole, so
why do you gladly volunteer? You don't know Guido, and you don't have the
slightest idea what he knows and not.

~~~
mahmud
By his own admission:

"A lot of people remarked that in my post on Tail Recursion Elimination I
confused tail self-recursion with other tail calls, which proper Tail Call
Optimization (TCO) also eliminates. I now feel more educated: tail calls are
not just about loops"

[http://neopythonic.blogspot.com/2009/04/final-words-on-
tail-...](http://neopythonic.blogspot.com/2009/04/final-words-on-tail-
calls.html)

What exactly did your reply contribute, aside from calling me a "trolling
asshole"?

~~~
moe
So, Guido had a misconception about something, was educated about it, is now
smarter than before - and freely admitting it.

Seems like quite a normal thing to me (it's called "learning"), so what's the
big deal here?

Is Guido not allowed to make mistakes?

~~~
Scriptor
The "Benevolent Dictator" of a major language is still learning some basics of
language design 18 years into starting that language. I'd more more okay with
it if Guido didn't have such a strong grasp on the language's future.

~~~
moe
I don't agree with all of his decisions either but find it a bit ridiculous to
call him out on "not knowing the basics", given he created one of the most
popular scripting languages in existence.

As I understood the discussion there is no definite "right" or "wrong" on the
issue anyways - it's merely one of the many tradeoffs. Quite possibly one
where he wasn't fully aware of all details and implications. But heck, if you
need to argue then how about arguing for or against a particular way to do TCO
in python instead of going ad hominem against the guy who built the entire
playground that you're building your little sandcastles in?

~~~
Scriptor
I only said he didn't know " _some_ of the basics". Also, this is neither a
personal attack on irrelevant facets of him, nor is it just about TCO.

Python has done very well in its history and I personally like it. However,
Guido made his final decision literally days after learning the distinction.
This means before that any decisions he made in this area were based on shaky
information. Furthermore, he was initially informed by comments on his blog,
not his own research. I'm worried what this means for future decisions in
Python if Guido doesn't research something on his own before making decisions
on it. I understand that he's busy, but working of Python is part of that and
surely research should be included :).

