On Sunday, August 5, 2012 7:23:55 PM UTC-4, Luc wrote: > > You have been referring to OOP several times in your posts, the kind of > patterns > we are talking about are these: > > http://en.wikipedia.org/wiki/Software_design_pattern > > These are the kind of design patterns OOP has been fond of in the last ten > years. > Java/C# and cie have been implementing/following these closely. > > You need an army of people to create/maintain Java apps, we can look back > at it > after ten years. It's insane. > > Excuse-me but I cannot find this inspiring at all. Borrowing from OOP in > this context and > adding it to Clojure to mimic some of this low level stuff is going the > wrong way in my > opinion given that more generic bolts and nuts are already available in > Clojure. > > Defrecord/protocols are not classes/interfaces. > The fact that they are implemented as such is irrelevant, it's an > implementation detail. > > This notion of "constructor" is something you are borrowing from an alien > world (OOP) > and you want to patch this in defecord invoking arguments from the OOP > world to > justify it. > > Excuse-me again but I have a hard time to follow your rational. > > To me it's like trying to breed a mouse and an octopus. I do not even want > to > think about the end result. I bet on the octopus... > > There are certainly other avenues more innovative to explore before adding > constructors to defrecord. > > Luc P. > > > At least we are back to the track of right/wrong patterns/bolts instead of no patterns at all. :-) Factory function itself is already a pattern, by the way.
Maybe I should not mention "OO" so many times. I am still puzzled (and amused, and somewhat dismayed) why this word has become so sensitive in the community. I list two or three reasons I think why the constructors are helpful. Now just pretend for a moment OO never exists, do you still think those reasons are good reasons? Maybe yes, maybe no, but my rational is clear, without the need to referring to OO at all. I mentioned OO because I thought that will quickly explain what I want since everybody knows what a constructor is. But the allergy is obviously more severe than I thought. For people who think those reasons are not good, it will be more interesting to show what exactly the harm is, instead of more or less simply say "Woh, it involves the word OO? bad". Also, I admit this stuff is boring, not anything as fancy as the new reducers, but we need to deal with boring stuff far more often and hence I feel it is worth a discussion. -- 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