Tyler Rae - Oct 28, 2010:
Yeah, my comfort area is definitely C and C++, although I do think it might be a good idea to move into some other languages as well. So I’m in school to become a Game Dev and I was just curious, I know that Python is used in the industry but for AI, how often would you say that Lisp is used? And what are the advantages of using Lisp over some other languages? Thanks for the help, I really appreciate it.
First of all, you should make a habit of getting outside your comfort zone on a regular basis or you will cease growing intellectually. From a professional standpoint, I try to learn a completely new technology every year. In recent years I’ve tackled XML, CSS, XSLT and Forth. I doubt that I’d ever want to use Forth again, but the other three technologies are incredibly useful.
I’m not sure what you mean by “industry.” Do you mean the game development industry, or the information technology industry generally? Either way I would say that Lisp doesn’t have a huge market share. It tends to be used in the most complex and demanding projects (e.g. airline ticket reservation systems, real-time banking systems, military command and control and of course artificial intelligence). While I’ve heard Perl described as being “the Swiss army chainsaw” of the internet I’ve similarly heard Common Lisp described as “the tactical nuclear weapons” of software development. There are a lot of situations where you just don’t need nuclear weapons to get the job done.
Anyway, enough whimsy, my own experience is that I can frequently build a useful implementation of a project using Common Lisp in a couple of hours. Having done so, I might find that if I have to rewrite the project using C for performance, scalability, or portability reasons, it might take several weeks of effort to reproduce the functionality of the Common Lisp version. In other words, I use Common Lisp for prototyping and ad hoc programming and resort to lower level programming languages when I need to control what’s going on at the byte level in order to squeeze out every last bit of performance and capacity from my hardware.
To try out Common Lisp for yourself, take a look at the following:
http://www.lispworks.com/—gui programming on Windows
http://www.cliki.net/index—lots of documentation and source code
http://clisp.org/—cli programming on Linux, my favorite
http://www.lisp.org/alu/home—edit: just found this one too