Is LISP fluency worth it?

Started by
45 comments, last by Dobbs 19 years, 9 months ago
Yeah. I don't need to post the code, I already figured it out. My inexperience is definitely to blame.
-Forcaswriteln("Does this actually work?");
Advertisement
Quote:
anything that will make programming easier at the expense of efficiency is desirable.


By that token, we should all be using interpreted languages that can barely churn out a 2-d image in 30 seconds.

---------------------------Hello, and Welcome to some arbitrary temporal location in the space-time continuum.

Quote:Original post by Etnu
By that token, we should all be using interpreted languages that can barely churn out a 2-d image in 30 seconds.


Yes you should. Well, not in your inner loop I suppose, but scripting languages are definitely useful. "Fast" languages are useful too, for about 10% of your application's code.

Now that you mentioned it, Lisp doesn't really need to use "interpreted scripting languages". With Lisp you can design some custom scripting language and have your program load the "scripts" at runtime and compile them on the spot, enjoying all the benefits. In fact, you can modify everything in your program while it's running! Neat, isn't it?
Quote:Original post by Forcas
Given that LISP is used in few commercial games, is it worth becoming fluent in anyway?

Err... yes. If you stick to only following the crowds, then you may be denying yourself an opportunity for being any better than the crowds. Try exercising free-thought. Learn enough about Lisp to decide for yourself whether it's worth becoming fluent. You can't expect someone else to do your thinking for you.
Quote:
A.) It is used in academic papers. Being fluent in LISP allows a person to stay on top of the latest developments in AI.

It's not so much used in academia these days, since academia has been watered down by institutions pandering to what industry thinks it needs.
Quote:
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?

Yes of course. See Franz success stories for more.
Quote:
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.

Then you need to do more coding.
Quote:
What''s with this language? There are too many parenthesis and stuff.

If you haven't yet realised why the parentheses are necessary, then continue learning. `There are too many parenthesis' is not a well-considered criticism.
Quote:
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++.

Presumably that means you know C++ better than you know Lisp.
Quote:Original post by DeVla
Hello i'm a novice programmer and i'm trying to write the lesson 40
in Scheme (original coded in C++) it's quite hard ... i finished it but i got some performances problems, i've done some optimisations but it's not enough ...

As you know Scheme is a lisp dialect, maybe some gentle peeps could see at my code and give me an advice ? :) plz

Well, for starters I'd post your question in the For Beginners forum. Also, mention exactly what lesson 40 is, as that doesn't help at all.
If a plant cannot live according to its nature, it dies; so a man.
Quote:Given that LISP is used in few commercial games, is it worth becoming fluent in anyway?


Do you plan on writing clones of those games? If not, then it's irrelevent what game companies are using to code their games. I'm sure that those companies chose Lisp because it gracefully provided a solution to game functionality. That in itself is the best reason to choose a language. There is absolutely no reason to shoe-horn any language into a solution just because it may be popular or likewise exclude it because it is not, be it Lisp, C, Java, BASIC, or IBM 370 assembly language. Pick the language that best solves your problem.

Quote:A.) It is used in academic papers. Being fluent in LISP allows a person to stay on top of the latest developments in AI.


Perhaps, but there are also quite a few AI papers out there based on Prolog, CLIPS, Haskell, Scheme, Java, C, C++, etc...

Quote: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?


In reality any language can be embedded into a game engine, it just so happens that Lisp-like interpretters can be implemented in a relatively small code-base. Note: For every Lisp-like game scripting language, there are probably dozens of proprietary solutions used.

Quote:What''s with this language?


Writing Lisp code requires a massive paradigm shift from writing procedural or OO code.

Quote:There are too many parenthesis and stuff.


The parenthesis problem is laughable compared to the truly hairy features that Lisp has (Macros and Closures for example). If after a year the parenthesis are still a sticking point for you, then perhaps you might consider this a failed expiriment and move on.

Quote:not convinced that I can code anything in LISP with more ease than I could in C++.


This is really a two-way street. That is, there are certain problems (list processing for example) that are huge undertakings in C++ (bare C++ that is), and the reverse holds true for Lisp as well. If you feel that you can easily perform a given task with C++ over Lisp, then by all means run with it.

Quote:Should I persue LISP until I am fluent in it? Any advice?


I personally love Lisp because it is extremely extensible and therefore extremely powerful. However, in day to day application development, it is not my choice of language. There is a lot to learn from using Lisp. A lot, that is, that may never present itself ever again outside of a Lisp problem. Just about anything that can be done with Lisp can be done with any other language. However, Lisp promotes elegance because of its nature. Lisp's very nature contains many core concepts at the foundation of computer science; and for that reason alone it is worth researching.
-m

## www.minotaurcomputing.com# www.modus-ponens.com/blog/#
Quote:Original post by civguy
Quote:Original post by Dobbs
Most of the book focuses on teaching you the tools you need to do this (Lisp macros), and the real meat (where these specialized languages are implemented using macros) isn't until the end.
Disagreed.. "How macros work" was actually explained pretty quickly, and then there were all these different techniques using variable capture and other stuff with small examples. The very last chapters weren't that interesting IMO, but pretty specific and almost tiresomely lenghty examples of how macros can be used in some particular problems. Not so useful as the chapters before those, which had more general ideas that you can apply to your own macros.


Personally I think you sort of missed the point of the final few chapters. Yes, the middle chapters are very good for teaching you how to write macros, and how to use a couple of interesting techniques like variable capture. But, to me, "how macros work" is sort of useless without "the big picture," if you'll pardon the cliche, that is concrete examples of intelligent and creative macro use to create specialized languages. In my mind that's where the last few chapters of the book came in, starting with the fact querying database and moving on to continuations, prolog etc. (although good god the continuations part was painful).

Or maybe we just have very different perspectives. C'est la vie.

This topic is closed to new replies.

Advertisement