The Unreasonable Effectiveness of Multiple Dispatch | Stefan Karpinski | JuliaCon 2019

The Julia Programming Language · 79K views · 2019 · 35:24

Open on YouTube

Programming language designSoftware architecture & designtalk

Why Hacker News recommends it

HN commenters recommend it as the definitive explanation, from a language designer, of why multiple dispatch makes Julia's composability work.

What it is

Julia co-creator Stefan Karpinski explains why multiple dispatch makes Julia code and types reusable across packages with so little friction. He covers sharing basic types and sharing generic algorithms.

Recommended by 9 HN commenters across 6 different months, 2019 to 2025.

What Hacker News said

Strong rec dTal · 2020-06 · on “JuliaCon 2020 Goes Online”

Did you mean "unreasonable effectiveness"? :P I just watched that talk the other day, and boy is it insightful. Julia has cracked a fairly magical combination of features. I fully expect it to replace Python over the next 10 years. Direct link to "Unreasonable Effectiveness": [this video]

Recommends ddragon · 2020-05 · on “Julia library for fast machine learning”

It's hard to say limited benefit when the entire Julia ecosystem evolved to so heavily rely on it, to allow for each package to work on it's own level of abstraction: For example, the Julia's standard library implements all of the basic math operators on the CPU, and libraries like Flux then define it's own methods to implement the higher level operators used in ML (such as convolutional layers and activation functions). And then someone writes those same basic math operators but instead of running on CPU they run on GPU, and for that they use a new type (CUArray). The original library knows nothing about CUArrays, it will call the same basic operators as always, but since they have a differ

Recommends ssivark · 2020-07 · on “Multiple Dispatch in Julia”

You might also enjoy Stefan Karpinski’s talk at JuliaCon 2019 about how multiple dispatch helps make the language more expressive (than OOP, for Eg). The unreasonable effectiveness of multiple dispatch [this video] It seems like such an elegant idea, I’m somewhat surprised no one seems to have run with it earlier.

Recommends nur0n · 2020-10 · on “Ask HN: What is your favorite YouTube channel to learn advanced programming?”

I like to watch talks by programming language designers. Some that readily come to mind are Rich Hickey, Joe Armstrong (RIP), and Stefan Karpinski. Some of my favorites are: - Simple Made Easy (Hickey): [LINK] - The Mess We're In (Armstrong): [LINK] - The Unreasonable Effectiveness of Multiple Dispatch (Karpinski): [this video]

Recommends StefanKarpinski · 2020-10 · on “The Accelerating Adoption of Julia”

The core problem with class-based object orientation is that methods go inside of the type instead of being added externally. That means everyone has to agree on what methods can be called on a class or they have to subtype it, which sounds harmless, but is actually a big problem when what you really wanted to do was just define a new method for an existing type. My best attempt at explaining: [this video] There's also the issue that one sometimes needs to specialize generic operations in generic algorithms on something other than the receiver—sometimes even on more than one of the arguments. Single dispatch forces you to use something slow and awkward like double dispatch in cases like this. And

Recommends amkkma · 2020-10 · on “The Accelerating Adoption of Julia”

What? I used to write python, and to me, MD is first and foremost a conceptual improvement. Makes writing code so much sweeter, more expressive and sensical. It also heavily improves composability. It's LESS performant if not done carefully. Certainly FastAI, Matt rocklin etc didn't reimplement a subset in python just to get slower code See [this video]

Recommends stabbles · 2020-10 · on “Why Does Julia Work So Well?”

"The Unreasonable Effectiveness of X" is a reference to the well-known 'the unreasonable effectiveness of mathematics in the natural sciences'. It's turned into some sort of meme. Maybe you've seen 'the unreasonable effectiveness of recurrent neural networks' before. What you were referring to is a talk by a core developer at JuliaCon 2019 titled 'The unreasonable effectiveness of multiple dispatch' [1], which has less of a fanboy-vibe imho. Edit: Oh. I didn't notice the arstechnica article had this exact title. That's a bit cheap... [1] [this video]

Recommends dandanua · 2021-01 · on “Quick Overview of Julia language [pdf]”

Indeed, Julia's abstract type system with multiple dispatch is its killer feature. It enables generic programming in a beautiful and concise fashion. Here [1] Stefan Karpinski gives some explanations of why multiple dispatch is so effective. [1] [this video]