Python, the weird bits

  • import statement
    • file based namespacing
    • related package/module hell
  • exception handling and tracebacks
  • BIFs implemented as classes (http://code.activestate.com/recipes/259173-groupby/)
  • dict
    • __iter__
    • items/iteritems
    • pop/popitem
  • Objects are Python’s abstraction for data
  • under-under (dunder == double underscore)
    • magic methods
    • ugly syntax
    • interpreter indirection
  • metaclass
  • descriptors
  • Unform Access Principle
    • attribute definition by assignment
    • uniform access as attributes
  • functions as just any other name in a module
    • def'ing 2 functions with same name in same namespace clobbers first!
    • really bad with tests; copy-paste incremental tests
  • decorators
  • with statement
    • leaks scope
  • generators (overloaded function syntax)
  • lack of well defined conventions
  • metaprogramming
    • overriding __new__ to return arbitrary objects
    • hand wiring everything !!!
  • violations of PEP 20 -- The Zen of Python
  • RuPy conf: Tradeoffs and Choices, Why Ruby isn't Python -Yehuda Katz
  • distutils, setuptools, distribute, pip and the barren wastelands!

[http://memegenerator.net/This-Is-Madness] [http://memegenerator.net/This-Is-Sparta]

Report abuse