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
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
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
dchart: charts from deck markup
ajstarks
3
990
疑似コードによるプロンプト記述、どのくらい正確に実行される?
kokuyouwind
0
390
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
580
副作用をどこに置くか問題:オブジェクト指向で整理する設計判断ツリー
koxya
1
610
コマンドとリード間の連携に対する脅威分析フレームワーク
pandayumi
1
450
SourceGeneratorのススメ
htkym
0
200
CSC307 Lecture 02
javiergs
PRO
1
780
Apache Iceberg V3 and migration to V3
tomtanaka
0
160
15年続くIoTサービスのSREエンジニアが挑む分散トレーシング導入
melonps
2
210
Architectural Extensions
denyspoltorak
0
290
ぼくの開発環境2026
yuzneri
0
230
インターン生でもAuth0で認証基盤刷新が出来るのか
taku271
0
190
Featured
See All Featured
16th Malabo Montpellier Forum Presentation
akademiya2063
PRO
0
50
Faster Mobile Websites
deanohume
310
31k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
1.8k
Building Flexible Design Systems
yeseniaperezcruz
330
40k
Darren the Foodie - Storyboard
khoart
PRO
2
2.4k
Git: the NoSQL Database
bkeepers
PRO
432
66k
Ten Tips & Tricks for a 🌱 transition
stuffmc
0
69
We Are The Robots
honzajavorek
0
160
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
133
19k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
Exploring anti-patterns in Rails
aemeredith
2
250
Rebuilding a faster, lazier Slack
samanthasiow
85
9.4k
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