SlideShare a Scribd company logo
1 of 114
Download to read offline
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”)
State of Python (2010)
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
State of Python (2010)
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/
State of Python (2010)
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
State of Python (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

Basic Building Blocks of Internet of Things.
Basic Building Blocks of Internet of Things.Basic Building Blocks of Internet of Things.
Basic Building Blocks of Internet of Things.YounusS2
 
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdf
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdfUiPath Solutions Management Preview - Northern CA Chapter - March 22.pdf
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdfDianaGray10
 
Things you didn't know you can use in your Salesforce
Things you didn't know you can use in your SalesforceThings you didn't know you can use in your Salesforce
Things you didn't know you can use in your SalesforceMartin Humpolec
 
Videogame localization & technology_ how to enhance the power of translation.pdf
Videogame localization & technology_ how to enhance the power of translation.pdfVideogame localization & technology_ how to enhance the power of translation.pdf
Videogame localization & technology_ how to enhance the power of translation.pdfinfogdgmi
 
NIST Cybersecurity Framework (CSF) 2.0 Workshop
NIST Cybersecurity Framework (CSF) 2.0 WorkshopNIST Cybersecurity Framework (CSF) 2.0 Workshop
NIST Cybersecurity Framework (CSF) 2.0 WorkshopBachir Benyammi
 
The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...
The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...
The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...Aggregage
 
Introduction to Quantum Computing
Introduction to Quantum ComputingIntroduction to Quantum Computing
Introduction to Quantum ComputingGDSC PJATK
 
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019IES VE
 
Secure your environment with UiPath and CyberArk technologies - Session 1
Secure your environment with UiPath and CyberArk technologies - Session 1Secure your environment with UiPath and CyberArk technologies - Session 1
Secure your environment with UiPath and CyberArk technologies - Session 1DianaGray10
 
Linked Data in Production: Moving Beyond Ontologies
Linked Data in Production: Moving Beyond OntologiesLinked Data in Production: Moving Beyond Ontologies
Linked Data in Production: Moving Beyond OntologiesDavid Newbury
 
PicPay - GenAI Finance Assistant - ChatGPT for Customer Service
PicPay - GenAI Finance Assistant - ChatGPT for Customer ServicePicPay - GenAI Finance Assistant - ChatGPT for Customer Service
PicPay - GenAI Finance Assistant - ChatGPT for Customer ServiceRenan Moreira de Oliveira
 
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...DianaGray10
 
Comparing Sidecar-less Service Mesh from Cilium and Istio
Comparing Sidecar-less Service Mesh from Cilium and IstioComparing Sidecar-less Service Mesh from Cilium and Istio
Comparing Sidecar-less Service Mesh from Cilium and IstioChristian Posta
 
Cybersecurity Workshop #1.pptx
Cybersecurity Workshop #1.pptxCybersecurity Workshop #1.pptx
Cybersecurity Workshop #1.pptxGDSC PJATK
 
Anypoint Code Builder , Google Pub sub connector and MuleSoft RPA
Anypoint Code Builder , Google Pub sub connector and MuleSoft RPAAnypoint Code Builder , Google Pub sub connector and MuleSoft RPA
Anypoint Code Builder , Google Pub sub connector and MuleSoft RPAshyamraj55
 
Designing A Time bound resource download URL
Designing A Time bound resource download URLDesigning A Time bound resource download URL
Designing A Time bound resource download URLRuncy Oommen
 
Introduction to Matsuo Laboratory (ENG).pptx
Introduction to Matsuo Laboratory (ENG).pptxIntroduction to Matsuo Laboratory (ENG).pptx
Introduction to Matsuo Laboratory (ENG).pptxMatsuo Lab
 
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
 
Do we need a new standard for visualizing the invisible?
Do we need a new standard for visualizing the invisible?Do we need a new standard for visualizing the invisible?
Do we need a new standard for visualizing the invisible?SANGHEE SHIN
 
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve Decarbonization
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve DecarbonizationUsing IESVE for Loads, Sizing and Heat Pump Modeling to Achieve Decarbonization
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve DecarbonizationIES VE
 

Recently uploaded (20)

Basic Building Blocks of Internet of Things.
Basic Building Blocks of Internet of Things.Basic Building Blocks of Internet of Things.
Basic Building Blocks of Internet of Things.
 
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdf
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdfUiPath Solutions Management Preview - Northern CA Chapter - March 22.pdf
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdf
 
Things you didn't know you can use in your Salesforce
Things you didn't know you can use in your SalesforceThings you didn't know you can use in your Salesforce
Things you didn't know you can use in your Salesforce
 
Videogame localization & technology_ how to enhance the power of translation.pdf
Videogame localization & technology_ how to enhance the power of translation.pdfVideogame localization & technology_ how to enhance the power of translation.pdf
Videogame localization & technology_ how to enhance the power of translation.pdf
 
NIST Cybersecurity Framework (CSF) 2.0 Workshop
NIST Cybersecurity Framework (CSF) 2.0 WorkshopNIST Cybersecurity Framework (CSF) 2.0 Workshop
NIST Cybersecurity Framework (CSF) 2.0 Workshop
 
The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...
The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...
The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...
 
Introduction to Quantum Computing
Introduction to Quantum ComputingIntroduction to Quantum Computing
Introduction to Quantum Computing
 
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
 
Secure your environment with UiPath and CyberArk technologies - Session 1
Secure your environment with UiPath and CyberArk technologies - Session 1Secure your environment with UiPath and CyberArk technologies - Session 1
Secure your environment with UiPath and CyberArk technologies - Session 1
 
Linked Data in Production: Moving Beyond Ontologies
Linked Data in Production: Moving Beyond OntologiesLinked Data in Production: Moving Beyond Ontologies
Linked Data in Production: Moving Beyond Ontologies
 
PicPay - GenAI Finance Assistant - ChatGPT for Customer Service
PicPay - GenAI Finance Assistant - ChatGPT for Customer ServicePicPay - GenAI Finance Assistant - ChatGPT for Customer Service
PicPay - GenAI Finance Assistant - ChatGPT for Customer Service
 
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...
 
Comparing Sidecar-less Service Mesh from Cilium and Istio
Comparing Sidecar-less Service Mesh from Cilium and IstioComparing Sidecar-less Service Mesh from Cilium and Istio
Comparing Sidecar-less Service Mesh from Cilium and Istio
 
Cybersecurity Workshop #1.pptx
Cybersecurity Workshop #1.pptxCybersecurity Workshop #1.pptx
Cybersecurity Workshop #1.pptx
 
Anypoint Code Builder , Google Pub sub connector and MuleSoft RPA
Anypoint Code Builder , Google Pub sub connector and MuleSoft RPAAnypoint Code Builder , Google Pub sub connector and MuleSoft RPA
Anypoint Code Builder , Google Pub sub connector and MuleSoft RPA
 
Designing A Time bound resource download URL
Designing A Time bound resource download URLDesigning A Time bound resource download URL
Designing A Time bound resource download URL
 
Introduction to Matsuo Laboratory (ENG).pptx
Introduction to Matsuo Laboratory (ENG).pptxIntroduction to Matsuo Laboratory (ENG).pptx
Introduction to Matsuo Laboratory (ENG).pptx
 
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
 
Do we need a new standard for visualizing the invisible?
Do we need a new standard for visualizing the invisible?Do we need a new standard for visualizing the invisible?
Do we need a new standard for visualizing the invisible?
 
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve Decarbonization
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve DecarbonizationUsing IESVE for Loads, Sizing and Heat Pump Modeling to Achieve Decarbonization
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve Decarbonization
 

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