2. { “event”: “Python BCN Meetup”, “author”: “Pablo Enfedaque”, “twi6er”: “@pablitoev56”}
> December 1989: Guido Van Rossum starts
Python implementation
> January 1994: Version 1.0 released
> October 2000: Version 2.0 released
> December 2008: Version 3.0 released
> June 2009: Version 3.1 released
> July 2010: Version 2.7 released with backports
> 2014: current versions are 2.7.6 and 3.4
Python versions
3. { “event”: “Python BCN Meetup”, “author”: “Pablo Enfedaque”, “twi6er”: “@pablitoev56”}
> December 1989: Guido Van Rossum starts
Python implementation
> January 1994: Version 1.0 released
> October 2000: Version 2.0 released
> December 2008: Version 3.0 released
> June 2009: Version 3.1 released
> July 2010: Version 2.7 released with backports
> 2014: current versions are 2.7.6 and 3.4
WTF?!
5. { “event”: “Python BCN Meetup”, “author”: “Pablo Enfedaque”, “twi6er”: “@pablitoev56”}
> Backwards incompatibilities
> print and exec become functions
> All classes are new-‐‑style
> Massive usage of generators instead of lists
> All text (str) is Unicode and encoded text is
binary data (bytes)
> Other minor changes in std lib
Python 3.0
13. { “event”: “Python BCN Meetup”, “author”: “Pablo Enfedaque”, “twi6er”: “@pablitoev56”}
Why people don’t use Python 3?
14. { “event”: “Python BCN Meetup”, “author”: “Pablo Enfedaque”, “twi6er”: “@pablitoev56”}
Why people don’t use Python 3?
No dependencies ported
15. { “event”: “Python BCN Meetup”, “author”: “Pablo Enfedaque”, “twi6er”: “@pablitoev56”}
Why people don’t use Python 3?
Laziness?
16. { “event”: “Python BCN Meetup”, “author”: “Pablo Enfedaque”, “twi6er”: “@pablitoev56”}
> Great features are waiting us in Python 3
> We are beyond half the planned life of Python 2.7
> Python 2.6 is officially retired with 2.6.9 release
> Most 3rd party dependencies already in Python 3
> Or we could return to OSS all that we have been given
> hZps://caniusepython3.com
> Porting to Python 3 is not such a big deal
> In most of the cases
> So, no more excuses
> It’s time to start moving to Python 3
Conclusions