# Lisp or Scheme?

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

## Recommended Posts

I took the first in our university's sequence of programming courses because, once upon a time, I was going to be a CSci major. That changed, but I still program on my own time. Thing is, that was the only experience I've had with Scheme and I've had none with Lisp. I really enjoyed our time with Scheme and am thinking about checking out either Scheme or Lisp again. Now, I'm wondering what the differences between Scheme and (Common?) Lisp are, since if you mention one someone is bound to mention the other. What are the pros and cons of each? Also, I know there was just a thread about Lisp implementations, but I'm not sure that it provided me with the information I would need to choose an implementation. Is there an implementation that fits the following criteria? - Free, as in beer - Free, as in I can redistribute my program under a license of my choice along with enough of the implementation to run it - Runs on Windows XP (Cygwin and the like don't count) - Suitable for game development (seeing as this is gamedev.net, after all), not as a scripting language, but as in the language the game is written in - Access to relevant libraries (preferably free, as above) for game development (2D/3D graphics, sound, IO, networking, etc.)

##### Share on other sites
Lisp has more mainstream support in terms of IDE's, compilers, libraries, and the like. However, Scheme is no slouch. Check out Dr. Scheme.

##### Share on other sites
Lisp is, in my opinion, horrible. It takes all the elegance and simplicity of a functional language (such as Scheme), and then heaps on shortcuts, special cases, and more outdated legacy baggage than any other language, all in the service of being "multiparadigm". Now, this baggage does buy you flexibility, and many expert programmers find Lisp to be great for development; but if you enjoy a mostly-pure functional style and don't want to spend days trying to grasp the full functionality of Lisp, stick to Scheme.

##### Share on other sites
Quote:
 Original post by SneftelLisp is, [...]outdated legacy baggage[...]
Well, you have to understand that when Common Lisp was standardized, it wasn't entirely outdated.

I'm all in favor of a new CL standard, but unfortunately those that would be needed for such an undertaking have no desire to participate in it and anything without them would be worthless. The best you can do is to use the psuedo defacto-standard libraries, but finding them can be rather difficult.

##### Share on other sites
Quote:
 Original post by flangazorAre you Brandon Van Every?

No, but I've lurked in news groups long enough to know why you'd think that. Really, they were honest questions. I was really interested in Scheme when I took the class, but, like I said, that was the extent of my CSci career. I like functional programming, but most of my experience in that direction has been tinkering with Haskell. I love it for its purity, but it seems to be mostly for academics with only a few "real world" programs, and those in non-game applications. For example, graphics libraries seems to be more proof of concept than anything usable.

Aside from OCaml and other members of the ML family, Scheme/Lisp seemed my best bet. I really liked as much as I saw of Scheme, and it seems one of the more "practical" functional languages (along with OCaml and SML). Since I usually hear Lisp and Scheme mentioned in the same conversations, I thought maybe I'd ask how they compare. Not so much "which is better?" as "what are the differences?". Knowing the differences, I can decide which better suits my needs.

As far as the implementation question goes, I don't think the requirements are too extreme (at least not as extreme as Brandon Van Every). Free because I'm a poor college student who may want to show others what he's done. Windows because that's what I and my friends run. Not Cygwin because I know where to find Linux if I need/want it (that's why OCaml was a no go, it really seemed to want Cygwin before it would run on my computer).

Perhaps "suitable for games" sounds like a bit much, but really I'm not that strict. Some implementations seem really focused on teaching (e.g. Hugs for Haskell) and not really suited for actual applications. That's really all I was going for.

##### Share on other sites
Quote:
 Original post by SneftelLisp is, in my opinion, horrible. It takes all the elegance and simplicity of a functional language (such as Scheme), and then heaps on shortcuts, special cases, and more outdated legacy baggage than any other language, all in the service of being "multiparadigm". Now, this baggage does buy you flexibility, and many expert programmers find Lisp to be great for development; but if you enjoy a mostly-pure functional style and don't want to spend days trying to grasp the full functionality of Lisp, stick to Scheme.

I disagree, I have used Common Lisp as a toy language, blissfully ignoring most of what makes it a power language designed for experts (packages, OOP, special variables, big standard, etc.) without encountering unusual amounts of pain.

Quote:
 Original post by Way WalkerAlso, I know there was just a thread about Lisp implementations, but I'm not sure that it provided me with the information I would need to choose an implementation. Is there an implementation that fits the following criteria?- Free, as in beer- Free, as in I can redistribute my program under a license of my choice along with enough of the implementation to run it- Runs on Windows XP (Cygwin and the like don't count)- Suitable for game development (seeing as this is gamedev.net, after all), not as a scripting language, but as in the language the game is written in- Access to relevant libraries (preferably free, as above) for game development (2D/3D graphics, sound, IO, networking, etc.)

Give Corman Lisp a try. It's free to use, you can compile 1MB exe files, it's reasonably fast, and the FFI seems to work (I got SDL/OpenGL to work in trivial applications). You need to pay the $200 to distribute applications. #### Share this post ##### Link to post ##### Share on other sites I agree with DrScheme if you want Scheme and Corman Lisp if you want Lisp. Corman is probably free enough for most purposes, once you get to the stage where you actually distribute something commercially you can probably afford the$200. If you don't use to much ffi and similar it shouldn't too much of a problem to use the same code on other Lisps like CMUCL or SBCL on Linux, both of these are good and completely free.

CLISP and GCL both have license problems when it comes to games development, and I fear that a lot of Schemes are mostly very basic implementations since it is a pretty simple language to implement (except for some things that aren't universally supported among the Schemes).

1. 1
2. 2
JoeJ
20
3. 3
frob
19
4. 4
5. 5

• 10
• 11
• 12
• 13
• 9
• ### Forum Statistics

• Total Topics
632204
• Total Posts
3004763

×