Skip to content
0:00 / 0:00

#julia#metaprogramming#stagedprogramming

Keynote. Professor Steven G. Johnson | JuliaCon 2019

The Julia Programming Language

91K subscribers • 17 videos on Hallway

YouTube
  • Recommended by 2 people: 2 on Hacker News.
  • Presented by Steven G. Johnson, Professor of Applied Mathematics and Physics at MIT

Intermediate. Assumes working knowledge.

17K views7 years ago2 recommendations

Programming languagesSystems programmingLanguage design and type systemsPerformance and optimization

Steven G. Johnson discusses metaprogramming and staged programming in Julia, explaining how they enable high performance and when to avoid macros.

Steven G. Johnson is a Professor of Applied Mathematics and Physics at MIT, where he joined the faculty in 2004 and previously received a PhD in physics (2001) and BS degrees in physics, mathematics, and computer science (1995). He has a long history of contributions to scientific computation and software, including the FFTW fast Fourier transform library (for which he co-received the 1999 J. H. Wilkinson Prize) and many other software packages. He has been using, contributing to, and teaching with Julia since 2012. He created and maintains blockbuster Julia packages that you may have heard of: PyCall and IJulia (and Julia’s FFTW bindings, of course). Professor Johnson's professional research concerns wave-matter interactions and electromagnetism in media structured on the wavelength scale (“nanophotonics”), especially in the infrared and optical regimes. He works on many aspects of the theory, design, and computational modeling of nanophotonic devices, both classical and quantum. He is also a coauthor on over 200 papers and over 30 patents in this area, including the textbook Photonic Crystals: Molding the Flow of Light.

Why it's here

2 people recommend this

What people say. Recommended as an excellent and approachable talk on Julia's metaprogramming, macros, and how they enable high-performance numerical code.

eigenspaceon Hacker News • Recommends

On “JuliaCon 2019 Videos”

If anyone is looking for video recommendations to get started: here’s a couple that I thought were great and should be interesting and approachable to just about anyone. Steven G. Johnson’s keynote address. It’s longer format but really interesting, informative, entertaining and well delivered. The main topic is metaprogramming. link to this video Stefan Karpinski’s talk on the unreasonable effectiveness of multiple dispatch. He discusses the fact that Julia has such dramatic code re-use and sharing between libraries and he discusses some reasons why he thinks multiple dispatch is uniquely able to offer this. link

ViralBShahon Hacker News • Recommends

On “CSV Reader Benchmarks: Julia Reads CSVs 10-20x Faster than Python and R”

You can write slow programs in all languages. There are many cases where Julia's language features enable higher performance than in comparable C libraries. Have a look at Steve Johnson's keynote from JuliaCon 2019: link to this video

montalbanoon Hacker News • Mentions

On “CSV Reader Benchmarks: Julia Reads CSVs 10-20x Faster than Python and R”

…o a precompiled fortran program. Finally I just switched to Julia. There was already a library, MittagLeffler.jl which did everything I needed and was written in pure Julia. In the end everything was much faster than the Python/Fortran frankenstein code I had. Edit: For more info on Julia and difficult (computationally) mathematical functions see: link to this video…

miguelrazon Hacker News • Mentions

On “From Julia to Rust”

What is the focus on numerical computing that you think Julia is missing? The ecosystem seems plenty healthy to me. (Maybe PDEs... but those are so close!) It's not uncommon for good Julia codes to smoke Fortran codebases, like the DiffEq verse or with staged programming, see Steven G. Johnson's keynote at JuliaCon 2019: link to this video

neologon Hacker News • Mentions

On “From Julia to Rust”

…es, discuss how other languages do things, make proposals. This allows more perspectives on each decision. That would be an improvement over the more ad-hoc style of Julia development, as long as Julia can avoid adding every possible feature, which is a risk of expanding the decision-making body 3. 0 link 1 link 2 link 3 link 4 link to this video…

mwattsunon Hacker News • Mentions

On “Understanding the Power of Lisp (2020)”

…I wanted to look at it. In this video 1 Professor Steve G. Johnson explains metaprogramming (around 10 min mark) and says "most of the time, don't do metaprogramming." He points out in the base Julia there are 36,798 methods, but only 138 macros and 14 generated functions (.04% of the code), so I have the impression it is still frowned upon. 1 link to this video…

IlyaOrsonon Hacker News • Mentions

On “Julia Macros for Beginners”

It is not necessarily better in all cases and should not be overused: link to this video However, it is useful to provide a nicer syntax and DSLs. Some examples: link link link