On Thursday, December 26, 2013 7:51:39 PM UTC+1, James Reeves wrote:
>
> On 26 December 2013 16:32, Massimiliano Tomassoli 
> <kiuh...@gmail.com<javascript:>
> > wrote:
>
>> Thank you, Malcolm. I'm completely new to LISP and its dialects and I'm a 
>> little bit worried about the absence of support for OOP in Clojure. How do 
>> you decompose large systems in Clojure?
>>
>
> You write functions. To quote Alan J. Perlis:
>
> It is better to have 100 functions operate on one data structure than to 
>> have 10 functions operate on 10 data structures.
>>
>
Classes or objects are not simple data structures.
 

> IMO, OOP just makes it harder to build modular systems, because OOP 
> involves a lot of implicit connections between components. Clojure, and 
> other functional languages, tend to emphasise isolation more.
>

Why implicit? Objects communicate through well-defined channels. OOP can 
certainly be misused but it served me well for over 20 years (C++/C#). And 
Scala proves that FP and OOP are orthogonal paradigms. I can't see how the 
lack of OOP is a good thing for Clojure, honestly. I'm willing to give up 
mutability because I never programmed that way and I believe it can be a 
good thing (after I get used to it), but giving up OOP means going back to 
something I already know and I don't like.

-- 
-- 
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
--- 
You received this message because you are subscribed to the Google Groups 
"Clojure" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to