4 ms·
I think that distinction between mental model and abstraction is something I've tried to put into words for a long time with little luck. Thanks for that. I th
by chousuke 8y ago
I think that distinction between mental model and abstraction is something I've tried to put into words for a long time with little luck. Thanks for that.
I think that any person working with a system must be able to form a "morally correct" mental model of the entire system from top to bottom (as deep as it practically matters) or the abstractions of that system have failed.
When I read highly abstracted code, the times it gets frustrating is when I can't form a coherent mental model based on the abstraction so that I could understand how the system behaves. Usually that's because the abstraction is too generic or interwoven with a non-local mechanism that I can't predict.