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
390
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
220
What Problem Are You Trying to Solve, Anyway? - Alfred Lee
pygotham2014
0
130
Decorators 101: A Gentle Introduction to Functional Programming - Jillian Munson
pygotham2014
3
310
Pretty Pictures Please - Hannah Aizenmann
pygotham2014
0
170
Weather of The Century - J. Randall Hunt
pygotham2014
0
110
Setting up your Python development environment in IPython - Daniel Kronovet
pygotham2014
0
91
Failing With Grace - Sean O'Connor
pygotham2014
0
100
Caching up and down the stack in Django - James Meickle
pygotham2014
1
97
PyParallel - Trent Nelson
pygotham2014
0
88
Other Decks in Programming
See All in Programming
AI主導でFastAPIのWebサービスを作るときに 人間が構造化すべき境界線
okajun35
0
540
maplibre-gl-layers - 地図に移動体たくさん表示したい
kekyo
PRO
0
180
AIとペアプロして処理時間を97%削減した話 #pyconshizu
kashewnuts
1
200
The Ralph Wiggum Loop: First Principles of Autonomous Development
sembayui
0
3.7k
AI活用のコスパを最大化する方法
ochtum
0
120
メタプログラミングで実現する「コードを仕様にする」仕組み/nikkei-tech-talk43
nikkei_engineer_recruiting
0
160
Rubyと楽しいをつくる / Creating joy with Ruby
chobishiba
0
200
モジュラモノリスにおける境界をGoのinternalパッケージで守る
magavel
0
3.4k
PostgreSQL を使った快適な go test 環境を求めて
otakakot
0
400
encoding/json/v2のUnmarshalはこう変わった:内部実装で見る設計改善
kurakura0916
0
310
Go 1.26でのsliceのメモリアロケーション最適化 / Go 1.26 リリースパーティ #go126party
mazrean
1
350
コーディングルールの鮮度を保ちたい / keep-fresh-go-internal-conventions
handlename
0
150
Featured
See All Featured
The Illustrated Children's Guide to Kubernetes
chrisshort
51
52k
Done Done
chrislema
186
16k
The untapped power of vector embeddings
frankvandijk
2
1.6k
Learning to Love Humans: Emotional Interface Design
aarron
275
41k
B2B Lead Gen: Tactics, Traps & Triumph
marketingsoph
0
67
The Illustrated Guide to Node.js - THAT Conference 2024
reverentgeek
1
280
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
287
14k
A Modern Web Designer's Workflow
chriscoyier
698
190k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
54k
The Mindset for Success: Future Career Progression
greggifford
PRO
0
270
Agile Actions for Facilitating Distributed Teams - ADO2019
mkilby
0
140
職位にかかわらず全員がリーダーシップを発揮するチーム作り / Building a team where everyone can demonstrate leadership regardless of position
madoxten
60
51k
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