Alan Kay wrote:
One of his [Mitchel Resnick's] very interesting opinions about the
problems he observed
was that they didn't seem to be so much about "concurrency being hard", but that it was quite difficult for students of most ages (even high school students) to be able to take the point of view of one of the little particles and to think about what it could see and do. This "taking a different point of view other than your own" was a centerpiece of some of Piaget's work. In theory, this is supposed to get easier as you get older, but it also seems to be something that has to be learned, and many don't learn it. The students had a kind of god-like, from their POV, way of looking at the world -- much like programmers who start off with simple algorithms munging datastructures. This doesn't scale well. In good OOP, the programmer should take the POV of the object in its environment, and help the object become self-sufficient, productive and robust. This way of programming really opens the doors to concurrency.
I saw Kristen Nygaard a couple weeks ago and he was talking about his experiences prior to Simula. He was building simulations for the Norwegian military and said he would build the simulation thinking if I was a tank what would I be able to do, what would I know, and so on. The fact that he used the first person when referring to simulation objects led to a discussion. My impression was that he thought it was so natural to use the first person that he didn't see why it was worth pointing out. I wonder if he didn't take this first person viewpoint whether he still would have co-invented the first object-oriented programming language.
And I wonder if we should always write comments in first person...
Best,
-ken kahn ( www.toontalk.com )
Ken Kahn wrote:
And I wonder if we should always write comments in first person...
That reminds me of something. When I first learned Smalltalk with VisualWorks, one of the things that really struck me was that all of the comments did seem to be in the first person. Methods would read something like "I answer xyz" and class comments would begin with "I am ...". First person comments might help clue people in to thinking about objects in the first person.
- Stephen
squeak-dev@lists.squeakfoundation.org