Speaker Raymond Hettinger
Time 2011-08-21 09:15
Conference PyCon Au 2011
Video Link

Awesome language: Python

  • readability
  • if you have heard of it then it is awesome
  • open source license
  • commercial distributions
  • Zen - python style
  • Community:
    • newsgroups comp.lang.python comp.lang.python.accounce
    • mailing lists python-dev python-help python-tutor
    • pycon
    • PIGS
  • PyPi
  • KillerApps
    • Zope, Django, Pylons
    • Numpy, Scipy
    • Bittorrent and twisted
    • YouTube and Google
    • Blender
  • Win32 library
    • com interface, drive from excel
  • Books
    • Learning Python
    • Dive into Python
    • Python Cookbook
    • Python in a nutshell
    • etc

Qualities of language:

  • Ease of learning
    • Teach programmers Python in 1 to 2 weeks, hard to do in other languages
    • Java 6 months
    • C++ 2 years
  • Rapid Development Cycle
  • Economy of Expression
  • Beauty counts
  • One way to do it. Too many styles is not a good thing.
  • Interactive prompt
  • Batteries included. Lots of libraries.
  • Conservative growth.
  • We read Knuth so you don’t have to.
  • Accidental segfault of python is considered critical bug.
  • BDFL - not a dictator.
  • Standard APIs for many different competing protocols
    • WSGI
    • Database
    • Hashlib
    • File API
    • Compression

High level qualities of Python

  • Foundations
    • Dictionaries and lists
    • Automatic memory management
    • Exceptions
    • First class functions and classes
    • Overridable syntax.
  • Iterator protocol
  • List comprehensions
  • Generators. Easy way to write iterator
  • Genexps, Set comps, Dict comps
  • Decorators
  • Introspection
  • exec, eval, type
  • With statement
  • Abstract base classes
  • Indentation
    • appearance matches functionality

I have written a flight simulator in Awk. Awk has

  • No currency
  • No libraries
  • Poor documentation