SlideShare a Scribd company logo
1 of 114
State of Python
     January, 2010

     Richard Jones

  richard@python.org
Some History
Some History
•   Development started December, 1989
Some History
•   Development started December, 1989

•   0.9.0 released February, 1991
Some History
•   Development started December, 1989

•   0.9.0 released February, 1991

•   1.5.2 released April, 1999
Some History
•   Development started December, 1989

•   0.9.0 released February, 1991

•   1.5.2 released April, 1999

•   2.0 released October, 2000
Some History
•   Development started December, 1989

•   0.9.0 released February, 1991

•   1.5.2 released April, 1999

•   2.0 released October, 2000

•   py3k branched & PEP 3000 March, 2006
Some History
•   Development started December, 1989

•   0.9.0 released February, 1991

•   1.5.2 released April, 1999

•   2.0 released October, 2000

•   py3k branched & PEP 3000 March, 2006

•   3.0 released November 25, 2008
Some History
•   Development started December, 1989

•   0.9.0 released February, 1991

•   1.5.2 released April, 1999

•   2.0 released October, 2000

•   py3k branched & PEP 3000 March, 2006

•   3.0 released November 25, 2008

•   3.1 released June 27th, 2009
What’s New In 3.1
What’s New In 3.13.0
What We Utterly
Broke In 3.0 With No
   Regard For The
   Consequences
What’s New In 3.0
What’s New In 3.0

• print() and exec() are still functions
What’s New In 3.0

• print() and exec() are still functions
• dict.keys(), dict.items(), dict.values(), map(),
  filter() and zip() still return iterators
What’s New In 3.0

• print() and exec() are still functions
• dict.keys(), dict.items(), dict.values(), map(),
  filter() and zip() still return iterators
• text is still unicode and files still read bytes
What’s New In 3.0

• print() and exec() are still functions
• dict.keys(), dict.items(), dict.values(), map(),
  filter() and zip() still return iterators
• text is still unicode and files still read bytes
• as, with, True, False and None are still keywords
What’s New In 3.0
What’s New In 3.0


• exception chaining is still there
What’s New In 3.0


• exception chaining is still there
• the standard library is still better-organised
What’s New In 3.0
What’s New In 3.0

• old-style classes are still gone
What’s New In 3.0

• old-style classes are still gone
• cmp(), reduce(), apply(), coerce(), callable() and
  raw_input() are still the way of the dodo
What’s New In 3.0

• old-style classes are still gone
• cmp(), reduce(), apply(), coerce(), callable() and
  raw_input() are still the way of the dodo
• `` and <> are also still gone
What’s New In 3.0

• old-style classes are still gone
• cmp(), reduce(), apply(), coerce(), callable() and
  raw_input() are still the way of the dodo
• `` and <> are also still gone
• string exceptions are still no more
What’s New In 3.0 / 2.6
What’s New In 3.0 / 2.6

• multiprocessing
What’s New In 3.0 / 2.6

• multiprocessing
• io and json
What’s New In 3.0 / 2.6

• multiprocessing
• io and json
• tkinter.ttk
  (new complementary widgets, styling
  through “style sheets”)
What’s New In 3.0 / 2.6
What’s New In 3.0 / 2.6
• advanced string formatting
What’s New In 3.0 / 2.6
• advanced string formatting
• Abstract Base Classes
  (and function annotation in 3.0)
What’s New In 3.0 / 2.6
• advanced string formatting
• Abstract Base Classes
  (and function annotation in 3.0)

• 0o21 == 17
  0b1101 == 13
What’s New In 3.0 / 2.6
• advanced string formatting
• Abstract Base Classes
  (and function annotation in 3.0)

• 0o21 == 17
  0b1101 == 13

• Class decorators
What’s New In 3.0 / 2.6
What’s New In 3.0 / 2.6

• added numbers, fractions, cmath, ssl
  modules
What’s New In 3.0 / 2.6

• added numbers, fractions, cmath, ssl
  modules
• new toys in math, functools, itertools,
  collections
