Jump to content
  • Advertisement

Archived

This topic is now archived and is closed to further replies.

Forcas

Is LISP fluency worth it?

This topic is 5132 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

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?

Share this post


Link to post
Share on other sites
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.

Share this post


Link to post
Share on other sites
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]

Share this post


Link to post
Share on other sites
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.

Share this post


Link to post
Share on other sites
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 )

Share this post


Link to post
Share on other sites
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...?




Share this post


Link to post
Share on other sites
I prefer C coding style, so this is an advantage for me. It makes you less nervous when programming.

( Be Side )

Share this post


Link to post
Share on other sites
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.

Share this post


Link to post
Share on other sites
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.

Share this post


Link to post
Share on other sites

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

We are the game development community.

Whether you are an indie, hobbyist, AAA developer, or just trying to learn, GameDev.net is the place for you to learn, share, and connect with the games industry. Learn more About Us or sign up!

Sign me up!