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