What’s New In 3.1
What’s New In 3.1
• python can execute packages (and zip files)
What’s New In 3.1
• python can execute packages (and zip files)
• unittest supports skipping tests
What’s New In 3.1
• python can execute packages (and zip files)
• unittest supports skipping tests
• sys.version_info is a named tuple
  >>> sys.version_info
  sys.version_info(major=3, minor=1, micro=1, releaselevel='final',
  serial=0)
What’s New In 3.1
• python can execute packages (and zip files)
• unittest supports skipping tests
• sys.version_info is a named tuple
  >>> sys.version_info
  sys.version_info(major=3, minor=1, micro=1, releaselevel='final',
  serial=0)


• improved Python 2 pickle support
What’s New In 3.1 / 2.7
What’s New In 3.1 / 2.7
• thanks David Gay:
  >>> 1.1
  1.1000000000000001

  becomes...
  >>> 1.1
  1.1
What’s New In 3.1 / 2.7
• thanks David Gay:
  >>> 1.1
  1.1000000000000001

  becomes...
  >>> 1.1
  1.1


• still doesn’t make this correct:
   1.1 + 2.2 = 3.3
What’s New In 3.1 / 2.7
What’s New In 3.1 / 2.7

• io & json rewritten in C
What’s New In 3.1 / 2.7

• io & json rewritten in C
• memoryview object (mutable byte array)
What’s New In 3.1 / 2.7

• io & json rewritten in C
• memoryview object (mutable byte array)
• ordered dictionary
LESS BUGS
What’s New In 3.1


 STILL B0RKS UR CODEZ!
Books

• Python 3 for Absolute Beginners
  by Tim Hall and J-P Stacey



• Programming in Python 3 (Second Edition)
  by Mark Summerfield
Books

• Dive Into Python 3
  by Mark Pilgrim


  Python 3 Patterns, Recipes and Idioms
  by Bruce Eckel and Friends
Books


• Invent Your Own Computer Games with
  Python (Second Edition)
  by Albert Sweigart
Other Books in 2009


• IronPython in Action
  by Michael Foord
Other Books in 2009
• Head First Programming
  by Paul Barry and David Griffiths



• Python for Software Design: How to Think
  Like a Computer Scientist
  by Allen B. Downey
Other Books in 2009
• Gray Hat Python: Python Programming for
  Hackers and Reverse Engineers
  by Justin Seitz


• Hello World! Computer Programming for
  Kids and Other Beginners
  by Warren Sande and Carter Sande
Python 2.7
Python 2.7

• expected in June - alpha 2 out now
Python 2.7

• expected in June - alpha 2 out now
• includes backporting from 3.1
Python 2.7

• expected in June - alpha 2 out now
• includes backporting from 3.1
• will be the last 2.x release
IronPython
IronPython

• Runs on the .NET CLR
IronPython

• Runs on the .NET CLR
• 2.6 released December 2009
IronPython

• Runs on the .NET CLR
• 2.6 released December 2009
• Visual Studio integration higher priority
  than IronPython 3
Jython
Jython

• Python compiled to the Java VM
Jython

• Python compiled to the Java VM
• 2.5.1 released September 2009
Jython

• Python compiled to the Java VM
• 2.5.1 released September 2009
• target CPython 2.7 for next major release
PyPy


• Python in Python
• Michael Hudson will talk about that
Migration Progress
Migration Progress
• SQLAlchemy (so db layers too)
Migration Progress
• SQLAlchemy (so db layers too)
• Distribute (was “setuptools”)
Migration Progress
• SQLAlchemy (so db layers too)
• Distribute (was “setuptools”)
• pygame reloaded (pgreloaded)
Migration Progress
• SQLAlchemy (so db layers too)
• Distribute (was “setuptools”)
• pygame reloaded (pgreloaded)
• Django (mostly done)
Migration Progress
• SQLAlchemy (so db layers too)
• Distribute (was “setuptools”)
• pygame reloaded (pgreloaded)
• Django (mostly done)
• numpy has a plan
   http://www.scipy.org/Python3k
