Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Python 2.7 and Python 3: A Sacred Love Story

Python 2.7 and Python 3: A Sacred Love Story

Kenneth Reitz

May 20, 2014
Tweet

More Decks by Kenneth Reitz

Other Decks in Programming

Transcript

  1. Python 2.7 & Python 3
    A Sacred Love Story
    Kenneth Reitz

    View Slide

  2. Welcome.

    View Slide

  3. @kennethreitz

    View Slide

  4. View Slide

  5. Python Software
    Foundation

    View Slide

  6. github.com/kennethreitz
    • ~18 serious projects.
    • 100+ experiments.
    • OSX-GCC-Installer: 56TB of downloads.
    • Requests: 14.3+ million downloads.

    View Slide

  7. Other Interests...
    • Street Photography & Photojournalism
    • Synthesizers & Music Production
    • World Travel (~140,000 miles last year)
    • Public Speaker (29 events last year)

    View Slide

  8. Language

    View Slide

  9. Early Human:
    Alone with self & ideas.
    Self

    View Slide

  10. Spoken Language:
    Express ideas to others.
    Self
    Other

    View Slide

  11. Written Language:
    Persists ideas over time.
    Self
    Other
    Time

    View Slide

  12. Human hardware hasn't changed —
    The software has been upgraded.

    View Slide

  13. Communication: One-to-One.
    At first, language was mostly used for a single
    person to communicate to another single person,
    or a small group of people.
    !
    This is no longer the case.

    View Slide

  14. View Slide

  15. Communication: One-to-Many.
    • After the printing press, a single privileged
    entity could communicate to the masses.
    • Newspapers, Books, Television, Radio, etc.
    • This formed the narrative of "the public".
    • Very polarizing — unifying and destructive.

    View Slide

  16. Communication: Many-to-Many.
    ?

    View Slide

  17. The Internet!

    View Slide

  18. Communication: Many-to-Many.
    • If you have access to the internet, you have
    access to a universe of information and ideas.
    • Anyone can publish anything to any number
    of people, large or small. A level playing field.
    • The implications of this are huge.

    View Slide

  19. Self
    Other
    Time

    View Slide

  20. Self
    Other
    Time
    Space

    View Slide

  21. Self
    Other
    Time
    Space

    View Slide

  22. Self
    Other
    Time
    Space
    Culture
    Self-Expression
    Self-Identity
    H
    istory

    View Slide

  23. Self
    Other
    Time
    Space
    Culture
    Self-Expression
    Self-Identity
    H
    istory
    Social Media
    Research &
    Information
    Creation &
    Publishing
    Consumption &
    Discovery

    View Slide

  24. For the first time in
    Human History!
    We have the technology.

    View Slide

  25. Python!

    View Slide

  26. The Zen of Python
    >>> import this

    View Slide

  27. Beautiful is better
    than ugly.

    View Slide

  28. Explicit is better
    than implicit.

    View Slide

  29. Simple is better
    than complex.

    View Slide

  30. Complex is better
    than complicated.

    View Slide

  31. View Slide

  32. I am Afraid.

    View Slide

  33. I am Terrified.

    View Slide

  34. Python

    View Slide

  35. Python
    Python

    View Slide

  36. Python 3
    Python 2

    View Slide

  37. This boundary
    divides & separates.

    View Slide

  38. Python 3
    Python 2
    Self
    Other

    View Slide

  39. Afraid of Python 3?

    View Slide

  40. You are not alone.

    View Slide

  41. Experiential Oddities
    >>> b'hello'[0]!
    104!
    !
    >>> str(b'hi')!
    "b'hi'"!
    !
    >>> bytes(8)!
    b'\x00\x00\x00\x00\x00\x00\x00\x00'!
    !

    View Slide

  42. Unicode, Codecs, & Friends.

    View Slide

  43. The Standard Library is broken.

    View Slide

  44. Why?

    View Slide

  45. There are no users.

    View Slide

  46. "Of course there are users!
    Everyone's trying Python 3...
    except me!"

    View Slide

  47. Let's look at the data.

    View Slide

  48. DATA

    View Slide

  49. The Cheesehop (PyPi)
    • The canonically accepted source of all Python
    package downloads and installation.
    • The perfect way to measure language
    runtime usage distribution.
    • Sample range: 2014-01-02—2014-01-15.

    View Slide

  50. Python 3
    Python 2
    3,736,829
    81,501,026
    2014-01-02 — 2014-01-15.

    View Slide

  51. Python 3
    Python 2
    Self
    Other
    Current
    New Users

    View Slide

  52. Python Community
    Core Developers
    The Great Separation

    View Slide

  53. The Current Duality
    • Library maintainers have to double their
    efforts to support both Python 2 & Python 3.
    • Core Maintainers will continue working in a
    vacuum, furthering separateness & division.
    • New users will keep coming to Python 3 &
    Python 2 will slowly attrit into nothing.

    View Slide

  54. You are the problem.

    View Slide

  55. You are the solution.

    View Slide

  56. The Two Become One

    View Slide

  57. The Two Become One

    View Slide

  58. Look within yourself — before
    the Python we know & love is
    only a memory.

    View Slide

  59. Stop waiting for the right blog
    post or conference talk to
    influence your opinion.

    View Slide

  60. Have a direct experience.

    View Slide

  61. Share it with us.

    View Slide

  62. Look within.

    View Slide

  63. View Slide

  64. View Slide

  65. View Slide