Top Banner
Challenges and Opportunities for Python Ted Leung Sun Microsystems
60

PyCon US 2009: Challenges and Opportunities for Python

Jul 15, 2015

Download

Technology

Ted Leung
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: PyCon US 2009: Challenges and Opportunities for Python

Challengesand

Opportunitiesfor

PythonTed Leung

Sun Microsystems

Page 2: PyCon US 2009: Challenges and Opportunities for Python
Page 3: PyCon US 2009: Challenges and Opportunities for Python

Scala?

Page 4: PyCon US 2009: Challenges and Opportunities for Python

Scala?

Haskell?

Page 5: PyCon US 2009: Challenges and Opportunities for Python

Scala?

Haskell?

Erlang?

Page 6: PyCon US 2009: Challenges and Opportunities for Python

PHP - 9.4%Python - 5.2%

JavaScript - 3.6%Perl - 3.4%Ruby - 2.6%

Page 7: PyCon US 2009: Challenges and Opportunities for Python

0%

7.5%

15%

22.5%

30%

Java C# C Dynamic

Java C# C PHPPython Javascript Perl Ruby

Page 8: PyCon US 2009: Challenges and Opportunities for Python

Evans Data Report

Page 9: PyCon US 2009: Challenges and Opportunities for Python
Page 10: PyCon US 2009: Challenges and Opportunities for Python

O’Reilly Book Sales

Page 11: PyCon US 2009: Challenges and Opportunities for Python

Google AppEngine Beta

100,000 signups

Page 12: PyCon US 2009: Challenges and Opportunities for Python

0

275

550

825

1100

2004 2005 2006 2007 2008 2009

PyCon Attendance

Page 15: PyCon US 2009: Challenges and Opportunities for Python

“All Cloud Computing applicationswill be written in dynamic languages”

- Some Analyst

Page 16: PyCon US 2009: Challenges and Opportunities for Python

Security

Page 17: PyCon US 2009: Challenges and Opportunities for Python

Monitoring

Page 18: PyCon US 2009: Challenges and Opportunities for Python

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

Page 19: PyCon US 2009: Challenges and Opportunities for Python

Elasticity

Page 21: PyCon US 2009: Challenges and Opportunities for Python

Cores != Threads

Page 22: PyCon US 2009: Challenges and Opportunities for Python
Page 23: PyCon US 2009: Challenges and Opportunities for Python

16 threads

Page 24: PyCon US 2009: Challenges and Opportunities for Python
Page 25: PyCon US 2009: Challenges and Opportunities for Python

128 threads

Page 26: PyCon US 2009: Challenges and Opportunities for Python

Transactional Memory

Page 27: PyCon US 2009: Challenges and Opportunities for Python

Treat main memory as a database

Page 28: PyCon US 2009: Challenges and Opportunities for Python

An MVCC database

Page 29: PyCon US 2009: Challenges and Opportunities for Python

People understand transactions

Transactions compose

Page 30: PyCon US 2009: Challenges and Opportunities for Python

Inefficient

Non abortable operations - like I/O

Non-transactional code

Page 31: PyCon US 2009: Challenges and Opportunities for Python

!

!"#$%&'(%)*"+",-./*

Page 32: PyCon US 2009: Challenges and Opportunities for Python

Actors

Page 33: PyCon US 2009: Challenges and Opportunities for Python
Page 35: PyCon US 2009: Challenges and Opportunities for Python

Futures

Page 36: PyCon US 2009: Challenges and Opportunities for Python

A=Future(function, arg1, arg2 ...)

Page 37: PyCon US 2009: Challenges and Opportunities for Python

MapReduce

Page 38: PyCon US 2009: Challenges and Opportunities for Python
Page 39: PyCon US 2009: Challenges and Opportunities for Python

Persistent Data Structures

Page 40: PyCon US 2009: Challenges and Opportunities for Python

Tuple Spaces

Page 41: PyCon US 2009: Challenges and Opportunities for Python
Page 42: PyCon US 2009: Challenges and Opportunities for Python

ABP work stealing

Page 44: PyCon US 2009: Challenges and Opportunities for Python
Page 45: PyCon US 2009: Challenges and Opportunities for Python
Page 46: PyCon US 2009: Challenges and Opportunities for Python

serverjs

Page 48: PyCon US 2009: Challenges and Opportunities for Python
Page 50: PyCon US 2009: Challenges and Opportunities for Python
Page 51: PyCon US 2009: Challenges and Opportunities for Python
Page 52: PyCon US 2009: Challenges and Opportunities for Python
Page 53: PyCon US 2009: Challenges and Opportunities for Python

Do we want to?

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

Page 54: PyCon US 2009: Challenges and Opportunities for Python

http://www.flickr.com/photos/jow/2850092362/

easy_install

setuptools pip

zc.buildout

virtualenv

distutils Paver

Page 55: PyCon US 2009: Challenges and Opportunities for Python

Py3K

Page 56: PyCon US 2009: Challenges and Opportunities for Python

OMG!

Page 57: PyCon US 2009: Challenges and Opportunities for Python

http://flickr.com/photos/laughingsquid/218983827/ Scott Beale / LaughingSquid.com

Page 59: PyCon US 2009: Challenges and Opportunities for Python

Do we want to?

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