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 and Julia. Why do we need another langua...
Search
PyGotham 2014
August 17, 2014
Programming
1
380
Python and Julia. Why do we need another language? - Dwight J. Browne
Integration of Ipython notebook and Julia
PyGotham 2014
August 17, 2014
Tweet
Share
More Decks by PyGotham 2014
See All by PyGotham 2014
Service Oriented Flask - Randall Degges
pygotham2014
3
210
What Problem Are You Trying to Solve, Anyway? - Alfred Lee
pygotham2014
0
120
Decorators 101: A Gentle Introduction to Functional Programming - Jillian Munson
pygotham2014
3
270
Pretty Pictures Please - Hannah Aizenmann
pygotham2014
0
160
Weather of The Century - J. Randall Hunt
pygotham2014
0
84
Setting up your Python development environment in IPython - Daniel Kronovet
pygotham2014
0
85
Failing With Grace - Sean O'Connor
pygotham2014
0
96
Caching up and down the stack in Django - James Meickle
pygotham2014
1
85
PyParallel - Trent Nelson
pygotham2014
0
81
Other Decks in Programming
See All in Programming
Go の GC の不得意な部分を克服したい
taiyow
3
930
menu基盤チームによるGoogle Cloudの活用事例~Application Integration, Cloud Tasks編~
yoshifumi_ishikura
0
130
PHPカンファレンス 2024|共創を加速するための若手の技術挑戦
weddingpark
0
110
Amazon S3 NYJavaSIG 2024-12-12
sullis
0
130
GitHubで育つ コラボレーション文化 : ニフティでのインナーソース挑戦事例 - 2024-12-16 GitHub Universe 2024 Recap in ZOZO
niftycorp
PRO
0
840
生成AIでGitHubソースコード取得して仕様書を作成
shukob
0
590
数十万行のプロジェクトを Scala 2から3に完全移行した
xuwei_k
0
470
Monixと常駐プログラムの勘どころ / Scalaわいわい勉強会 #4
stoneream
0
310
快速入門可觀測性
blueswen
0
460
テストコードのガイドライン 〜作成から運用まで〜
riku929hr
6
1.3k
暇に任せてProxmoxコンソール 作ってみました
karugamo
2
770
MCP with Cloudflare Workers
yusukebe
2
240
Featured
See All Featured
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
28
9.2k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
33
2.7k
No one is an island. Learnings from fostering a developers community.
thoeni
19
3.1k
The Art of Programming - Codeland 2020
erikaheidi
53
13k
4 Signs Your Business is Dying
shpigford
182
21k
Thoughts on Productivity
jonyablonski
68
4.4k
Making Projects Easy
brettharned
116
6k
Fashionably flexible responsive web design (full day workshop)
malarkey
406
66k
Fantastic passwords and where to find them - at NoRuKo
philnash
50
2.9k
Scaling GitHub
holman
459
140k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
38
1.9k
Adopting Sorbet at Scale
ufuk
74
9.1k
Transcript
Python and Julia Why do we need another language?
Dwight J. Browne PyGotham 2014 Twi>er: @dwightb2 GitHub: h>ps://github.com/dbrowne/PresentaGons
History • Slow computers required efficient languages •
FORTRAN, C • Required efficient and diligent coding • strncpy(tooSmall,tooBig,sizeof(tooBig) = The olden days: The Honeymooners -‐ Oprah
More History • Compressed delivery Gme • Enterprise
apps bloat • C#, Java, Perl • *nix or Win • Computers kept ge_ng faster Seinfeld, Friends
A Brief Diversion
The Dark Ages Reality TV • GOOD
ENOUGH
Some Problems • Big applicaGons • Complex dependencies
• Cut and paste code • Technical debt 500 Channels and Nothing to Watch
The Big Problem The Notorious E.C.L.E • E.C.L.E.
-‐ Edit Compile Link Execute • More data. Finite Gme • Processing speeds are increasing slowly • Need a be>er way
The Need For Speed Fast and Furious •
High performance = C or FORTRAN • Using BLAS, LAPACK = FORTRAN • SGll hindered by E.C.L.E. • A use case for a dynamic language
Python The Sopranos and Breaking Bad •
MulG Paradigm • REPL and IPython save person years • Less TIMTOWDI = Less wasted Gme • Slowness will be forgiven for fast delivery • But not always
Julia Julia? Where did this come from?
• Fast C like performance • Incredibly young language = Immature library base • C interoperability = Python interoperability • MulGple dispatch • Focus on methods not methods of classes
But How Fast is It? Professional driver on closed
course
It’s Really That Fast? Your mileage may vary
What is this Witchcrah? How does it work?
• Python PyObject: • object.h, methodobject.h • descrobject.h • Julia PyObject: • PyCall.jl, pytype.jl • PyPlot.jl for Matplotlib • ccall to call external C libraries
Julia PyObject
IPython and Julia Yes. You can have your cake
and eat it too! • Ijulia/src/msg.jl • IPython/kernel/zmqIPython/kernel/zmq/session.py
That’s All Folks!
Is that it? DemonstraGon