On Mon, Aug 8, 2011 at 2:18 PM, daly <d...@axiom-developer.org> wrote:
> It is trivial to make Lisp look like Python,
> just put each paren on its own line and move them hard right.
> Add a few macros (e.g. for) and you could probably parse it.

I agree with most of what you said, but not this.

There's a big difference between the readability of:
a[i+1] += 2
and
(vector-set! a (add1 i) (+ (vector-ref a (add1 i)) 2)  ; Scheme
or
(swap! a (assoc a (inc i) (+ (a (inc i)) 2))  ; Clojure

Python is widely regarded as the most readable language.  My
understanding is that this AI class is a cross-disclipine class at
Stanford, taught to engineers and others who have minimal background
in programming.  My impression is that there will be little to no
programming assignments in the class, however, there are programs in
the book as a sort of "executable pseudocode" to describe the
algorithms.  In other words, they are optimizing for readability, not
writability.  If there does end up being programming in the class, my
guess from the syllabus is that it will be very heavy on linear
algebra; Python has good libraries for that.

On the other hand, Lisp's prefix notation, while natural for some
things, looks very unnatural in many contexts, especially math, where
people have a whole lifetime of seeing infix notation.  Furthermore,
Clojure requires a fundamentally different way of thinking about state
and simulation, and nearly every classical algorithm (many of which
are stateful) would have to be reworked in a less stateful manner
and/or wrapped in layers of refs, dosyncs, alters and dereferencing,
all of which potentially distract from the clarity of the algorithm.

I personally prefer Clojure to Python, but in the context of this
class, I have no doubt that Python is the more appropriate choice.

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