I don't see where they specified a programming language but I know that Python is making huge inroads. Python is supposed to be "easier to understand" so I can see why it might be a factor in language choice.
Another likely factor is that Google (where Norvig works) supports Python but not Lisp. I find the choice of Python over Lisp surprising considering that Lisp compiles to machine code and Python does not. Apparently a free, global, factor-of-10 speed improvement isn't a worthy engineering goal :-) 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. Clojure might have been a nice fit since it lives both in the Lisp world and the Java world. Java is one of the approved Google languages and Clojure is homoiconic so self modification is easy. But, hey, its an AI class so we really don't want to work outside the comfort zone :-) If you look at "traditional AI" such as games I think you'll find that minimax algorithms are going to really strain to work in games like Go without tail recursion or call/cc. Or if you use Fourier Transforms to spread the learning from the 9x9 training board to the 19x19 board I think you'll miss the elegance of Lisp for programming the network structures. Fourier learning doesn't seem to be widely known so I doubt it will get mentioned. AI without Lisp is possible but not pretty. But I'm signed up anyway and I'm willing to be convinced otherwise. I have worked in Python commercially and it's a reasonable language. They are hoping for 10,000 students. It would have been great to have Clojure taught to 10k students in one class but I'm sure that signing up for that language war would be a distraction. Maybe next year. Tim Daly On Mon, 2011-08-08 at 13:22 -0700, Mark Engelberg wrote: > BTW, Norvig's older AI book uses LISP. According to his website, he > switched to Python because students complained that the LISP code did > not look enough like the pseudocode outline of how a given algorithm > works, and had trouble making the connection between the two. > -- 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