4 ms·
> Also very close to Alan Kay's vision of "object oriented" Yes! I remember reading a quote by Alan Key about how pretty much every modern OOP language gets it
by krylon 11y ago
> Also very close to Alan Kay's vision of "object oriented"
Yes! I remember reading a quote by Alan Key about how pretty much every modern OOP language gets it right entirely wrong, because OOP is supposed to be - in Kay's view - about classes or inheritance, but about sending messages to each other.
If one thinks of processes as objects and sending messages as "method calls", it is very object-oriented indeed.
- mpweiher 11y agoYep. Except: please don't think of them as "method calls" :-)) "Smalltalk is not only NOT its syntax or the class library, it is not even about classes. I'm sorry that I long ago coined the term "objects" for this topic because it gets many people to focus on the lesser idea. The big idea is "messaging" -- that is what the kernal of Smalltalk/Squeak is all about (and it's something that was never quite completed in our Xerox PARC phase). The Japanese have a small word -- ma -- for "that which is in between" -- perhaps the nearest English equivalent is "interstitial". The key in making great and growable systems is much more to design how its modules communicate rather than what their internal properties and behaviors should be." [1] My contribution towards this is Objective-Smalltalk[2], where I am working on making connectors user definable. So far, it seems to be working. [1] http://lists.squeakfoundation.org/pipermail/squeak-dev/1998-October/017019.html http://lists.squeakfoundation.org/pipermail/squeak-dev/1998-... [2] http://objective.st/ http://objective.st/
- krylon 11y agoYes, that must have been the one I was thinking of! :) I was very happy a couple of years back when I was building a toy project in C and Lua to come across a Lua library called concurrentlua[1] that implemented Erlang-style message passing (without pattern matching, though, IIRC). It even allowed you to send messages across machines. [1] https://github.com/lefcha/concurrentlua https://github.com/lefcha/concurrentlua
- astrange 11y ago> The Japanese have a small word -- ma -- for "that which is in between" -- perhaps the nearest English equivalent is "interstitial". 間 means "a gap", but I don't see the relation to programming. Try 絆 and 繋がる ("bonds" and "connect") out if you'd like some words popular in cheesy pop songs!