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 language? - Dwight J. Browne
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
200
What Problem Are You Trying to Solve, Anyway? - Alfred Lee
pygotham2014
0
110
Decorators 101: A Gentle Introduction to Functional Programming - Jillian Munson
pygotham2014
3
250
Pretty Pictures Please - Hannah Aizenmann
pygotham2014
0
150
Weather of The Century - J. Randall Hunt
pygotham2014
0
68
Setting up your Python development environment in IPython - Daniel Kronovet
pygotham2014
0
79
Failing With Grace - Sean O'Connor
pygotham2014
0
91
Caching up and down the stack in Django - James Meickle
pygotham2014
1
78
PyParallel - Trent Nelson
pygotham2014
0
78
Other Decks in Programming
See All in Programming
とにかくHTTP3をライトニングに話す / Anyway, I'll talk to Lightning about HTTP3.
seike460
PRO
0
120
Crafting a Own PHP - ウキウキ手作りミニマリストPHP
uzulla
4
1.1k
PHPerKaigi 2024〜10年以上動いているレガシーなバッチシステムを Kubernetes(Amazon EKS) に移行する取り組み〜
tshinowpub
1
220
Deno に Web 標準 API を実装する / Implementing Web Standard API to Deno
petamoriken
0
350
CSRF対策のやり方、そろそろアップデートしませんか / Update your knowledge of CSRF protection
hiro_y
25
13k
Honoとhtmx
yusukebe
6
1.2k
DocC Tutorial と TCA におけるテスト機能の紹介
kalupas226
1
330
実践!RDRAを活用した既存システムの仕様変更 / Specification Changes in Existing Systems Utilizing RDRA
imamotohikaru
0
1.8k
WasmOS: Wasmを実行する自作Microkernel
riru
0
370
マイ隙間家具OSSたちのご紹介
karupanerura
2
150
PHP 8.3で追加されたjson_validate()を徹底的に深掘りしてみよう
mashirou1234
1
720
Laravel標準バリデーションでできること
hmb_ok
2
360
Featured
See All Featured
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
19
1.9k
Intergalactic Javascript Robots from Outer Space
tanoku
266
26k
What's new in Ruby 2.0
geeforr
335
31k
Unsuck your backbone
ammeep
660
56k
Faster Mobile Websites
deanohume
296
30k
Build The Right Thing And Hit Your Dates
maggiecrowley
23
1.9k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
18
1.7k
A Philosophy of Restraint
colly
195
15k
Agile that works and the tools we love
rasmusluckow
323
20k
Adopting Sorbet at Scale
ufuk
66
8.5k
Code Reviewing Like a Champion
maltzj
512
39k
Stop Working from a Prison Cell
hatefulcrawdad
265
19k
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