Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Python and Julia. Why do we need another langua...
Search
PyGotham 2014
August 17, 2014
Programming
400
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Python and Julia. Why do we need another language? - Dwight J. Browne
Integration of Ipython notebook and Julia
PyGotham 2014
August 17, 2014
More Decks by PyGotham 2014
See All by PyGotham 2014
Service Oriented Flask - Randall Degges
pygotham2014
2
240
What Problem Are You Trying to Solve, Anyway? - Alfred Lee
pygotham2014
0
150
Decorators 101: A Gentle Introduction to Functional Programming - Jillian Munson
pygotham2014
3
330
Pretty Pictures Please - Hannah Aizenmann
pygotham2014
0
180
Weather of The Century - J. Randall Hunt
pygotham2014
0
120
Setting up your Python development environment in IPython - Daniel Kronovet
pygotham2014
0
110
Failing With Grace - Sean O'Connor
pygotham2014
0
120
Caching up and down the stack in Django - James Meickle
pygotham2014
1
110
PyParallel - Trent Nelson
pygotham2014
0
110
Other Decks in Programming
See All in Programming
Augmenting AI with the Power of Jakarta EE
ivargrimstad
0
480
Turning Architecture into Unit Tests in the AI Era (NSSpain XIV)
steliosf
PRO
1
120
モデルのリファクタリングが難しいと思ったら、そもそも複雑だったのはビジネス仕様だった ? / is-the-business-domain-the-real-complexity
hatsu38
0
440
標準パッケージに uuid が追加された 背景から見る Go らしい意思決定 / go_127_uuid_decision
convto
5
9.6k
技術的負債の返済は、AI時代の複利で効く投資 — 経営としての意思決定とその遂行
curekoshimizu
1
2.1k
Simple Storage Service(S3) is not simple
iwatsukayura
0
120
Java 27新機能 / Java 27 new features
kishida
2
190
Rでドレミ/Do-Re-Mi_with_R
florets1
0
110
手動確認はもう限界 〜XCUITestでCustom URL Schemeの遷移を起動種別ごとに自動テストする〜 / Testing Custom URL Schemes with XCUITest
otouto
0
380
すこし踏み込む CancellationToken
htkym
2
1.6k
wkhtmltopdfの次どうするか問題2026
willnet
2
1.8k
スマートフォンでモールス信号を送受信する 〜スマートフォンのLEDとカメラで作る光通信の設計と実装〜
atsuki_seo
0
230
Featured
See All Featured
Scaling GitHub
holman
464
140k
Tell your own story through comics
letsgokoyo
1
1.1k
WCS-LA-2024
lcolladotor
0
840
Building AI with AI
inesmontani
PRO
1
1.3k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.9k
Building a A Zero-Code AI SEO Workflow
portentint
PRO
0
750
Leadership Guide Workshop - DevTernity 2021
reverentgeek
1
380
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.9k
Darren the Foodie - Storyboard
khoart
PRO
4
4k
The Power of CSS Pseudo Elements
geoffreycrofte
82
6.6k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
16k
Are puppies a ranking factor?
jonoalderson
2
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