5 comments

[ 2.8 ms ] story [ 24.7 ms ] thread
This is a gem of a post. Loved it.

Don't miss:

   Notice how the fish interlock without leaving out any space in between them.
   Escher FTW.
And:

   Abstraction barriers are useful tools that can reduce the cognitive overhead
   on the programmer.
Although of course familiar with the concepts of abstract data types from CS and architecture/implementation layers from CompE/EE, I've not heard the term abstraction barriers before this. I like the combination.
Hey, I made this notebook. Thanks!

SICP talks about abstraction barriers, and I love the idea. It can guide great library design. When in doubt, I sometimes read this again: https://mitpress.mit.edu/sicp/full-text/sicp/book/node29.htm...

And the best way to find the right abstraction barriers is 'wishful thinking'. :-)

Greatly reduces the 'Invent and fit; have fits and reinvent!' cycle.