4 ms·
Alan Kay was inspired by the real world, mostly biology back when psychotropic substances were rather popular. That's were the problems start. The real world
by otas 12y ago
Alan Kay was inspired by the real world, mostly biology back when psychotropic substances were rather popular.
That's were the problems start.
The real world systems are:
1) unpredictable - except for those who can forecast the future.
2) Unreliable
3) Slow
4) Uncoordinated - except if you believe someone runs the world.
5) Unmaintainable - just ask someone on human maintenance (drug research etc).
6) Naturally autonomous
Point 6 is very critical, because in von-neumann architectures you will end up having a shared memory and trying to give an autonomous memory to each agent, will end up very suboptimal, and no zipper, COW of any other FP trick can change that.
You just cannot afford to write your software like the real world, and you don't even have intelligent agents of human ability as building blocks...
- seanmcdirmid 12y agoFor point 6, that wasn't Kay but the simula crowd who invented OOP before Kay. FP is like math: it isn't based on biology or natural human thought, but rather the truth of math. OOP is much more fuzzy, you can say things that you can't nescessarily prove are true via biased naming and relating (just like you could say and think as a person). Math is great and useful, but there is a reason we haven't evolved into straight up Vulcans yet.
- deleted 12y ago[deleted]
- otas 12y agoWell seems that simula OOP was a bit more like java/c++. It was Kay who had the message passing idea, and the smalltalk people still don't consider java/c++/simula-derivatives as true OOP languages because they miss that. http://c2.com/cgi/wiki?AlanKaysDefinitionOfObjectOriented http://c2.com/cgi/wiki?AlanKaysDefinitionOfObjectOriented http://userpage.fu-berlin.de/~ram/pub/pub_jf47ht81Ht/doc_kay_oop_en http://userpage.fu-berlin.de/~ram/pub/pub_jf47ht81Ht/doc_kay...
- seanmcdirmid 12y agoI think you have it backwards: OOP in Simula was more bizarre since all objects basically ran as co-routines. It isn't until Smalltalk where we get the non-autonomous objects that we are familiar with today.