<p>One of the ways I think about software is meaning vs mechanism. We make software for people. It serves somebody in some purpose that they have. That&#39;s the meaning. But beneath, we have these very simple-minded machines, CPUs, and everything has to be expressed to them. That&#39;s the mechanism. In between there are many, many layers.</p><p>As developers, we have to love both. And as we work on software, our perspective has to shift all over that spectrum. But ultimately I think the we get the best software when mechanism is in service to meaning. And I think a lot of software goes wrong when mechanism is honored over meaning. When convenience to a programmer working on a deeper layer ends up more important than convenience to the user.</p>
Reply