Good article. Interfaces and modularity are core concepts, worthy of much attention. Especially questions like how to do functional decomposition, finding the right abstractions, and good interface design.<p>I&#x27;ll chew on your statements about the success of Python. Though my first love was LISP, I&#x27;m now far more comfortable leaning on static typing and composition.<p>---<p>The best book on software design I&#x27;ve ever read was written by two economists.<p>Design Rules: The Power of Modularity<p><a href="http:&#x2F;&#x2F;www.amazon.com&#x2F;Design-Rules-Vol-Power-Modularity&#x2F;dp&#x2F;0262024667" rel="nofollow">http:&#x2F;&#x2F;www.amazon.com&#x2F;Design-Rules-Vol-Power-Modularity&#x2F;dp&#x2F;0...</a><p>This book didn&#x27;t change how I program so much as changed how I think. Like the difference between making and criticizing art. Whereas SICP gave me new mental models, Design Rules gave me new philosophies. More like Design of Everyday Things did.