Something is simple as long as your mental model is simple to 
track. Something which doesn't cause you headache.
If you can't build mental model in your head, then its definitely not 
simple.
Every time you think I have mental model which works like this, but before 
this I must remember about this and that,
or assume that there is something to add which behave like this, it is proof 
that it is doesn't solve problems in a simplest way.

All design patterns are proof of that used tools are not simple and must be 
made simple by applying as simple as possible additional mental model.
For example OO programming have a lot of design patterns.

When design pattern becomes mental model which solve specific problem and is 
not addition
to the goal but language feature then you can be sure that language is 
simple to such solve domain problems.

Now looking at Clojure which claims to be general purpose language, the 
Clojure is simple since it:
- allows you to turn design patterns into language features (as whole lisp)
- is near to mathematical logic (lambda, definition of functions - functions 
without side effect with which you can reason about)
- is practical since it is also about data manipulation (not a first time I 
have turned XML into s-expressions - interpretation, function definition, 
control flow you have out of box)

There are some also drawbacks about Clojure:
- there is no simple made currying so its not as near as for example Haskell 
to lambda calculus
- you can't reason about data types until runtime and empirically tests
- it is bound to JVM infrastructure (ClojureScript and CLR version want to 
change that)

There is a lot other fields in which Clojure doesn't fit, so its not simple 
in:
- real time systems (JVM is not real time cause of GC)
- hardware programming on low level (assemblers or C are much more suitable)

There is a lot other things to say about being simple but for now it should 
answer you question.



-- 
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