Re: lisp used in game creation?

From: John Thingstad (john.thingstad_at_chello.no)
Date: 09/10/04


Date: Fri, 10 Sep 2004 13:36:21 +0200

On 10 Sep 2004 01:02:07 -0700, Manuel Simoni <msimoni@gmail.com> wrote:

> "Anon" wrote in message news:<chnmne$20s$1@newsg1.svr.pol.co.uk>...
>
>> is Lisp used in the creation of some games??
> This page has some info about games written in Lisp, and some Lisp
> bashing:
> http://www.spies.com/~palevich/CLRScheme/WhyLispSucksForGames.htm
>

Some of the things in this article are wrong.

>> Problems with Lisp:

>> No module/library mechanism

    First the two are hardly equivalent.
    For a module interface use defpackage.
    No support for libraries in the standard but most implementations
support the creations of DLL's.

>> Lack of types makes it difficult to understand or safely modify large
>> programs

    Types adds to the clutter of creating a program, distracting him from
the purpose.
    Having to specify types means that the data structure has to be known
up front before the
    problem is fully understood. This leads to premature optimisations and
thus to less clear
    and less efficient code.
    So in my experience it has the opposite effect.

>> Macros makes code harder to understand

    Macro's are a mechanism for providing high level abstractions related
to the
    problem at hand. Used correctly the make the code easier to understand.
    (It can not make a bad programmer produce good code.)

>> Lisp has low performance by default. Low Performance is designed into
>> the language at several levels

    Depends what you mean by default. If you need an array use an array!

>> Every variable can hold any type of data, with the type being
>> determined at run time. This makes it difficult >> to hold binary data
>> efficiently.

    (make-array size :type 'byte) ... duh

>> The typical Lisp object system is too general to be able to run quickly.

    Generality has little to do with it. More to the point is that the
class structure is
    created and modified at runtime. And yes it is slower...

>> It's hard to tell cheap operations from expensive ones.

    This is true and probably the best argument in the article.

>> Garbage Collection Pauses

    Not on any lisp I have used. The typically use a generational garbage
collector which
    eliminates most of the problem. However Java pauses on me..

-- 
Using M2, Opera's revolutionary e-mail client: http://www.opera.com/m2/


Relevant Pages

  • Possibility on common lisp?
    ... Hello I have a small problem in lisp. ... useful oneself for example of the hour system in my script lisp? ... example that would be useful to me for the tamagotchi, ... creation was made, and statement that Ben 24h after this date, the ...
    (comp.lang.lisp)
  • Re: Macros in Lisp
    ... I want to learn creation of simple macros in Lisp ... which can be used to generate dynamic functions at compile time. ...
    (comp.lang.lisp)
  • Re: The Weakness of Lisp
    ... I am a beginner of Lisp, but from recent discussion it's not hard to ... Your problem is that you do not understand Grammar. ... grammar, which is trivial, or English grammar, or the grammar of your ... The creation of Lisp was in large part an ...
    (comp.lang.lisp)
  • Re: Effect of multiple-processors on memory allocation
    ... lets assume that the processors do not gaurantee the order of stores. ... In Lisp, when you assign a data structure to a variable (or other ... pointer assignment (there are a few simple data types that most ...
    (comp.lang.lisp)
  • Re: newbie question about quote
    ... > Hi I'm new to LISP. ... > "Quote may seem a bit of a foreign concept because few other languages ... This is a pain because the C compiler we are using does this, ... like a program but I want to pretend it is a data structure". ...
    (comp.lang.lisp)