4 ms·
I continually find this particular point useful and enlightening. (Joel's whole corpus of stuff is worth a read. At the risk of causing a hacker news "joel stor
by jbert 13y ago
I continually find this particular point useful and enlightening. (Joel's whole corpus of stuff is worth a read. At the risk of causing a hacker news "joel storm" of submissions, check out the pricing/segmentation piece: http://www.joelonsoftware.com/articles/CamelsandRubberDuckies.html http://www.joelonsoftware.com/articles/CamelsandRubberDuckie...)
For example, after discussing the subject of promises (in the sense of the tool to manage and abstract asynchronous program flow) with a colleague, it occurred to me that the reason we care about async behaviour is that a "function call" is a leaky abstraction, in that it takes a variable amount of time.
We think of a function call as "doing X, Y and Z". The fact that it takes time to do it, blocking our 'thread of execution' causes us the problem that we can solve with the overhead of async programming (or threading, or...)
(By 'function call' I'm glossing over system call, library call, embedded cpu-eating loop.)
From this perspective, you can see that an alternative to working around the leak is plugging (some of) the leaks - which is the approach golang takes, by shuffling around threads of execution to avoid them being stalled by blocking system calls.
That perspective is useful to me and helps me understand why I think I prefer the golang approach, "more robust abstraction".
- gavinpc 13y agoAgreed about Joel. When I first read his "corpus", it was already a few years old. But whenever you get to it, get to it. My only complaint is that once you find some really good writing in this field, you realize how hard it is to come by (in print, anyway). I happened to find "Joel on Software" in the "Professional Computing" section at Barnes & Noble. That and "Coders at Work" are the only books worth reading I've ever seen in decades of browsing that section. Still, I'm glad I came across them.