Your SlideShare is downloading. ×
0
Challenges
    and
Opportunities
    for
  Python
     Ted Leung
  Sun Microsystems
Scala?
Scala?


         Haskell?
Scala?


            Haskell?


  Erlang?
PHP - 9.4%
  Python - 5.2%
JavaScript - 3.6%
   Perl - 3.4%
   Ruby - 2.6%
30%


22.5%


 15%


 7.5%


  0%
            Java      C#        C      Dynamic




        Java       C#           C    ...
Evans Data Report
O’Reilly Book Sales
Google AppEngine Beta


   100,000 signups
PyCon Attendance
1100



 825



 550



 275



   0
       2004    2005   2006   2007   2008   2009
http://flickr.com/photos/kk/1295074084/
http://www.flickr.com/photos/swamibu/1407809687/
“All Cloud Computing applications
will be written in dynamic languages”




                         - Some Analyst
Security
Monitoring
libc.so.1`_write+0x15
libc.so.1`_fflush_u+0x36
libc.so.1`fflush+0x43
libpython2.4.so.1.0`file_flush+0x2a
libpython2.4.so.1.0`c...
Elasticity
http://www.flickr.com/photos/aloshbennett/3209564747/
Cores != Threads
16 threads
128 threads
Transactional Memory
Treat main memory as a database
An MVCC database
People understand transactions




               Transactions compose
Inefficient



        Non abortable operations - like I/O




  Non-transactional code
!quot;#$%&'(%)*quot;+quot;,-./*




                      !
Actors
http://www.flickr.com/photos/leeander/3172415460/
Futures
A=Future(function, arg1, arg2 ...)
MapReduce
Persistent
Data Structures
Tuple Spaces
ABP work stealing
http://www.flickr.com/photos/kgradinger/275818876/
serverjs
http://www.flickr.com/photos/dos82/3047823578/
http://www.flickr.com/photos/bitzcelt/2903751010/
Do we want to?




            http://flickr.com/photos/kk/1295074084/
distutils                                 Paver




                                    zc.buildout
easy_install


 setupt...
Py3K
OMG!
http://flickr.com/photos/laughingsquid/218983827/ Scott Beale / LaughingSquid.com
http://flickr.com/photos/mojodenbowsphotostudio/95796251/
Do we want to?




            http://flickr.com/photos/kk/1295074084/
Thanks!
    ted.leung@sun.com
http://www.sauria.com/blog
http://twitter.com/twleung
PyCon US 2009: Challenges and Opportunities for Python
PyCon US 2009: Challenges and Opportunities for Python
PyCon US 2009: Challenges and Opportunities for Python
PyCon US 2009: Challenges and Opportunities for Python
PyCon US 2009: Challenges and Opportunities for Python
PyCon US 2009: Challenges and Opportunities for Python
PyCon US 2009: Challenges and Opportunities for Python
PyCon US 2009: Challenges and Opportunities for Python
PyCon US 2009: Challenges and Opportunities for Python
PyCon US 2009: Challenges and Opportunities for Python
PyCon US 2009: Challenges and Opportunities for Python
PyCon US 2009: Challenges and Opportunities for Python
PyCon US 2009: Challenges and Opportunities for Python
Upcoming SlideShare
Loading in...5
×

PyCon US 2009: Challenges and Opportunities for Python

1,137

Published on

Invited Talk at PyCon 2009

Video on blip.tv at: http://pycon.blip.tv/file/1947412/

We are moving firmly back into a "polyglot" world in terms of programming languages. This presents great opportunities for Python (and other dynamic languages) as well as challenges. In this talk I'll be discussing some of the challenges and opportunities that I see for Python, based on my experience with dynamic language runtimes at Sun.

Published in: Technology
0 Comments
3 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
1,137
On Slideshare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
59
Comments
0
Likes
3
Embeds 0
No embeds

No notes for slide

Transcript of "PyCon US 2009: Challenges and Opportunities for Python"

  1. 1. Challenges and Opportunities for Python Ted Leung Sun Microsystems
  2. 2. Scala?
  3. 3. Scala? Haskell?
  4. 4. Scala? Haskell? Erlang?
  5. 5. PHP - 9.4% Python - 5.2% JavaScript - 3.6% Perl - 3.4% Ruby - 2.6%
  6. 6. 30% 22.5% 15% 7.5% 0% Java C# C Dynamic Java C# C PHP Python Javascript Perl Ruby
  7. 7. Evans Data Report
  8. 8. O’Reilly Book Sales
  9. 9. Google AppEngine Beta 100,000 signups
  10. 10. PyCon Attendance 1100 825 550 275 0 2004 2005 2006 2007 2008 2009
  11. 11. http://flickr.com/photos/kk/1295074084/
  12. 12. http://www.flickr.com/photos/swamibu/1407809687/
  13. 13. “All Cloud Computing applications will be written in dynamic languages” - Some Analyst
  14. 14. Security
  15. 15. Monitoring
  16. 16. libc.so.1`_write+0x15 libc.so.1`_fflush_u+0x36 libc.so.1`fflush+0x43 libpython2.4.so.1.0`file_flush+0x2a libpython2.4.so.1.0`call_function+0x32a libpython2.4.so.1.0`PyEval_EvalFrame+0xbdf [ build/proto/lib/python/mercurial/transaction.py:49 (add) ] libpython2.4.so.1.0`PyEval_EvalCodeEx+0x732 libpython2.4.so.1.0`fast_function+0x112 libpython2.4.so.1.0`call_function+0xda libpython2.4.so.1.0`PyEval_EvalFrame+0xbdf [ build/proto/lib/python/mercurial/revlog.py:1137 (addgroup) ] libpython2.4.so.1.0`PyEval_EvalCodeEx+0x732 libpython2.4.so.1.0`fast_function+0x112 libpython2.4.so.1.0`call_function+0xda libpython2.4.so.1.0`PyEval_EvalFrame+0xbdf [ build/proto/lib/python/mercurial/localrepo.py:1849 (addchangegroup) ] libpython2.4.so.1.0`PyEval_EvalCodeEx+0x732 libpython2.4.so.1.0`fast_function+0x112 libpython2.4.so.1.0`call_function+0xda libpython2.4.so.1.0`PyEval_EvalFrame+0xbdf [ build/proto/lib/python/mercurial/localrepo.py:1345 (pull) ] libpython2.4.so.1.0`PyEval_EvalCodeEx+0x732 libpython2.4.so.1.0`fast_function+0x112
  17. 17. Elasticity
  18. 18. http://www.flickr.com/photos/aloshbennett/3209564747/
  19. 19. Cores != Threads
  20. 20. 16 threads
  21. 21. 128 threads
  22. 22. Transactional Memory
  23. 23. Treat main memory as a database
  24. 24. An MVCC database
  25. 25. People understand transactions Transactions compose
  26. 26. Inefficient Non abortable operations - like I/O Non-transactional code
  27. 27. !quot;#$%&'(%)*quot;+quot;,-./* !
  28. 28. Actors
  29. 29. http://www.flickr.com/photos/leeander/3172415460/
  30. 30. Futures
  31. 31. A=Future(function, arg1, arg2 ...)
  32. 32. MapReduce
  33. 33. Persistent Data Structures
  34. 34. Tuple Spaces
  35. 35. ABP work stealing
  36. 36. http://www.flickr.com/photos/kgradinger/275818876/
  37. 37. serverjs
  38. 38. http://www.flickr.com/photos/dos82/3047823578/
  39. 39. http://www.flickr.com/photos/bitzcelt/2903751010/
  40. 40. Do we want to? http://flickr.com/photos/kk/1295074084/
  41. 41. distutils Paver zc.buildout easy_install setuptools pip virtualenv http://www.flickr.com/photos/jow/2850092362/
  42. 42. Py3K
  43. 43. OMG!
  44. 44. http://flickr.com/photos/laughingsquid/218983827/ Scott Beale / LaughingSquid.com
  45. 45. http://flickr.com/photos/mojodenbowsphotostudio/95796251/
  46. 46. Do we want to? http://flickr.com/photos/kk/1295074084/
  47. 47. Thanks! ted.leung@sun.com http://www.sauria.com/blog http://twitter.com/twleung
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×