Sadly it's a video/presentation, not an essay, but Simple Made Easy[1] is the single software argument that has made the most impact on me. ___ 1. https://www.infoq.com/presentations/Simple-Made-Easy/
Essays on programming I think about a lot
31–40 of 99 posts
Re: Essays on programming I think about a lot
#32Arthur C. Clarke's Hazards of Prophecy: The Failure of Imagination : https://fabiusmaximus.com/2017/12/27/arthur-c-clarke-hazards...
Re: Essays on programming I think about a lot
#33Re: Essays on programming I think about a lot
#34Sadly it's a video/presentation, not an essay, but Simple Made Easy[1] is the single software argument that has made the most impact on me. ___ 1. https://www.infoq.com/presentations/Simple-Made-Easy/
Re: Essays on programming I think about a lot
#35Re: Essays on programming I think about a lot
#36So glad to see the Law of Leaky Abstractions in there - that's had a very long-running impact on how I think about programming. It's still super-relevant today, nearly 18 years after it was published. https://www.joelonsoftware.com/2002/11/11/the-law-of-leaky-a...
I’m going through the conversation with a colleague atm where he believes DRY applies to everything.
Re: Essays on programming I think about a lot
#37Some of my references: the famous Norvig view on design patterns [1] and also his view of clean code [2]. Knuth on programming [3] also really enlighting.
1. https://norvig.com/design-patterns/design-patterns.pdf 2. https://www.cs.umd.edu/~nau/cmsc421/norvig-lisp-style.pdf 3. http://www.paulgraham.com/knuth.html
Re: Essays on programming I think about a lot
#38As a less experienced web developer, i found "How I write backends"[1] very enlightening and I recommend it to all my peers when we discuss useful resources. 1. https://github.com/fpereiro/backendlore
Re: Essays on programming I think about a lot
#39Earlier quoted context omitted.
I don't think that's true. A lot of these abstractions are provably correct and so simply cannot leak (and in slightly more advanced languages you might even enforce those proofs - consider Idris' VerifiedMonad and friends). Of course if you put garbage in at the lower levels (e.g. define a monoid instance that doesn't actually commute) then you will get garbage out at the higher levels (e.g. the sum of the concatena…
You are abstracting over a CPU and memory. Your abstraction leaks in that memory layout actually matters for performance, for example. Or if you have a bad RAM chip.