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.

[identity profile] winterkoninkje.livejournal.com 2009-05-15 04:32 am (UTC)(link)
I don't take sides on paradigms, languages, etc.

And yet you do when you say a particular paradigm succeeds in being useful for a given domain/problem ;p

There's nothing wrong with utilitarianism, but it is a philosophy like any other. As is nihilism, much despite trying to say nothing. All I'm saying is that my utility-o-dar consistently rates FP higher than OOP (except in a few rare aforementioned cases).

[identity profile] winterr.livejournal.com 2009-05-15 10:46 pm (UTC)(link)
And yet you do when you say a particular paradigm succeeds in being useful for a given domain/problem

Hey now :) I'm not defending OO here. I'm merely saying to use the right tool for the job. If the right tool for the job is functional programming, by all means, use it. I'm saying the situation determines which paradigm, language, etc. is best for that situation.

All I'm saying is that my utility-o-dar consistently rates FP higher than OOP (except in a few rare aforementioned cases).

I'd agree with you, just like OO or a functional paradigm is usually best than writing something in a procedural paradigm. But (and this is the one and only point I've been trying to make since my first reply to your post) that doesn't necessitate that OO or a functional paradigm is best in ALL cases... sometimes the procedural way is better. That's determined by how useful the paradigm is to that particular situation. Just because a paradigm is more expressive in a mathematical/a priori way doesn't mean that it is best in all circumstances. Computer science is partly an engineering discipline and there are always mitigating circumstances and constraints that determine things.

And no, contrary to my educational background, I'm not falling back on a philosophy. I'm merely falling back on observation, which I've put into practice as a heuristic.