12 ms·
Excellent. As a self-taught hacker, I always felt like I was missing something about OO, because it's introduced with an analogy to real world objects, while gl
by unconed 14y ago
Excellent. As a self-taught hacker, I always felt like I was missing something about OO, because it's introduced with an analogy to real world objects, while glossing over the more subtle contracts that programming objects have with each other. Seems like we need a more developed vocabulary to express these things.
- rahoulb 14y agoI first heard "Tell don't ask" in relation to Smalltalk. If you want a developed vocabulary, Smalltalk is where you find it (and it's been there for thirty-odd years).
- ninetax 14y agoWhat would you recommend? Smalltalk or Pharo?
- gnaritas 14y agoPharo is a Smalltalk, and yes, Pharo.
- rahoulb 14y agoI'd recommend "The Art and Science of Smalltalk" by Simon Lewis. Because it's so old, Smalltalk does things very differently to other development environments. The GUI is strange by today's standards (Smalltalk was why Xerox developed the GUI - you can see how much extra work Apple did to make the windows/icons/menus that we use today). And it uses an image (which is sort of like developing in a VM, and then copying that VM to another machine to deploy). So diving straight into a Smalltalk may leave you a bit lost - whereas the book is quite a good primer on OOP in general and where those OO patterns came from (whether Squeak, Pharo, GNU or one of the big expensive implementations).
- roguecoder 14y agoI think the vocabulary has been there, it's just very poorly taught/communicated. The c2 wiki was where I first encountered it. Old OOPSLA program proceedings, if you can find them, have some jewels among the cruft. And there is always Smalltalk Best Practice Patterns...