Migration Progress
Migration Progress
• http://wiki.python.org/moin/PortingPythonToPy3k
Migration Progress
• http://wiki.python.org/moin/PortingPythonToPy3k
• python-porting mailing list
  http://mail.python.org/mailman/listinfo/python-porting
Migration Progress
• http://wiki.python.org/moin/PortingPythonToPy3k
• python-porting mailing list
  http://mail.python.org/mailman/listinfo/python-porting
• a bunch of very useful reference code
  http://code.google.com/p/python-incompatibility/
2to3c


• an implementation of Python's 2to3 for C
  code
3to2


• GSoC project
• http://bitbucket.org/amentajo/lib3to2/
Language Moratorium

Temporary suspension of all changes to
 the Python language syntax, semantics,
and built-ins for a period of at least two
  years from the release of Python 3.1
Python 3 speedup
Python 3 speedup
Python 3 speedup


• Unladen Swallow to be merged into py3k
  (Google’s efforts to speed up Python)
Python 3 speedup


• Unladen Swallow to be merged into py3k
  (Google’s efforts to speed up Python)
• A more rational GIL
Community
Community

• Kiwi PyCon (woot)
Community

• Kiwi PyCon (woot)
• planet.python.org
Community

• Kiwi PyCon (woot)
• planet.python.org
• www.python-forum.org/pythonforum
Community

• Kiwi PyCon (woot)
• planet.python.org
• www.python-forum.org/pythonforum
• PyPI comments
http://au.pycon.org/
Skulpt
Skulpt

• http://www.skulpt.org/
Skulpt

• http://www.skulpt.org/
• entirely in-browser implementation of
  Python
Skulpt

• http://www.skulpt.org/
• entirely in-browser implementation of
  Python
• No preprocessing, plugins, or server-side
  support required
Shed Skin 0.3
• Python-to-C++ compiler
• improved type inference
• support for 'map', 'filter', 'reduce', the 'with'
  statement
• many more library modules supported
• several important optimizations
tinypy


• cython, pyrex
• tinpy → C++ → XCode → iPhone
Distribute & pip


• replaces setuptools and easy_install
• Distribute compatible with python 3
  ... pip soon
Web Stuff
Web Stuff
• Django 1.2 on the way (alpha Jan 2010)
  (full Python 3 support in a year or so)
Web Stuff
• Django 1.2 on the way (alpha Jan 2010)
  (full Python 3 support in a year or so)
• TurboGears 2.1 coming (2.0 was June 2009)
Web Stuff
• Django 1.2 on the way (alpha Jan 2010)
  (full Python 3 support in a year or so)
• TurboGears 2.1 coming (2.0 was June 2009)
• CherryPy 3.1.2 in April 2009
  3.2 due out soon supports Python 3
Web Stuff
• Django 1.2 on the way (alpha Jan 2010)
  (full Python 3 support in a year or so)
• TurboGears 2.1 coming (2.0 was June 2009)
• CherryPy 3.1.2 in April 2009
  3.2 due out soon supports Python 3
• Pylons 0.9.7 in February 2009
  Python 3 support (Pylons 1.1) mid-2010?
Web Stuff

• 6th Plone Conf 2009
• 2nd DjangoCon 2009
• Django Ski 2010
virtualenv
virtualenv

• stand-alone python environments
virtualenv

• stand-alone python environments
• with or without system extensions
virtualenv

• stand-alone python environments
• with or without system extensions
• use it!

More Related Content

What's hot

10 more-things-you-can-do-with-python
10 more-things-you-can-do-with-python10 more-things-you-can-do-with-python
10 more-things-you-can-do-with-pythonDaniel Greenfeld
 
C# - Raise the bar with functional & immutable constructs (Dutch)
C# - Raise the bar with functional & immutable constructs (Dutch)C# - Raise the bar with functional & immutable constructs (Dutch)
C# - Raise the bar with functional & immutable constructs (Dutch)Rick Beerendonk
 
Learning Git with Workflows
Learning Git with WorkflowsLearning Git with Workflows
Learning Git with WorkflowsMosky Liu
 
