|
|
|
|
|
by bsaul
1838 days ago
|
|
My personnal favorite regarding this kind of philosophical thinking similarities is Husserl "eidetic variations" method for finding what properties constitutes the essence of a concept (*). We programmer do it instinctively, but having read about it gives me such a greater confidence to actually apply it methodically every time i design a type hierarchy... (*) basically, the idea is to mutate the property, and see if the object's essence is unchanged. If it is unchanged, then the property isn't constitutive of its essence.
As an example, changing the color of a table doesn't change the fact that it's a table, so "color" isn't an attribute of the "Table" concept.
Number of feet, however, could very well be (or at least a boolean "has feet" ;) |
|
By that line of thinking, the essence of a table may have very little to do with it's shape, and more to do with it's purpose. But I can see how that just opens up a new rabbit hole to go down...