- Alan Kay invented OOP
- “I made up the term ‘object-oriented’, and I can tell you I didn’t have C++ in mind.”
- The essential ingredients:
- Message passing (decoupling)
- Encapsulation (avoiding shared mutable state)
- Dynamic binding
- Non-essential:
- Classes, inheritance, polymorphism
- Typing
- "If a prediction tells you you can do something by some date, don’t believe it. If a prediction tells you that you can’t do something by some date, believe it." Life
- Product managers "fill in the whitespace"
- Rest of article explains the whitespace between the developers <> users <> business triangle
- Language framework for taking responsibility for our own thoughts, actions, and feelings:
- Observation: specific facts/data, no evaluation/judgment
- Feeling: state how we feel
- Need: the need underlying this feeling
- Request: must be specific action to address need
- Example: “When , I feel , because I am needing . Therefore, I would now like .”
- Others may not use this framework, but observe it in them! They all express needs hidden in a judgement or demand.
- Don't focus on being right, focus on the others' unmet needs
- Clarify between needs and strategies (actions)
- Anger is an alarm clock for unmet needs
- "The basis of violence is when people are in pain and don’t know how to say that clearly"
- Avoid motivating by guilt (confuses needs and feelings) or "should" (gives you a way out)
- Apologizing vs. mourning: apologize is "should feel bad", mourn is to recognize an internal unmet need out of our own actions