2 Comments

The point of your post seems to be that abstraction is a process with its own value. Which is why engineering, if it is understood as "implementing a pre-existing abstract idea", misses an important point. Yet that insight should not be muddled with the Platonic image of the abstract stuff being somewhere "above", like the man in Raphael's painting. Abstractions are important insofar they manage to be effective in practice, and this practice, in turn, influences the abstractions we can (and should) use. That's an interactive relation, not one where we end up having "the truth" on one side. Abstractions are tools, and their ability to contribute to what we do (most often, thinking) is why they are so important and so valuable.

Anyways, I like this perspective on what programmers do.

Expand full comment
author

Thanks Jörg for the insightful comment.

My note about platonic idealism is mainly to warn against one failure mode of it, which is that the ideal forms are somehow more real than the material world, so we forget to check our model against material reality.

I love the discussion. Thanks for bringing this up.

Expand full comment