If you looks here, http://aima.cs.berkeley.edu/code.html, you can see
that the data/code is provided in formats for Java, Lisp, Python, and
just some plaintext as well. Here is his rationale, and other info,
about why he switched: http://norvig.com/python-lisp.html
Personally, I plan on giving it all a shot with Clojure. It makes the
most sense to me right now and its the language I want to learn.
-Zack

On Aug 8, 7:41 pm, Mark Engelberg <mark.engelb...@gmail.com> wrote:
> 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