Realtime processing with storm presentation
Realtime processing with storm presentationRealtime processing with storm presentation
Realtime processing with storm presentationGabriel Eisbruch
 
Basic Python Programming: Part 01 and Part 02
Basic Python Programming: Part 01 and Part 02Basic Python Programming: Part 01 and Part 02
Basic Python Programming: Part 01 and Part 02Fariz Darari
 
Learning Python from Data
Learning Python from DataLearning Python from Data
Learning Python from DataMosky Liu
 
Spacebrew: The Overview
Spacebrew: The OverviewSpacebrew: The Overview
Spacebrew: The OverviewBrett Renfer
 
우분투한국커뮤니티 수학스터디결과보고
우분투한국커뮤니티 수학스터디결과보고우분투한국커뮤니티 수학스터디결과보고
우분투한국커뮤니티 수학스터디결과보고용 최
 
Practicing Python 3
Practicing Python 3Practicing Python 3
Practicing Python 3Mosky Liu
 
Building scalable applications while scaling your infrastructure by rhommel l...
Building scalable applications while scaling your infrastructure by rhommel l...Building scalable applications while scaling your infrastructure by rhommel l...
Building scalable applications while scaling your infrastructure by rhommel l...NETWAYS
 
Storm - As deep into real-time data processing as you can get in 30 minutes.
Storm - As deep into real-time data processing as you can get in 30 minutes.Storm - As deep into real-time data processing as you can get in 30 minutes.
Storm - As deep into real-time data processing as you can get in 30 minutes.Dan Lynn
 
Python Seminar PPT
Python Seminar PPTPython Seminar PPT
Python Seminar PPTShivam Gupta
 
Storm: The Real-Time Layer - GlueCon 2012
Storm: The Real-Time Layer  - GlueCon 2012Storm: The Real-Time Layer  - GlueCon 2012
Storm: The Real-Time Layer - GlueCon 2012Dan Lynn
 
Not Everything is an Object - Rocksolid Tour 2013
Not Everything is an Object  - Rocksolid Tour 2013Not Everything is an Object  - Rocksolid Tour 2013
Not Everything is an Object - Rocksolid Tour 2013Gary Short
 

What's hot (15)

10 more-things-you-can-do-with-python
10 more-things-you-can-do-with-python10 more-things-you-can-do-with-python
10 more-things-you-can-do-with-python
 
STORM
STORMSTORM
STORM
 
C# - Raise the bar with functional & immutable constructs (Dutch)
C# - Raise the bar with functional & immutable constructs (Dutch)C# - Raise the bar with functional & immutable constructs (Dutch)
C# - Raise the bar with functional & immutable constructs (Dutch)
 
Learning Git with Workflows
Learning Git with WorkflowsLearning Git with Workflows
Learning Git with Workflows
 
Realtime processing with storm presentation
Realtime processing with storm presentationRealtime processing with storm presentation
Realtime processing with storm presentation
 
Basic Python Programming: Part 01 and Part 02
Basic Python Programming: Part 01 and Part 02Basic Python Programming: Part 01 and Part 02
Basic Python Programming: Part 01 and Part 02
 
Learning Python from Data
Learning Python from DataLearning Python from Data
Learning Python from Data
 
Spacebrew: The Overview
Spacebrew: The OverviewSpacebrew: The Overview
Spacebrew: The Overview
 
우분투한국커뮤니티 수학스터디결과보고
우분투한국커뮤니티 수학스터디결과보고우분투한국커뮤니티 수학스터디결과보고
우분투한국커뮤니티 수학스터디결과보고
 
Practicing Python 3
Practicing Python 3Practicing Python 3
Practicing Python 3
 
Building scalable applications while scaling your infrastructure by rhommel l...
Building scalable applications while scaling your infrastructure by rhommel l...Building scalable applications while scaling your infrastructure by rhommel l...
Building scalable applications while scaling your infrastructure by rhommel l...
 
