Keynote: Guido Van RossumΒΆ

  • Thank you PSF!

  • There are alot of Trolls in the real world

  • What is a Troll?
    • a question that isn’t meant as a question, but to heckle
  • What have trolls said about python?
    • used to be most common “you gotta be kidding about the whitespace”

    • trolls have evolved now

    • “Python Sucks. Ruby Rules”
      • apples and oranges
      • this is mostly all bullshit
      • python, ruby, perl are mostly the same language at 10k feet
      • don’t get pulled into language comparissons
      • be proud of your language, but don’t diss other languages
    • don’t worry, be happy - there are tons of people here

    • “When will you admit Python 3 is a mistake?”
      • unicode literals are back in Python 3
      • Python 3 is doing fine
      • numpy is being ported to Python 3
    • “Since PyPy is so much faster than CPython, why not abandon CPython”
      • asks people to raise their hands who use PyPy in production - almost nobody
      • now CPython - everybody
      • guido sees many possibilities with PyPy
    • Dynamic Typing
      • “I don’t want my app to fail witn an AttributeError after running for 4 hours”

      • type checking in compilers is actually very weak

      • don’t trust your compiler to find all your errors for you
        • if you do, you haven’t done software engineering that long
      • the only way to fix this is to test, think about it, audit it, hire smart people. especially smart people who know they can still get smarter. work with a team with different capabilities.

      • dynamic typing is incredibly important and useful in many ways

      • dynamic languages have become so important that the static community is designing new languages with dynamic features

    • Speed
      • “Python is to slow for real work”
      • “Why don’t you write a compiler?”
      • Anytime he writes something in Python, it’s fast enough
      • In languages that are fast, the development is too slow
    • The GIL
      • “Python is useless because of the GIL”
      • “You can’t use iton a multi-core computer”
    • Async I/O and Concurrency
      • Likes gevent, but is hesitant to add it to the stdlib
      • guido is not a callback fan
    • The Browser
      • why don’t you put Python in the browser
      • because nobody would want to use it
      • introducting a new language to replace javascript is a huge political problem
    • Mobile
      • “You work for Google. Why didn’t you make Python the language of choice for Android”
      • There are enough tools out there that people can use to make this happen
    • Functional Programming
      • “Why did you kill reduce()”

      • “Please fix lambda”

      • “Please add more functional features”

      • Python is not a functional language for a very specific reason
        • it’s very pragmatic
      • What you can do is learn a functional language, get excited about the functional features. And when you are writing python and when you see an oppurtunity to write in a functional style, use it.

      • Guido likes functional programming as a challenge and a fresh idea

    • The standard Library
      • “Why hasn’t <my favorite package> been added to teh standard library yet?”
      • You’re better off. Once it’s in stdlib you’re stuck with the API you have because of backwards compatability. You’re stuck on a release cycle
    • Garbage Collection
      • Python has gotten a long way with reference counting
      • Python does have garbage collection
    • Language Evolution
      • “Stop changing the language already!”
      • will never be solved for everybody
      • as your userbase grows you become more conservative with changes