The Unreasonable Effectiveness of Recipe Analogies
My Ars Technica article of a few days ago, called “The Unreasonable Effectiveness of the Julia Programming Language”, provided me with a lot of feedback. It got a couple of hundred comments (they’re still coming in), and a couple hundred more from Hacker News, where it sat on the front page for most of the day.
My original title was actually “The Unreasonable Effectiveness of Julia for Science”, but authors usually don’t know under what titles their articles will appear until they do. The title, of course, was intended to echo the famous 1960 paper by Eugene Wigner called “The Unreasonable Effectiveness of Mathematics in the Natural Sciences”, an article that is still the subject of lively discussions, as it raises timeless and probably unanswerable questions.
One of my main objectives in the article was to point out that Julia is an interesting case of a group of researchers designing a language using some very abstract ideas from computer science, and that the expression of these ideas in a practical language turned out to have a powerful effect on the community of its end users: the phenomenon of widespread code reuse that I discuss in the article is an at least partly unforeseen consequence of the core ideas and organization of the language.
To explain the main idea, multiple dispatch, as a solution to the expression problem, I developed an extended analogy to recipe books—the kind you use in the kitchen for cooking. I don’t believe anyone has attempted a popular accoint of these particular ideas before, so trying to get this across was the main challenge that I set for myself. A crucial part of the analogy is the set of diagrams that I made for the article.
So I am interested in knowing how I did on this point, and welcome any comments, suggestions, or ideas—since I’ll probably try again, somewhere. So far, the comments I’ve received about the cooking stuff have ranged from “brilliant” to “ridiculous”. The people expressing the most impatience with the cooking analogy are those with (self-described) expertise, while those describing themselves as beginners seemed to appreciate it much more.
In this ??? article on #julialang, ??? has the best explanation I have seen on how #julialang solves the Expression Problem, and is becoming the language of choice for #hpc. https://t.co/uIpzdLqGyp— Viral B. Shah (???) October 9, 2020
I love the cookbook analogy as well. It’s brilliant. Congrats about the great post!— Tom Kwong (???) October 9, 2020
Great article about #JuliaLang. Excellent work, ???! https://t.co/DAAW1KxUz9— Stefan Karpinski (???) October 9, 2020