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
Julia and Python in Astronomy: Better Together
Search
Kyle Barbary
March 22, 2016
Science
200
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Julia and Python in Astronomy: Better Together
Talk at "Python in Astronomy" workshop
Kyle Barbary
March 22, 2016
Other Decks in Science
See All in Science
明治薬科大学講義_ビッグデータ解析を支えるデータベース技術とクラウドコンピューティング
ktatsuya
1
200
Conwayの法則を"ちゃんと"使うために — 原典でConwayは何を言っていたのか
bonotake
10
7.6k
データベース11: 正規化(1/2) - 望ましくない関係スキーマ
trycycle
PRO
0
1.8k
Understanding CVP Waveforms: Interpretation and Clinical Implications in Anesthesiology
taka88
0
970
Path integral polarons for real semiconductors
jarvist
0
110
1. CPC理論の展開と集合的知能モデル(JSAI2026 KS-27 集合的予測符号化と新たな知性の時代)
hayashiyus884
1
410
20261012_hcmpl2026
takusamar
0
160
生成AI時代のインタラクションサイエンス(招待講演)/interaction-science
okana2ki
0
110
知能とはなにか -ヒトとAIのあいだ-
tagtag
PRO
0
230
JSAI2026企画セッションKS-14 インタビュー集『⼈⼯知能と哲学と四つの問い』が提起する⼈⼯知能のこれからの課題 趣旨説明 / JSAI2026 Special Session: A Collection of Interviews, “Artificial Intelligence, Philosophy, and Four Questions”
ykiyota
0
470
機械学習 - K-means & 階層的クラスタリング
trycycle
PRO
0
2.3k
Visual Linear Algebra - Lecture at Shosen Grande
hiranabe
0
650
Featured
See All Featured
Leadership Guide Workshop - DevTernity 2021
reverentgeek
1
400
So, you think you're a good person
axbom
PRO
2
2.2k
Highjacked: Video Game Concept Design
rkendrick25
PRO
1
480
[SF Ruby Conf 2025] Rails X
palkan
3
1.5k
We Have a Design System, Now What?
morganepeng
55
8.4k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
8.4k
Hiding What from Whom? A Critical Review of the History of Programming languages for Music
tomoyanonymous
3
1.3k
Building a Scalable Design System with Sketch
lauravandoore
464
34k
HU Berlin: Industrial-Strength Natural Language Processing with spaCy and Prodigy
inesmontani
PRO
0
750
Lightning talk: Run Django tests with GitHub Actions
sabderemane
0
300
Organizational Design Perspectives: An Ontology of Organizational Design Elements
kimpetersen
PRO
1
850
How Software Deployment tools have changed in the past 20 years
geshan
2
35k
Transcript
Kyle Barbary UC Berkeley / BIDS · github.com/kbarbary · @kylebarbary
in Astronomy: Better Together &
“A fresh approach to technical computing”
I <3 I'm not going to tell you to stop
using Python.
• Some things are impossible to “vectorize,” or just very
awkward. • Possible to drop down to C but not easy • As library writers, having to write “array- oriented” APIs can be constraining. But...
The “two language” problem High-level dynamic language for rapid development
(e.g., Python, R, Matlab, ...) Compiled language for performance-sensitive code (e.g., C, C++, Fortran) Interface code
Julia is fast... Microbenchmarks times relative to C (lower is
better)
… but feels high-level.
… even at a very low level.
• Call C and Fortran directly with zero overhead, no
wrappers • Zero-overhead quantities are possible: • Automatic differentiation is possible: A few more enticements:
A few more enticements: • Inspect native code: • Multithreading
on its way (currently off by default)
Julia & Python: IJulia
Julia & Python: PyCall
wrap C libraries used in astropy
Other “registered” packages helgee/JPLEphemeris mweastwood/CasaCore emmt/OIFITS kbarbary/SkyCoords jzuhone/YT
Example: SkyCoords
Example: SkyCoords 10 0 10 1 10 2 10 3
10 4 10 5 10 6 jl_galactic jl_fk5j2000 jl_fk5j1975 py_galactic py_fk5j2000 py_fk5j1975 10 -8 10 -6 10 -4 10 -2 10 0
Rewriting all that Python? Typing is not the hard part.
The hard part is figuring out what the code is supposed to do.
Python Cython C Python Cython C library My takeaways from
Julia: C
Python Cython C Python Cython C library Julia PyPy +
CFFI My takeaways from Julia: C
Takeaways from Julia: Modules
“SciPy… really was a distribution masquerading as a library. “...
I made a mistake with SciPy because there was not good packaging in Python at the time.” Takeaways from Julia: Modules – Travis Oliphant
Thanks!
GitHub: @kbarbary Twitter: @kylebarbary Try it: juliabox.org More talking: julialang.org/learning
Steven Johnson’s keynote at EuroSciPy 2014: “Crossing Language Barriers with Julia, SciPy, and IPython” • What's bad about Julia? • How can Python benefit from Julia? • Is anyone actually using Julia for astronomy? Sample Questions: