A Retrospective on Paradigms of AI Programming (2002)
norvig.com
norvig.com
In the end, it is all about getting valuable code written and deployed, not using a particular language. That said, I still enjoy using a variety of languages, even though Python is the most practical and productive language for what I work on now.
Lisp is, almost, the opposite of a language you would choose to do AI in today.
It may be a more powerful language for other applications, but that will hardly matter because the productivity gains from using AI will dwarf those from programming language choice.
Foreign function interface of different implementations typically provide a way to access C allocated memory areas as Lisp arrays.
Besides, libraries are much less rigid than language features so maintainers can and do iterate on these much faster.
Saying this as a big Lisp/scheme/emacs fan, btw.
If CL could become a frontend for XLA perhaps, then maybe we can go full circle and turn Torch back into the lisp project it originally started out as!
I think that Python is actually kinda bad as a language for writing logic and building abstractions. We’re still using it for AI because that’s a small part of building these systems and inertia trumps everything.
Despite the title of the book, many of these lessons are not just about AI, or even particularly about symbolic programming or Lisp. They are generally useful advice about programming.
Although to be fair, there wasn't "just a handful of people". Just look at Geoff Hinton's citations count throughout the '80s.
Machine learning and its flavours were always there. What is new in deep learning is the scale of everything: amount of compute made possible by clusters of GPU-centric machines and amount of data made available by the Internet.
The shocking thing here how almost boring the core of recent advances is: do more of the same, much, much more, and quantity will turn into new qualities yet again.