Is LISP fluency worth it?

Started by
45 comments, last by Dobbs 19 years, 9 months ago
I know there have always been tons of posts on game AI boards asking about LISP, what it is, and if it''s used in commercial games. Given that LISP is used in few commercial games, is it worth becoming fluent in anyway? I am considering persuing it for two reasons: A.) It is used in academic papers. Being fluent in LISP allows a person to stay on top of the latest developments in AI. B.) It can be embedded into game engines. I heard that Halo uses an embedded LISP-like language for AI. Could embedded LISP-style languages benificial in the long run? I''ve been reading through LISP by Winston & Horn in my free time for the past year, and I have to say that while I''m familiar with many of LISP''s features, when it comes to coding in LISP, I have the speed and effectiveness of a slug. What''s with this language? There are too many parenthesis and stuff. I really like the transparency of lists in LISP, and have researched the benefits of functional programming, but I''m still not convinced that I can code anything in LISP with more ease than I could in C++. Should I persue LISP until I am fluent in it? Any advice?
-Forcaswriteln("Does this actually work?");
Advertisement
My advice is: don''t bother unless you''re somebody who has a love of "software engineering" as a discipline, and you have time to really become an expert.

What makes Lisp unique is that you can program it in a hundred different styles:

* Lisp programs can look like C programs.
* Lisp programs can look like Fortran-77 programs.
* Lisp programs can look like Prolog programs.

But it really starts to shine when you start envisioning brand-new styles, styles that have never been embodied in any programming language. You only get this benefit if you''re smart enough to be able to invent new programming styles.

If you're interested in programming linguistics or complex logic, learn Lisp. Basically, the comment that most Lisp coders have is that Lisp has had the same featureset of all these clever new languages for decades.

I firmly believe that if Lisp had cought on a little more isntead of Fortran, then the programming world would look completely different today. For the layman, Fortran is basically generalized assembler. All languages read like fortran, as they're further generalized assembler.

Lisp is a completely different direction - as Fortran and other modern languages are converted into a parse tree before assembler, Lisp is basically a mildly abstracted representation of a parse tree. Completely different model to work from.

The biggest thing about lisp is that variable data and program code have the same structure. Basically imagine C where you could execute an array, and your normal code was just operations coded into arrays. Lisp is like that (well, technically its all linked lists, not arrays, but who's counting).

Anyone who plans on designing a scripting language should learn Lisp, before they make some of the same mistakes every other language does.

Still, as a gamer - seriously not needed unless you're planning on using an engine that needs it.

[edited by - Pxtl on June 11, 2004 4:34:57 PM]
-- Single player is masturbation.
I think learning Common Lisp is definitely worth it. Even if you never really use the language, it will expose you different styles and ways of thinking that could help you write better code in any language. Knowing many very dfferent languages will improve your generall programming skill in all the languages you know.
Knowing C and C++ won''t make much of a difference because they are similar, but knowing C, Lisp, Prolog, and Haskel will expose you to many different ways of working that you otherwise probably wouldn''t experience.

Lisp has long been associated with academia since that is where it originated, and its also been associated with the AI winter and thus it has a pretty bad reputation. Truly though, it is a real language used for huge programs (which include non-AI programs). Lisp Success Stories

Yes, the Lisp syntax (s-expressions) has been used for quite a few scripting langauge, and it isn''t hard to see that it makes a good candidate for such because it is extremely easy to implement a scripting engine for it(at least the basics since the parse tree is created by the programmer, so the computer can skip a few steps).

If you truly think "There are too many parenthesis and stuff", Lisp might not be for you. Syntax is really a petty thing, and there are much more important attributes of a programming language. While Lisp syntax may seem a burden, without it Lisp would be exactly the same as any other programming language and most of it''s important features would be gone.
"Walk not the trodden path, for it has borne it's burden." -John, Flying Monk
Haw haw, i''m now interested in learning LISP, because it seems to be a very "different" language. I''ll see it later.

( Be Side )
( Be Side )
quote:Original post by Nekhmet
* Lisp programs can look like C programs.

And this is an advantage because...?
quote:
* Lisp programs can look like Fortran-77 programs.

And this is an advantage because...?
quote:
* Lisp programs can look like Prolog programs.

And this is an advantage because...?




--AnkhSVN - A Visual Studio .NET Addin for the Subversion version control system.[Project site] [IRC channel] [Blog]
I prefer C coding style, so this is an advantage for me. It makes you less nervous when programming.

( Be Side )
( Be Side )
You guys are missing the point. The advantage isn''t that you can use one of those old styles. The advantage is that you can invent a style that suits the problem.

Though I love Lisp, I''m still waiting for Arc.
If a plant cannot live according to its nature, it dies; so a man.
It is definitely worth it. And about it not being used in games, well it sure is used for scripting. The biggest title that comes to mind other than the previously mentioned ones is Age of Empires II. All AI scripts were written in a very LISP-like language... And LISP isn't very hard to learn either if you already know how to program so your time investment will be relatively small.

This topic is closed to new replies.

Advertisement