winterkoninkje: shadowcrane (clean) (Default)
wren romano ([personal profile] winterkoninkje) wrote2009-05-10 02:40 am
Entry tags:

What Killed Smalltalk Could Kill Ruby, Too

I like Smalltalk. Of any of the OO options it's by far my favorite. And yet, this most powerful language of the '70s has been relegated to oblivion. Robert Martin of Object Mentor Inc. gives a talk at Rails Conf 2009, "What Killed Smalltalk Could Kill Ruby, Too", which is well worth watching. I've since abandoned the whole OO paradigm in favor of functionalism, but I think this talk also has a good deal to say to the Haskell community (in fact, hat tip to Nick Mudge on Planet Haskell).

In particular, around 37:00 to 41:00, Martin talks about one of the three major things to kill Smalltalk. This one is the greatest danger for the Haskell community: arrogance and parochialism as a result of an emphasis on purity. The complaint is a common one, though I think the mention of purity is something which should be taken with depth. (Certainly purity is one of the highest horses we Haskellers will climb upon.) In an interesting addition to the usual dialogue, Martin posits professionalism as the countervailing force we need to maintain in the face of the growth of the community.

I highly recommend the video. The actual talk starts about six minutes in, and after the ending at 50:00 there's a Q&A session with a couple good questions.

lindseykuper: Photo of me outside. (Default)

[personal profile] lindseykuper 2009-05-10 04:06 pm (UTC)(link)
Lindsey: Wren's posting about smallpox.
Alex: *falls apart laughing*
Lindsey: Smalltalk! I meant Smalltalk! Augh!
Alex: How do you really feel about OO?

[identity profile] winterr.livejournal.com 2009-05-11 06:48 am (UTC)(link)
Abandoned OO paradigm to functionalism? I didn't know there was a holy war going on with programming paradigms these days :-P (that was a joke)

To me, paradigms are tools. If the situation calls for a flat-head screwdriver then use the flat-head. Don't try to fit a Phillips-head screwdriver into a flat-head socket, otherwise you just break the screw (and your programming project).

OO might be good for larger programs whose solution is amenable and is solved simply in an OO way. Solving the same problem in an old-style non-OO way (like with the language C, for example) would probably produce something so convoluted and spaghetti as to be almost unmaintainable.