Covjek o kojem sam govorio se zove
Alan Kay. Postavljacu ovdje zanimljive citate iz knjige "
Out of their Minds: The Lives and Discoveries of 15 Great Computer Scientists, evo jedan u vezi Kay-a, covjek je skolovani matematicar i biolog, vidjecete kako mu je znanje matematike i biologije pomoglo da dodje do svojih ideja:
Citiraj:
Simula, developed in 1965 by Kristen Nygaard and Ole-Johan Dahl in Norway, supported a similar distinction between masters and instances, although it used different terms. In both languages, the programmer would define behavior in the master and then each instance would conform to that behavior. Kay thought a lot about these ideas. He was looking for a single basic building block that would permit a simple, powerful style of programming.
The big flash was to see this as biological cells. I'm not sure where that flash came from but it didn't happen when I looked at Sketchpad. Simula didn't send messages either.
The biological analogy suggested three principles to Kay. First, every cell "instance" conforms to certain basic "master" behaviors. Second, cells are autonomous and communicate with one another using chemical messages that leave one protective membrane and enter through another one. Third, cells can differentiate - the same cell can, depending on context, become a nose, eye, or toenail cell. Kay would include the master-instance distinction, message passing, and differentiation later in his design of Smalltalk, but for now these were just ideas that seemed important but had no particular home.
Citiraj:
Smalltalk was true to its biological analogue: autonomous cells communicating with one another through messages. Each message contained data, a sender return address, a receiver address, and the operation the receiver was to perform on the data. Kay wanted this simple message mechanism to apply throughout the language. By September 1972 he had simplified the basic ideas so that a complete definition of Smalltalk could fit on one page. These ideas formed the kernel of what Kay called object orientation, a principal software technology of the 1990s.