Jiahao Chen, a researcher who works with Julia, posts on Medium about programming history and numerical computing.
HN links it for his post of the 1979 letters between John Backus and Dijkstra, cited in debates about functional programming and Dijkstra's arrogance.
The epiphany for me this week was a long list of rabbit holes from this long post:
https://news.ycombinator.com/item?id=47324054
https://medium.com/@acidflask/this-guys-arrogance-takes-your-breath-away-5b903624ca5f
https://www.cs.utexas.edu/users/EWD/transcriptions/EWD06xx/EWD692.html
https://www.cs.utexas.edu/~EWD/transcriptions/EWD06xx/EWD638.html
https://www.cs.umd.edu/~gasarch/BLOGPAPERS/social.pdf
https://blog.computationalcomplexity.org/2021/06/i-went-to-debate-about-program-verif.html
https://6826.csail.mit.edu/2020/papers/noproof.pdf
https://news.ycombinator.com/item?id=9948767
Now I have no illusions about who looked stupid and who were stupid. It really doesn’t matter.
The jury is still out.
https://www.cs.utexas.edu/~EWD/transcriptions/EWD04xx/EWD498.html – How do we tell truths that might hurt? 1975
FORTRAN —"the infantile disorder"—, by now nearly 20 years old, is hopelessly inadequate for whatever computer application you have in mind today: it is now too clumsy, too risky, and too expensive to use.
He told the truth and in turn Fortran corrected its course, but Dijkstra probably didn't change his mind about it.
---
> These pioneers, even when they disagreed, had pretty precise arguments and very rarely feeling the feelies.
The feud between Backus and Dijkstra kinda persuaded me of the opposite.
https://medium.com/@acidflask/this-guys-arrogance-takes-your-breath-away-5b903624ca5f
This reminds me of something that Dijkstra used to do and was criticised for. He used to use [sic] a lot to point out tiny errors that others used to make, implying that the other person wasn't competent. In the words of John Backus, "this guy's arrogance takes your breath away" [1]. In Dijkstra's defense, he might have been arrogant but he had much to be arrogant about.
Perhaps when your bona fides aren't so well established as Edsger Dijkstra, randomguy23, you would refrain from doing the same. We all understood what that person meant. Discuss it and move on without resorting to pettiness.
[1] - https://medium.com/@acidflask/this-guys-arrogance-takes-your-breath-away-5b903624ca5f#.9180wblcb
> Dijkstra attacked the paper that inspired Haskell..
While Dijkstra's criticism probably does deserve to be called an "attack", the resulting exchange between him and Backus was highly thought-provoking and entertaining.
https://github.com/jiahao/backus-dijkstra-letters-1979/
https://medium.com/@acidflask/this-guys-arrogance-takes-your-breath-away-5b903624ca5f
> He should be a footnote in history.
Please read the posted article, and educate yourself on his historical significance.
https://en.wikipedia.org/wiki/Edsger_W._Dijkstra#Pioneering_contributions_and_impact_on_computing_science
> My other problem is code generation. I can't generate Julia code yet.
Perhaps I am misunderstanding your meaning here, but Julia has a range of metaprogramming functionality including both Lisp-like macros, as well as "generated functions" that allow custom code specialization based on input type signatures (https://medium.com/@acidflask/smoothing-data-with-julia-s-generated-functions-c80e240e05f3). These capabilities have been used for DSLs (e.g. https://github.com/JuliaOpt/JuMP.jl) and parser generation (e.g. https://github.com/abeschneider/PEGParser.jl).
`itertools` comes in real handy in some cases. I just wish it didn't require a special import. Have you used the itertools.partition much? It's pretty handy as well.
The fun part with Julia is the ability to use these style of for-loops to generate code to run arbitrary N-dimensional computations based on the specific input array sizes. Not sure exactly what they're doing [here](https://medium.com/@acidflask/smoothing-data-with-julia-s-generated-functions-c80e240e05f3#.ji8w9kehh) but it looks cool!