Storm - As deep into real-time data processing as you can get in 30 minutes.
Storm - As deep into real-time data processing as you can get in 30 minutes.Storm - As deep into real-time data processing as you can get in 30 minutes.
Storm - As deep into real-time data processing as you can get in 30 minutes.
 
Python Seminar PPT
Python Seminar PPTPython Seminar PPT
Python Seminar PPT
 
Storm: The Real-Time Layer - GlueCon 2012
Storm: The Real-Time Layer  - GlueCon 2012Storm: The Real-Time Layer  - GlueCon 2012
Storm: The Real-Time Layer - GlueCon 2012
 
Not Everything is an Object - Rocksolid Tour 2013
Not Everything is an Object  - Rocksolid Tour 2013Not Everything is an Object  - Rocksolid Tour 2013
Not Everything is an Object - Rocksolid Tour 2013
 

Similar to State of Python (2010)

The Ring programming language version 1.5.3 book - Part 11 of 184
The Ring programming language version 1.5.3 book - Part 11 of 184The Ring programming language version 1.5.3 book - Part 11 of 184
The Ring programming language version 1.5.3 book - Part 11 of 184Mahmoud Samir Fayed
 
Introduction to python 3
Introduction to python 3Introduction to python 3
Introduction to python 3Youhei Sakurai
 
python presntation 2.pptx
python presntation 2.pptxpython presntation 2.pptx
python presntation 2.pptxArpittripathi45
 
Qcon beijing 2010
Qcon beijing 2010Qcon beijing 2010
Qcon beijing 2010Vonbo
 
The Ring programming language version 1.5.4 book - Part 11 of 185
The Ring programming language version 1.5.4 book - Part 11 of 185The Ring programming language version 1.5.4 book - Part 11 of 185
The Ring programming language version 1.5.4 book - Part 11 of 185Mahmoud Samir Fayed
 
Python 3.6 Features 20161207
Python 3.6 Features 20161207Python 3.6 Features 20161207
Python 3.6 Features 20161207Jay Coskey
 
Python教程 / Python tutorial
Python教程 / Python tutorialPython教程 / Python tutorial
Python教程 / Python tutorialee0703
 
Introduction to python 3 2nd round
Introduction to python 3   2nd roundIntroduction to python 3   2nd round
Introduction to python 3 2nd roundYouhei Sakurai
 
