What Makes Python Awesome
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