u/oilshellin r/ProgrammingLanguages • Recommends
#julia#multipledispatch#genericprogramming
The Unreasonable Effectiveness of Multiple Dispatch | Stefan Karpinski | JuliaCon 2019
91K subscribers • 17 videos on Hallway
- Recommended by 12 people: 9 on Hacker News, 1 on Lobsters, 1 in engineering communities and 1 curated list.
- Presented by Stefan Karpinski, co-creator of Julia
- An opinion. It argues one side of a question engineers disagree on.
Intermediate. Assumes working knowledge.
79K views7 years ago12 recommendations
Programming languagesSoftware designLanguage design and type systemsDesign patternsSoftware architecture
Stefan Karpinski explains how multiple dispatch enables unprecedented code reuse and interoperability between independent packages in Julia.
If you're familiar with Julia and its ecosystem, you may have noticed something lovely but a bit puzzling: there seems to be an unusually large amount of code reuse between packages compared to other seemingly similar languages. This sharing of code comes in two forms: 1. Sharing basic types among a wide variety of packages providing disparate functionality; 2. Sharing generic algorithms that work on various implementations of common abstractions. Why does generic code in Julia "just work"? Why do Julia packages seem to share types with so little friction? Both kinds of reuse are supposed to be natural benefits of class-based object-oriented languages. After all, inheritance and encapsulation are two of the four pillars of OOP. Even more puzzling is that Julia has no encapsulation and doesn't allow inheriting from concrete types at all. Yet both kinds of code reuse are rampant. What is going on? In this talk, I make the case that both of kinds sharing stem directly from Julia's multiple dispatch programming paradigm.Why it's here
12 people recommend thisWhat people say. Highly recommended as the definitive explanation of multiple dispatch and why it makes Julia uniquely composable.
Moments people linked to
dTalon Hacker News • Recommends
On “JuliaCon 2020 Goes Online”
andycon Lobsters • Recommends
programming-talkscurated list on GitHubRecommends
Under “Julia”
ddragonon Hacker News • Recommends
On “Julia library for fast machine learning”
ssivarkon Hacker News • Recommends
On “Multiple Dispatch in Julia”
nur0non Hacker News • Recommends
On “Ask HN: What is your favorite YouTube channel to learn advanced programming?”
StefanKarpinskion Hacker News • Recommends
On “The Accelerating Adoption of Julia”
amkkmaon Hacker News • Recommends
On “The Accelerating Adoption of Julia”
stabbleson Hacker News • Recommends
On “Why Does Julia Work So Well?”
dandanuaon Hacker News • Recommends
On “Quick Overview of Julia language [pdf]”
krastanovon Hacker News • Recommends
On “Julia 1.6: what has changed since Julia 1.0?”
u/Felix9876543210in r/ProgrammingLanguages • Mentions
u/codesectionsin r/ProgrammingLanguages • Mentions
On “Sigils are an underappreciated programming technology”
u/tobegain r/ProgrammingLanguages • Mentions
On “What’s your opinion on method overloading?”
sgt101on Hacker News • Mentions
On “Why do we need modules at all? (2011)”