Python-Yesterday Today Tomorrow(What's new?)
Python-Yesterday Today Tomorrow(What's new?)Python-Yesterday Today Tomorrow(What's new?)
Python-Yesterday Today Tomorrow(What's new?)Mohan Arumugam
 
OSMC 2009 | Nagios Plugins: New features and future projects by Thomas Guyot-...
OSMC 2009 | Nagios Plugins: New features and future projects by Thomas Guyot-...OSMC 2009 | Nagios Plugins: New features and future projects by Thomas Guyot-...
OSMC 2009 | Nagios Plugins: New features and future projects by Thomas Guyot-...NETWAYS
 
A Workshop on R
A Workshop on RA Workshop on R
A Workshop on RAjay Ohri
 
PyData Texas 2015 Keynote
PyData Texas 2015 KeynotePyData Texas 2015 Keynote
PyData Texas 2015 KeynotePeter Wang
 
What is Python?
What is Python?What is Python?
What is Python?PranavSB
 
Python VS GO
Python VS GOPython VS GO
Python VS GOOfir Nir
 
20160708 データ処理のプラットフォームとしてのpython 札幌
20160708 データ処理のプラットフォームとしてのpython 札幌20160708 データ処理のプラットフォームとしてのpython 札幌
20160708 データ処理のプラットフォームとしてのpython 札幌Ryuji Tamagawa
 

Similar to State of Python (2010) (20)

The Ring programming language version 1.5.3 book - Part 11 of 184
The Ring programming language version 1.5.3 book - Part 11 of 184The Ring programming language version 1.5.3 book - Part 11 of 184
The Ring programming language version 1.5.3 book - Part 11 of 184
 
Introduction to python 3
Introduction to python 3Introduction to python 3
Introduction to python 3
 
python presntation 2.pptx
python presntation 2.pptxpython presntation 2.pptx
python presntation 2.pptx
 
Qcon beijing 2010
Qcon beijing 2010Qcon beijing 2010
Qcon beijing 2010
 
The Ring programming language version 1.5.4 book - Part 11 of 185
The Ring programming language version 1.5.4 book - Part 11 of 185The Ring programming language version 1.5.4 book - Part 11 of 185
The Ring programming language version 1.5.4 book - Part 11 of 185
 
Python 3.6 Features 20161207
Python 3.6 Features 20161207Python 3.6 Features 20161207
Python 3.6 Features 20161207
 
Python教程 / Python tutorial
Python教程 / Python tutorialPython教程 / Python tutorial
Python教程 / Python tutorial
 
Introduction to python 3 2nd round
Introduction to python 3   2nd roundIntroduction to python 3   2nd round
Introduction to python 3 2nd round
 
Python Demo.pptx
Python Demo.pptxPython Demo.pptx
Python Demo.pptx
 
Python Demo.pptx
Python Demo.pptxPython Demo.pptx
Python Demo.pptx
 
Python-Yesterday Today Tomorrow(What's new?)
Python-Yesterday Today Tomorrow(What's new?)Python-Yesterday Today Tomorrow(What's new?)
Python-Yesterday Today Tomorrow(What's new?)
 
PyCon Estonia 2019
PyCon Estonia 2019PyCon Estonia 2019
PyCon Estonia 2019
 
sbt 1
sbt 1sbt 1
sbt 1
 
OSMC 2009 | Nagios Plugins: New features and future projects by Thomas Guyot-...
OSMC 2009 | Nagios Plugins: New features and future projects by Thomas Guyot-...OSMC 2009 | Nagios Plugins: New features and future projects by Thomas Guyot-...
OSMC 2009 | Nagios Plugins: New features and future projects by Thomas Guyot-...
 
A Workshop on R
A Workshop on RA Workshop on R
A Workshop on R
 
PyData Texas 2015 Keynote
PyData Texas 2015 KeynotePyData Texas 2015 Keynote
PyData Texas 2015 Keynote
 
What is Python?
What is Python?What is Python?
What is Python?
 
Python Course
Python CoursePython Course
Python Course
 
Python VS GO
Python VS GOPython VS GO
Python VS GO
 
20160708 データ処理のプラットフォームとしてのpython 札幌
20160708 データ処理のプラットフォームとしてのpython 札幌20160708 データ処理のプラットフォームとしてのpython 札幌
20160708 データ処理のプラットフォームとしてのpython 札幌
 

More from Richard Jones

Introduction to Game Programming
Introduction to Game ProgrammingIntroduction to Game Programming
Introduction to Game ProgrammingRichard Jones
 
Message Queueing - by an MQ noob
Message Queueing - by an MQ noobMessage Queueing - by an MQ noob
Message Queueing - by an MQ noobRichard Jones
 
Web micro-framework BATTLE!
Web micro-framework BATTLE!Web micro-framework BATTLE!
Web micro-framework BATTLE!Richard Jones
 
Intro to Game Programming
Intro to Game ProgrammingIntro to Game Programming
Intro to Game ProgrammingRichard Jones
 
Introduction to Game Programming Tutorial
Introduction to Game Programming TutorialIntroduction to Game Programming Tutorial
Introduction to Game Programming TutorialRichard Jones
 
What's New In Python 2.6
What's New In Python 2.6What's New In Python 2.6
What's New In Python 2.6Richard Jones
 
What's New In Python 2.5
What's New In Python 2.5What's New In Python 2.5
What's New In Python 2.5Richard Jones
 
What's New In Python 2.4
What's New In Python 2.4What's New In Python 2.4
What's New In Python 2.4Richard Jones
 
Tkinter Does Not Suck
Tkinter Does Not SuckTkinter Does Not Suck
Tkinter Does Not SuckRichard Jones
 

More from Richard Jones (12)

Angboard
AngboardAngboard
Angboard
 
Don't do this
Don't do thisDon't do this
Don't do this
 
Introduction to Game Programming
Introduction to Game ProgrammingIntroduction to Game Programming
Introduction to Game Programming
 
Message Queueing - by an MQ noob
Message Queueing - by an MQ noobMessage Queueing - by an MQ noob
Message Queueing - by an MQ noob
 
Message queueing
Message queueingMessage queueing
Message queueing
 
Web micro-framework BATTLE!
Web micro-framework BATTLE!Web micro-framework BATTLE!
Web micro-framework BATTLE!
 
Intro to Game Programming
Intro to Game ProgrammingIntro to Game Programming
Intro to Game Programming
 
Introduction to Game Programming Tutorial
Introduction to Game Programming TutorialIntroduction to Game Programming Tutorial
Introduction to Game Programming Tutorial
 
What's New In Python 2.6
What's New In Python 2.6What's New In Python 2.6
What's New In Python 2.6
 
What's New In Python 2.5
What's New In Python 2.5What's New In Python 2.5
What's New In Python 2.5
 
What's New In Python 2.4
What's New In Python 2.4What's New In Python 2.4
What's New In Python 2.4
 
Tkinter Does Not Suck
Tkinter Does Not SuckTkinter Does Not Suck
Tkinter Does Not Suck
 

Recently uploaded

Data governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationData governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationKnoldus Inc.
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityIES VE
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rick Flair
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersRaghuram Pandurangan
 
Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsRavi Sanghani
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesThousandEyes
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...Scott Andery
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Hiroshi SHIBATA
 
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...panagenda
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI AgeCprime
 
Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesKari Kakkonen
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPathCommunity
 
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Alkin Tezuysal
 
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfpanagenda
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 

Recently uploaded (20)

Data governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationData governance with Unity Catalog Presentation
Data governance with Unity Catalog Presentation
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a reality
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
 
Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and Insights
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024
 
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI Age
 
Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examples
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to Hero
 
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
 
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 

State of Python (2010)

Editor's Notes

  1. so a good place to start is &amp;#x201C;what&amp;#x2019;s new in 3.1&amp;#x201D;
  2. so a good place to start is &amp;#x201C;what&amp;#x2019;s new in 3.1&amp;#x201D;
  3. so a good place to start is &amp;#x201C;what&amp;#x2019;s new in 3.1&amp;#x201D;
  4. so a good place to start is &amp;#x201C;what&amp;#x2019;s new in 3.1&amp;#x201D;
  5. so a good place to start is &amp;#x201C;what&amp;#x2019;s new in 3.1&amp;#x201D;
  6. so a good place to start is &amp;#x201C;what&amp;#x2019;s new in 3.1&amp;#x201D;
  7. so a good place to start is &amp;#x201C;what&amp;#x2019;s new in 3.1&amp;#x201D;
  8. an even better place is to maybe recap what 3.0 gave us
  9. or, as some sections of the media and Slashdot reported ...
  10. I think we can all remember where we were on that fateful day when Google just stopped working when 3.0 was released. Oh, those were the days.
  11. urllib/urllib2 -&gt; urllib (package); httplib/cookielib/BaseHTTPServer(etc) -&gt; http.client, http.server; anydbm/dbhash/gdbm/etc -&gt; dbm; xmlrpclib/SimpleXMLRPCServer -&gt; xmlrpc; also PEP 8 changes (ConfigParser -&gt; configparser)
  12. urllib/urllib2 -&gt; urllib (package); httplib/cookielib/BaseHTTPServer(etc) -&gt; http.client, http.server; anydbm/dbhash/gdbm/etc -&gt; dbm; xmlrpclib/SimpleXMLRPCServer -&gt; xmlrpc; also PEP 8 changes (ConfigParser -&gt; configparser)
  13. also in 2.6 (note &amp;#x201C;T&amp;#x201D;kinter)
  14. also in 2.6 (note &amp;#x201C;T&amp;#x201D;kinter)
  15. also in 2.6 (note &amp;#x201C;T&amp;#x201D;kinter)
  16. you can get a bunch of the 3.0 features in 2.6 using __future__ (eg. unicode literals)
  17. you can get a bunch of the 3.0 features in 2.6 using __future__ (eg. unicode literals)
  18. you can get a bunch of the 3.0 features in 2.6 using __future__ (eg. unicode literals)
  19. you can get a bunch of the 3.0 features in 2.6 using __future__ (eg. unicode literals)
  20. math: inf, -inf, nan, factorial, inverse hyperbolic functions and a bunch of others functools: reduce() itertools: cartesian product of iterables, combinations, permutations collections: namedtuple, deque enhancements, ABCs for Iterable and Mappings
  21. math: inf, -inf, nan, factorial, inverse hyperbolic functions and a bunch of others functools: reduce() itertools: cartesian product of iterables, combinations, permutations collections: namedtuple, deque enhancements, ABCs for Iterable and Mappings
  22. hackers, reverse engineers debuggers, torjans, fuzzers, emulators, code/library injection, sniffing, ...
  23. warning with the code download
  24. (2 enters maintenance mode) To reassure people on this, 2.5.5 has just been released.
  25. (2 enters maintenance mode) To reassure people on this, 2.5.5 has just been released.
  26. (2 enters maintenance mode) To reassure people on this, 2.5.5 has just been released.
  27. - 2.5 already supports some of CPython 2.6&amp;#x2019;s features (eg. class decorators) - the backported 3.1 features in 2.7 aid 3.1 compatibility - unicode by default helps IronPython and Jython
  28. - 2.5 already supports some of CPython 2.6&amp;#x2019;s features (eg. class decorators) - the backported 3.1 features in 2.7 aid 3.1 compatibility - unicode by default helps IronPython and Jython
  29. - 2.5 already supports some of CPython 2.6&amp;#x2019;s features (eg. class decorators) - the backported 3.1 features in 2.7 aid 3.1 compatibility - unicode by default helps IronPython and Jython
  30. some big-name projects are done, some not so much posgresql but not mysql, even pl/python in psql supports 2&amp;3
  31. some big-name projects are done, some not so much posgresql but not mysql, even pl/python in psql supports 2&amp;3
  32. some big-name projects are done, some not so much posgresql but not mysql, even pl/python in psql supports 2&amp;3
  33. some big-name projects are done, some not so much posgresql but not mysql, even pl/python in psql supports 2&amp;3
  34. some big-name projects are done, some not so much posgresql but not mysql, even pl/python in psql supports 2&amp;3
  35. - due to last for entire 3.3 release cycle - Slow things down for a while to: 1. Let py3k settle for a while, 2. Let alternative implementations catch up - It&amp;#x2019;s not because &amp;#x201C;we&amp;#x2019;re done&amp;#x201D;
  36. Old GIL: ticks; multi-core systems degenerated badly New GIL: time (5ms by default) multi-core performance unaffected (still only one thread at a time though)
  37. Old GIL: ticks; multi-core systems degenerated badly New GIL: time (5ms by default) multi-core performance unaffected (still only one thread at a time though)
  38. Old GIL: ticks; multi-core systems degenerated badly New GIL: time (5ms by default) multi-core performance unaffected (still only one thread at a time though)
  39. The goal of cython could be described as providing an easy way to convert a Python module into a C extension.
  40. Django 1.2: multiple databases, improved CSRF, configurable email backends, messaging framework, smarter &amp;#x201C;if&amp;#x201D; tag, localization improvement, and a ton of other stuff
  41. Django 1.2: multiple databases, improved CSRF, configurable email backends, messaging framework, smarter &amp;#x201C;if&amp;#x201D; tag, localization improvement, and a ton of other stuff
  42. Django 1.2: multiple databases, improved CSRF, configurable email backends, messaging framework, smarter &amp;#x201C;if&amp;#x201D; tag, localization improvement, and a ton of other stuff
  43. Django 1.2: multiple databases, improved CSRF, configurable email backends, messaging framework, smarter &amp;#x201C;if&amp;#x201D; tag, localization improvement, and a ton of other stuff
  44. Django Ski - Whistler, 2-4 March 2010