Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Python for Java developers
Search
Javier Honduvilla Coto
November 24, 2014
Programming
0
79
Python for Java developers
Javier Honduvilla Coto
November 24, 2014
Tweet
Share
More Decks by Javier Honduvilla Coto
See All by Javier Honduvilla Coto
Debugging – Learning Linux @ Facebook
javierhonduco
0
87
Understanding Ruby with BPF
javierhonduco
1
39
Spying Linux processes
javierhonduco
0
96
word2vec
javierhonduco
0
69
UC3M university cafeteria redesign
javierhonduco
0
83
Mac OSX UI toolkit and design guidelines
javierhonduco
0
120
Other Decks in Programming
See All in Programming
「兵法」から見る質とスピード
ickx
0
230
iOSアプリ開発もLLMで自動運転する
hiragram
6
2.2k
〜可視化からアクセス制御まで〜 BigQuery×Looker Studioで コスト管理とデータソース認証制御する方法
cuebic9bic
2
280
コンポーネントライブラリで実現する、アクセシビリティの正しい実装パターン
schktjm
1
690
実践ArchUnit ~実例による検証パターンの紹介~
ogiwarat
0
100
推論された型の移植性エラーTS2742に挑む
teamlab
PRO
0
160
❄️ tmux-nixの実装を通して学ぶNixOSモジュール
momeemt
1
130
20250528 AWS Startupイベント登壇資料:AIコーディングの取り組み
procrustes5
0
110
FastMCPでMCPサーバー/クライアントを構築してみる
ttnyt8701
2
110
型付け力を強化するための Hoogle のすゝめ / Boosting Your Type Mastery with Hoogle
guvalif
1
240
テスト分析入門/Test Analysis Tutorial
goyoki
12
2.8k
#QiitaBash TDDでAIに設計イメージを伝える
ryosukedtomita
2
1.6k
Featured
See All Featured
Unsuck your backbone
ammeep
671
58k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
1
89
RailsConf 2023
tenderlove
30
1.1k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
52
2.8k
Building Applications with DynamoDB
mza
95
6.4k
KATA
mclloyd
29
14k
Code Reviewing Like a Champion
maltzj
523
40k
Thoughts on Productivity
jonyablonski
69
4.7k
Fireside Chat
paigeccino
37
3.5k
Side Projects
sachag
454
42k
Speed Design
sergeychernyshev
30
970
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
14
1.5k
Transcript
Can I haz ur pythons? Rafael Medina García @rmed_dev Fco.
Javier Honduvilla Coto @javierhonduco
Where is python?
Examples for the Java weenies
Simple TCP Socket: Java
Simple TCP Socket: Python
Reading a file: Java
Reading a file: Python
Hashtable: Java
“Hashtable”: Python
Why python rocks? • Function parameters • GC ◦ Reference
counting • Decorators • Types (WTF) • List-Stack-Queue-[...] • PyPI
Concurrency is not parallelism • Concurrency ◦ GIL: Global Interpreter
Lock (</3) i. threads vs processes • celery ii. tasks iii. groups iv. pipes • cpython, pypy
Celery • Async framework task Queue + Tasks = fun
Cpython and moar • cpython ◦ Guido’s Python Interpreter •
pypy ◦ “an implementation of the Python programming language written in Python itself”
Web frameworks + wsgi • Django • Flask • ∞
Scientific packages • ipython + notebook • cython • numba...
Our fav libs • requests (http for humans) • SQLAlchemy
(database toolkit)
SQLAlchemy I
SQLAlchemy II
Is (c)python slow? • Overhead • Cache misses • Complex
data structures • Any variable can change its type • (dynamic)
None
Bibliography • https://jakevdp.github.io/blog/2014/05/09/why-python-is- slow/ • http://docs.python-requests.org/en/latest/ • https://bitbucket.org/zzzeek/sqlalchemy • http://wsgi.readthedocs.org/en/latest/
• http://www.dabeaz.com/python/UnderstandingGIL.pdf • https://docs.python.org/2/library/gc.html • https://pypi.python.org/pypi • http://pypy.org/ • http://www.scipy.org/