Guido van Rossum was at Amazon a week back doing a talk. Guido presented 21 Years of Python: From Pet Project to Programming Language of the Year.
The slides are linked below and my rough notes follow:
· Significant Python influencers:
o Algol 60, Pascal, C
o ABC
o Modula0-2+ and 3
o Lisp and Icon
· ABC was the strongest language influencer of this set
· ABC design goals:
o Professionals but not professional programmers (lab personal, scientists, etc.)
o Easy to teach, easy to learn, easy to use
· Parts of ABC most liked by Guido:
o Design iterations based on user testing
§ E.g. colon before indented blocks
o Simple design: IF, WHILE, FOR, …
o Indentation for grouping (Knuth, occam)
o Tuples, lists, dictionaries (though changed)
o Immutable data types
o No limits
o The >>> prompt
· Parts of ABC that most needed improvement:
o Monolithic design – not extensible
§ E.g. no graphics, not easily added
o Invented non-standard terminology
§ E.g. “how-to” instead of “procedure”
o ALL’CAPS keywords
o No integration with rest of system
§ No file-based I/O (persistent variables instead)
· The beginnings of Python:
o Amoeba project at CWI
§ Writing apps in C and sh and wanting something in between
· Python design philosophy:
o Borrow ideas whenever it makes sense
o As simple as possible, no simpler (Einstein)
o Do one thing well (UNIX)
o Don’t fret about performance (fix it later)
o Go with the flow (don’t fight environment)
o Perfection is the enemy of the good
o Cutting corners is okay (get back to it later)
· User Centric Design Philosophy:
o Avoid platform ties, but not religiously
o Don’t bother the user with details
o Discourage but allow coding to the platform
o Offer multiple levels of extensibility
o Errors should not be fatal, if possible
o Errors should never pass silently
o Don’t blame the user for bugs in Python
· Core language stabilized quickly in the 1990 to 1991 timeframe
· Early days of active Python community:
o 1990 – internal at CWI
§ More internal use than ABC ever had
§ Internal contributors
o 1991 – first release; python-list@cwi.nl
o 1994 – USENET group comp.lang.python
o 1994 – first workshop (NIST)
o 1995-1999 – from workshops to conferences
o 1995 – Python Software Association
o 1997 – www.python.org goes online
o 1999 – Python Consortium
§ Modeled after X Consortium
o 2001 – Python Software Foundation
§ Modeled after Apache Software Foundation
· Present day Python community:
o PSF runs largest annual Python conference
§ PyCon Atlanta in 2011: 1500 attendees
§ 2012-2013: Toronto; 2014-2015: Bay area
§ Also sponsors regional PyCons world-wide
o EuroPython since 2002
o Many local events, user groups
o python.org
o docs.python.org, mail.python.org, bugs.python.org, hg.python.org,
planet.python.org, wiki.python.org
o Stackoverflow etc.
· Python 2 vs Python 3
o Fixing deep bugs intrinsic in the design
o Avoid two extremes:
§ perpetual backwards compatibility (C++)
§ rewrite from scratch (Perl 6)
o Our approach:
§ evolve the implementation gradually
§ some backwards incompatibilities
§ separate tools to help users cope
Thanks to Guido for doing the well received Python presentation.
Guido’s slides and blog URLS:
· Slides: http://mvdirona.com/jrh/TalksAndPapers/GuidoVanRossum_21_years_of_python.pdf
· Blog: http://python-history.blogspot.com
–jrh
James Hamilton
b: http://blog.mvdirona.com / http://perspectives.mvdirona.com
Thanks for the update Guido.
–jrh
My apologies, I misstated the PyCon dates in my slides. In 2012-2013 it will be in the Bay Area (Santa Clara) and in 2014-2015 in Montréal. Sorry for the confusion!!
Sorry, there wasn’t a video released on this one but we do have Guido’s slides posted above.
–jrh
Hi,
Is there audio or video of this talk available anywhere? It sounds really interesting.