Terseness and density is what attracted me to lisp-style languages in the
first place. In Clojure it is generally easier to locally comprehend
everything that is going on without having to go chasing through a bunch of
class definitions, and the code is often declarative enough to serve as its
own documentation.

Of course poorly written code is always painful to read, and written macros
are even worse. Isn't this why it's generally an accepted principle that
macros should only be written when there is a truly compelling reason to do
so? I would also argue that Clojure's functional immutability and lazy
sequences tend to nudge us in the right direction in a better way than
Python's "linguistic strictness" does. Whenever I write bad Clojure, I get a
Very Bad Feeling and the You're Doing It Wrong alarms start going crazy in
the back of my mind because there is a lot of philosophical "impedance".
With Python it seems much more likely for an initially clean code base to
devolve into a side-effect-filled, OO-inheritance-crazy imperative mess over
time.

-Ryan

On Mon, Jun 28, 2010 at 4:32 PM, Daniel Gagnon <redalas...@gmail.com> wrote:

>
>> This is mostly due to Python's "There is only one obvious way to do it"
> which makes reading code much simpler. On the other hand it is possible but
> harder to make lisp code as readable (my code became much more readable
> after I discovered the threading macros for instance) and often lisp is
> harder to read per line but does much more in that small amount of space
> than another language would. Same principle as yet another Java class full
> of getters and setters being trivial to read but not getting much done per
> line.
>

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