On Jul 5, 7:30 pm, Sean Corfield <seancorfi...@gmail.com> wrote:
> On Sun, Jul 3, 2011 at 8:04 PM, Sean Corfield <seancorfi...@gmail.com> wrote:
> > On Sun, Jul 3, 2011 at 3:34 PM, James Keats <james.w.ke...@gmail.com> wrote:
> >> For example I suggest you look at this video/transcript and pay
> >> attention in particular to the point of debate between Joe Armstrong
> >> of Erlang and Martin Odersky of 
> >> Scalahttp://www.infoq.com/interviews/functional-langs
> >> , in particular around the point where Odersky says "I’m not quite
> >> sure I buy that...". (also of additional relevance to those two points
> >> arehttp://erlang.org/pipermail/erlang-questions/2011-May/058769.html
> >> and alsohttp://www.scala-lang.org/node/1637), and if you're further
> >> interested you may wish to read Eric Meyer's essay in the book
> >> Beautiful Architecture regarding a previous Simon Peter Jones Haskell-
> >> related publication, titled "Software Architecture: Object-Oriented
> >> Versus Functional".
>
> > I've read that book (a month or two ago) but I'll go back and re-read
> > that essay in light of this thread.
>
> I think you mean Bertrand Meyer's piece, extolling the virtues of OO
> in general (and Eiffel in particular)? I thought it was a terribly
> self-serving piece. Meyer has a strong bias and quite a bit of disdain
> for anything that isn't Eiffel - which shines right thru that essay to
> the point of making it fairly worthless, IMO. It has no objectivity :)
>

It was an amusing read somewhat - at points hilarious (I'm actually a
fan of Meyer!), but it needs to be considered within a long... what to
call it... well, debate or dispute that I've long observed between the
Haskell and Eiffel communities; both are concerned with correct
software, but come at it in different ways. I believe both are
relevant, Haskell's statelessness and Meyer's design by contract.

> I read the interview transcript for Syme, Armstrong and Odersky and I
> have to be honest that I found Armstrong almost incoherent and half
> the time couldn't figure out what he was trying to argue at all - so
> I'm not sure what point you're trying to make by referring to that
> interview, sorry. Similarly Armstrong's musings on the Erlang list
> about the entire world being a single flat "namespace" full of
> functions that are globally unique seems rather incoherent too. He
> talks about the problems with using modules to organize functions
> (and, yes, modularity can be hard) but then proposes something that
> would be no different (functions made unique by either having nearly
> random names or a structured set of metadata that would really be
> indistinguishable from modules in the first place - 
> seehttp://erlang.org/pipermail/erlang-questions/2011-May/058773.html).
>

Armstrong can come across as incoherent but if you read him again and
again and again I find more and more and more in what he says. In any
case, what he's suggesting there reminds me of something I read years
ago by Dr Richard Hipp of Sqlite and Tcl core, where he suggests
instead of putting your program in files you put it in a database
http://www.tcl.tk/community/tcl2004/Papers/D.RichardHipp/drh.html


> The Scala forum discussion is more useful and relevant: TL;DR -
> objects are occasionally the most natural model for solving a problem.
> And in Clojure, mutable (shared) state is "occasionally" the most
> natural model for solving a problem. That doesn't seem newsworthy to
> me, just that a pure functional approach might not always lead to the
> cleanest solution. That's kind of a "duh!" because otherwise why would
> we need STM...

I think the point he was making was not so much that, but that OOP
allows you to defer implementation and there's value in that.

>
> And then there's the Ruby rant. Yeah, I'd be pretty ticked off that I
> got shot in the foot by combining two or three libraries that
> otherwise ought to behave reasonably together. Global method injection
> is pretty nasty. When I first read about multi-methods and protocols
> in Clojure I was a bit worried that library code might cause a similar
> problem by redefining functions out from under me, by virtue of more
> specific "overloading" but it hasn't been a problem yet and when I
> look at how those features are used in various libraries, I'm no
> longer so worried.
>
> I have other reasons for not liking Ruby so it's ability to shoot you
> in the foot like that doesn't change my opinion of the language (nor
> does it change its widespread popularity for a certain class of
> programmers / companies).
>
> Overall then, modularity is hard and sometimes a shared / mutable
> state solution is cleaner... And I agree with both points. Am I
> missing something in your concerns?

No, you're spot on. I wasn't advocating anything in particular, I was
merely suggesting that some of the finest minds in the industry do
still find this a hard problem and can disagree on to how best to deal
with it. :-)

I personally don't feel that much of a schism between functional and
OO, but perhaps that's because I actually quite like both (yeah, hate
me, I actually quite like Java!!). :-D

> --
> Sean A Corfield -- (904) 302-SEAN
> An Architect's View --http://corfield.org/
> World Singles, LLC. --http://worldsingles.com/
> Railo Technologies, Inc. --http://www.getrailo.com/
>
> "Perfection is the enemy of the good."
> -- Gustave Flaubert, French realist novelist (1821-1880)

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en

Reply via email to