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
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
210
What Problem Are You Trying to Solve, Anyway? - Alfred Lee
pygotham2014
0
120
Decorators 101: A Gentle Introduction to Functional Programming - Jillian Munson
pygotham2014
3
300
Pretty Pictures Please - Hannah Aizenmann
pygotham2014
0
160
Weather of The Century - J. Randall Hunt
pygotham2014
0
100
Setting up your Python development environment in IPython - Daniel Kronovet
pygotham2014
0
89
Failing With Grace - Sean O'Connor
pygotham2014
0
99
Caching up and down the stack in Django - James Meickle
pygotham2014
1
93
PyParallel - Trent Nelson
pygotham2014
0
85
Other Decks in Programming
See All in Programming
Introducing ReActionView: A new ActionView-Compatible ERB Engine @ Kaigi on Rails 2025, Tokyo, Japan
marcoroth
3
960
ネイティブ製ガントチャートUIを作って学ぶUICollectionViewLayoutの威力
jrsaruo
0
140
開発生産性を上げるための生成AI活用術
starfish719
1
200
2分台で1500examples完走!爆速CIを支える環境構築術 - Kaigi on Rails 2025
falcon8823
3
3.4k
CSC509 Lecture 04
javiergs
PRO
0
300
大規模アプリのDIフレームワーク刷新戦略 ~過去最大規模の並行開発を止めずにアプリ全体に導入するまで~
mot_techtalk
0
410
登壇は dynamic! な営みである / speech is dynamic
da1chi
0
160
Le côté obscur des IA génératives
pascallemerrer
0
130
詳しくない分野でのVibe Codingで困ったことと学び/vibe-coding-in-unfamiliar-area
shibayu36
3
4.7k
Six and a half ridiculous things to do with Quarkus
hollycummins
0
140
CSC509 Lecture 05
javiergs
PRO
0
300
株式会社 Sun terras カンパニーデック
sunterras
0
250
Featured
See All Featured
The World Runs on Bad Software
bkeepers
PRO
71
11k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
Building a Scalable Design System with Sketch
lauravandoore
462
33k
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.2k
Reflections from 52 weeks, 52 projects
jeffersonlam
352
21k
Embracing the Ebb and Flow
colly
88
4.8k
[RailsConf 2023] Rails as a piece of cake
palkan
57
5.9k
Product Roadmaps are Hard
iamctodd
PRO
54
11k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.1k
Done Done
chrislema
185
16k
BBQ
matthewcrist
89
9.8k
Raft: Consensus for Rubyists
vanstee
139
7.1k
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