Re: Why Lisp instead of Scheme?



David Steuber <david@xxxxxxxxxxxxxxxxx> wrote in
news:878y3oz54b.fsf@xxxxxxxxxxxxxxxxx:

> So I ask you why you choose Lisp over Scheme (or why you
> choose Scheme over Lisp).

I follow this thread with interest since I'm new to both languages and
don't have a deep understanding yet of either. I only have hand-wavy
understanding of "functional programming in general" due to a previous
stint with OCaml, and a cyberlibrarian survey of all the other open
source HLLs. I have breadth of knowledge, not depth.

I am currently going up the Bigloo Scheme learning curve. My reasons for
this:

- it's a high performance Scheme -> C compiler, thus appropriate to my 3D
graphics and game AI problems.

- I'm broke and it's open source.

- I'm on Windows and there's no open source Lisp compiler available
(yet).

For my problems, budget, and platform, this is almost the only game in
town. I could attempt Stalin, but I'm not feeling that brave yet. Also,
getting other people in the game industry to adopt what I do is part of
my thinking, and Stalin strikes out there. Bigloo's "public face" is
meager but Stalin has none at all.

I await the Windows port of CMUCL with interest. I keep tabs on Lisp
because there's more software and jobs done with it than Scheme.

I could of course try Corman Lisp and worry about a commercial license
later. But the project I have in mind is substantial, and committing to
Lisp rather than Scheme is seemingly a big committment. Even committing
to a particular Lisp or Scheme implementation seems like a non-trivial
committment. I am disappointed, for instance, that apparently Corman
Lisp doesn't support UFFI. Talking to C code is critical to my concerns,
and I don't wish to "get stuck" somewhere. Of course I can easily "get
stuck" with Bigloo Scheme. But my feeling right now is, since all Lisp
and Scheme implementations offer this risk, I will pursue Bigloo until I
decide it's not working out for me.

I feel that most of these kinds of choices come down to fairly brain
dead, pragmatic decisions about what level of tools and support is
available. That is my experience having surveyed all the open source
HLLs out there. The languages matter quite a bit less than the tools and
communities. A wonder language cannot really save you a lot of work, if
it presents you with tons of basic shitwork just to get started on your
actual problems.

For instance, I am encouraged to find vastly more examples of 3D graphics
in the Lisp and Scheme universes than I ever found in the OCaml universe.
It is clear that these communities "have actually done something" and
"continue to do some things" with 3D graphics. Both languages have also
gotten used in commercial game development.

It may transpire that once I have more experience, I will come to
understand the substantive differences between Lisp and Scheme, and then
I may firmly declare myself in one camp or the other. I do, at this
point, think I have to implement all of my technologies from scratch. So
there is little value in "what others are doing," and it's going to
depend on which is the best language + implementation for my jobs.

If some implementation offered an automagical way to do C bindings, that
would slant me towards it.


--
Cheers, www.indiegamedesign.com
Brandon Van Every Seattle, WA

"The pioneer is the one with the arrows in his back."
- anonymous entrepreneur
.


Quantcast