Chapter 1. Design Concepts
Alan Kay’s favorite metaphor for software objects is a biological system. Like cells, software objects don’t know what goes on inside one another, but they communicate and work together to perform complex tasks. In contrast, monolithic software is like a mechanical clock containing innumerable gears. Each gear functions unintelligently and only in relation to other adjacent gears. That design is hopelessly flawed. “When you’re building gear clocks, eventually you reach a certain level of complexity and it falls in on itself,” says Kay.
A software object may be machinelike, but, crafted by a thoughtful designer, it can be very smart. It makes decisions; it does things and knows things. It collaborates with potentially ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access