I agree about the lack of class comments (I don't much like most other forms of comments). About anthropomorphizing objects -
Maarten Maartensz maartens@xs4all.nl wrote:
Hello Joshua,
At 09:22 20-4-02 -0400, you wrote:
Well ... it depends. I do, and you do - but there are quite a few philosophers (such as Hauser or Dennett, for example) who insist that computers think, not as a manner of speaking, but like you and I do, if not as good or as slow as we are on some cognitive tasks.
I think you hit upon an important point here - I'm just reading Kinds of Minds by Dennet and he describes three forms of explaining the behavior of things - Physical explanations (because that's the effect of those bytecodes performed sequentially, go see their definition...) Design explanations (... it is configured with a Strategy that performs the chosen algorithm...) And Intentional explanations (The hashed collections grow automatically to keep their element well spaced out).
I think when trying to explain an artefact of code, it is exactly the two later forms that provide useful information to the student. The Design type of explanation is useful when trying to understand how to create such things as are being explained, and the Intentional explanations when looking at the behavior of said object as a part of a larger system.
The physical kinds of explanation are great when you're merely using the artefact as an example to illustrate the underlying semantics of the execution mechanism. Maybe having too many explanations written at the physical level explains why there are so few software people know how to build things up - they've only every had things explained "downwards", if you see what I mean.
As to whether objects "really" think like us, or are only usefully described that way for the edification of it's users, I'm not so dumb as to walk into this alligator's pond ;-)
Regards,
Maarten.
Daniel
squeakfoundation@lists.squeakfoundation.org