$30 off During Our Annual Pro Sale. View Details »

Python 2 debe morir

Python 2 debe morir

Charla de PyCon Argentina 2012

Roberto Alsina

November 17, 2012
Tweet

More Decks by Roberto Alsina

Other Decks in Programming

Transcript

  1. PYTHON 2 DEBE MORIR
    Una Charla de Python Sin Una Línea de Python
    Me llamo: Roberto Alsina
    Me leen: http://ralsina.com.ar
    Me twitean: @ralsina

    View Slide

  2. Reglas de la Charla
    • Si hablo rápido griten

    View Slide

  3. Reglas de la Charla
    • Si hablo rápido griten
    • Si tienen dudas griten

    View Slide

  4. Reglas de la Charla
    • Si hablo rápido griten
    • Si tienen dudas griten
    • Si los pica algo, griten

    View Slide

  5. ¿Por qué seguimos usando Python 2?
    • Python 3 es nuevo
    • Inercia
    • Es demasiado parecido
    • Efecto del Segundo Sistema
    • Problemas Primermundistas
    • Peor es Mejor
    • Soporte de bibliotecas de terceros
    • Deployment

    View Slide

  6. ¿Python 3 es nuevo?

    View Slide

  7. ¿Python 3 es nuevo?
    • Python 3.0 se liberó el 3/12/2008

    View Slide

  8. ¿Cómo era el 2008?
    • El presidente de USA se llamaba Bush

    View Slide

  9. ¿Cómo era el 2008?
    • El presidente de USA se llamaba Bush
    • Nadie había oído "I Know You Want Me" de Pitbull

    View Slide

  10. ¿Cómo era el 2008?
    • El presidente de USA se llamaba Bush
    • Nadie había oído "I Know You Want Me" de Pitbull
    • Jóhanna Sigurðardóttir no era la primera ministra de Islandia

    View Slide

  11. ¿Cómo era el 2008?
    • El presidente de USA se llamaba Bush
    • Nadie había oído "I Know You Want Me" de Pitbull
    • Jóhanna Sigurðardóttir no era la primera ministra de Islandia
    • Michael Jackson estaba vivo

    View Slide

  12. ¿Cómo era el 2008?
    • El presidente de USA se llamaba Bush
    • Nadie había oído "I Know You Want Me" de Pitbull
    • Jóhanna Sigurðardóttir no era la primera ministra de Islandia
    • Michael Jackson estaba vivo
    • El rascacielos más alto del mundo no estaba en Dubai

    View Slide

  13. ¿Cómo era el 2008?
    • El presidente de USA se llamaba Bush
    • Nadie había oído "I Know You Want Me" de Pitbull
    • Jóhanna Sigurðardóttir no era la primera ministra de Islandia
    • Michael Jackson estaba vivo
    • El rascacielos más alto del mundo no estaba en Dubai
    • Nokia era el mayor vendedor de smartphones

    View Slide

  14. ¿Cómo era el 2008?
    • El presidente de USA se llamaba Bush
    • Nadie había oído "I Know You Want Me" de Pitbull
    • Jóhanna Sigurðardóttir no era la primera ministra de Islandia
    • Michael Jackson estaba vivo
    • El rascacielos más alto del mundo no estaba en Dubai
    • Nokia era el mayor vendedor de smartphones
    • Nadie había nunca visto un iPad

    View Slide

  15. ¿Cómo era el 2008?
    • El presidente de USA se llamaba Bush
    • Nadie había oído "I Know You Want Me" de Pitbull
    • Jóhanna Sigurðardóttir no era la primera ministra de Islandia
    • Michael Jackson estaba vivo
    • El rascacielos más alto del mundo no estaba en Dubai
    • Nokia era el mayor vendedor de smartphones
    • Nadie había nunca visto un iPad
    • NUNCA HABÍA HABIDO UNA PYCON EN ARGENTINA

    View Slide

  16. Inercia
    • ¿Qué gano portando a python 3?
    • Competencia interna entre python 2 y python 3
    • Competencia externa entre python y otros lenguajes

    View Slide

  17. Problemas Primermundistas
    En python 3 print es una función y me olvido de poner los paréntesis.
    Anónimo

    View Slide

  18. Problemas Primermundistas
    En python 3 print es una función y me olvido de poner los paréntesis.
    Anónimo
    Tengo ganas de ir al baño pero no llega la señal del wifi.
    Anónimo

    View Slide

  19. Es Demasiado Parecido
    class SmallSample
    var _random = Random()
    def randomString(length as int, alphabet as String) as String
    require
    length > 0
    alphabet <> ''
    ensure
    result.length == length
    test
    utils = SmallSample()
    assert utils.randomString(5, 'ab').length == 5
    s = utils.randomString(1000, 'a')
    for c in s, assert c == 'a'
    body
    sb = StringBuilder()
    for i in length
    c = alphabet[_random.next(alphabet.length)]
    sb.append(c)
    return sb.toString

    View Slide

  20. Worse is Better
    Vayan (dentro de un rato) y lean "The rise of worse is better" de Richard Gabriel.
    Cosas a tener en cuenta cuando implementás un lenguaje:
    • Simple
    • Correcto
    • Completo
    • Consistente

    View Slide

  21. Worse is Better
    • Python 2 es la escencia de "Worse is Better".
    • Python 3 mejora sólo las partes de "abajo"

    View Slide

  22. Efecto Segundo Sistema
    "La tendencia de sistemas elegantes, pequeños y exitosos a tener sucesores que son
    monstruosidades elefantinas"
    Por suerte, no.

    View Slide

  23. Soporte de Bibliotecas de Terceros
    • Y ... sí.

    View Slide

  24. Deployment

    View Slide

  25. ¿Entonces qué hacemos?
    Bueno...

    View Slide

  26. ¿Entonces qué hacemos?
    Bueno...este...

    View Slide

  27. ¿Entonces qué hacemos?
    Bueno...este... PAREMOS.

    View Slide

  28. ¿Preguntas?
    Si no se les ocurre ahora.... [email protected]

    View Slide