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
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
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
並行開発のためのコードレビュー
miyukiw
0
230
Architectural Extensions
denyspoltorak
0
290
Grafana:建立系統全知視角的捷徑
blueswen
0
330
Fluid Templating in TYPO3 14
s2b
0
130
Fragmented Architectures
denyspoltorak
0
160
なるべく楽してバックエンドに型をつけたい!(楽とは言ってない)
hibiki_cube
0
140
AI巻き込み型コードレビューのススメ
nealle
2
360
MDN Web Docs に日本語翻訳でコントリビュート
ohmori_yusuke
0
650
HTTPプロトコル正しく理解していますか? 〜かわいい猫と共に学ぼう。ฅ^•ω•^ฅ ニャ〜
hekuchan
2
690
今こそ知るべき耐量子計算機暗号(PQC)入門 / PQC: What You Need to Know Now
mackey0225
3
380
Oxlintはいいぞ
yug1224
5
1.3k
CSC307 Lecture 05
javiergs
PRO
0
500
Featured
See All Featured
Paper Plane (Part 1)
katiecoart
PRO
0
4.3k
svc-hook: hooking system calls on ARM64 by binary rewriting
retrage
1
100
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
1.2k
Ruling the World: When Life Gets Gamed
codingconduct
0
140
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
231
22k
The State of eCommerce SEO: How to Win in Today's Products SERPs - #SEOweek
aleyda
2
9.5k
Neural Spatial Audio Processing for Sound Field Analysis and Control
skoyamalab
0
170
Chasing Engaging Ingredients in Design
codingconduct
0
110
How to Align SEO within the Product Triangle To Get Buy-In & Support - #RIMC
aleyda
1
1.4k
Visualization
eitanlees
150
17k
Into the Great Unknown - MozCon
thekraken
40
2.3k
Optimising Largest Contentful Paint
csswizardry
37
3.6k
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