Page 1 of 1

Lisp

Posted: Thu Dec 15, 2011 10:07 am
by Kurotensai
Is it possible to create Os, websites and beautiful, 3d, realistics graphics, animaton, drawings, movies; and databases with LISP? Can lisp do what c, c++ and asm can? What would u prefer"" C, C++, lisp or asm. Plz name a few popular programs written in lisp.

Re: Lisp

Posted: Thu Dec 15, 2011 4:51 pm
by Kurotensai
Kurotensai wrote:Is it possible to create Os, websites and beautiful, 3d, realistics graphics, animaton, drawings, movies; and databases with LISP? Can lisp do what c, c++ and asm can? What would u prefer"" C, C++, lisp or asm. Plz name a few popular programs written in lisp.
Can't someone please just answer this simple question?

Re: Lisp

Posted: Thu Dec 15, 2011 9:15 pm
by JamesF
OK. The answer to your first question is yes.
The answer to the second question is also yes, though it's entirely possible that asm would allow you to hand-optimise things a little more tightly than any of the other three.
The third is a matter of opinion, and I personally haven't tried C++ or asm, and have only toyed with C, so don't have sufficient knowledge to form a useful opinion. However, the fact that I'm still having too much fun with Lisp and feel like I'm still a very long way from finding, let alone exploring, its limits, may or may not be useful input in lieu of an actual opinion. I think your own opinion would be of much more value to you, so I suggest that you spend sufficient time with all four languages to establish which of them you find most suitable for which kinds of programming.
The fourth question is easily answered with a bit of Googling, though I'll give you the hint of looking at both Allegro's and Lispworks' sites.

Re: Lisp

Posted: Fri Dec 16, 2011 10:41 am
by Indecipherable
I have learned that listening too much to opinions of others overrides your own opinion. There are people who hate C, those who love C, etc.
Now, ASM is mainly used (as stated above) for hand-optimizing the code. You have more power over what is going on and you can change quite a lot of details to suit your needs and make your code better and faster. In ASM, you use the instructions provided in your processor's instruction set, but now many people just use compilers. A good compiler can generate efficient code (a crappy compiler might make your code slow and produce mammoth-sized executables out of a few KBs of original source-code).

C is a multi-purpose language and is very popular. It provides access to low-level memory locations and can be seen as a substitute to assembly, though not everyone views it as a low-level language. C++ is basically C with OOP support. You can do many things in Lisp, and as new libraries come into light, the more possibilities appear. Lots of languages are still incorporating features from Lisp, and Common Lisp is the most popular standard dialect (as it was originally intended to be)

All this info is from my knowledge that I acquired from coming across such articles every now and then, and I tried to be as correct as I could. I have only used Lisp and some ASM (which also gives you an idea of what high-level code does in particular) from the list you gave.
Happy Hacking ;)

Re: Lisp

Posted: Fri Dec 16, 2011 6:10 pm
by nuntius
Popular programs? I'm fond of Axiom/FriCAS/OpenAxiom myself. Then there's Maxima (another CAS). and the backend of many travel websites (by ITA Software). Many websites like http://wigflip.com/ use CL. etc.

CL is by no means a dominant platform. The biggest, hottest games are written in C++ (and occasionally Java or even flash). But CL's been applied to almost everything with good results. There are few good reasons not to learn it if you like programming. http://racket-lang.org/ is also good (a Scheme descendent).

Re: Lisp

Posted: Tue Jan 31, 2012 1:11 am
by chocolait
I would add that Crash Bandicoot (a PlayStation game) was developed using Lisp.

Re: Lisp

Posted: Wed Feb 01, 2012 12:19 pm
by gugamilare
Mario 64 was made in Lisp as well.

Re: Lisp

Posted: Thu Feb 16, 2012 5:39 pm
by schoppenhauer
gugamilare wrote:Mario 64 was made in Lisp as well.
According to http://www.franz.com/success/customer_a ... imen.lhtml this is only partially true.

To give an additional example, I think reddit was written in Lisp initially.

As an OS, there is Movitz, which is, however, only academic so far. Writing an OS is not really something companies usually do.

And whether Lisp can do what c, c++ and asm can ... always use the right tool for the right job.

Re: Lisp

Posted: Fri Jun 29, 2012 12:11 pm
by sylwester
Yes.. Actually you can do most of those things even in BrainFuck, though it's hard because it has no means of abstraction. BF is actually my favorite machine code :)

To make an OS in LISP is pretty much the same deal.. You produce a compiler that produce some some stack machine code, either direct machine code or by some intermediate (C, ASM, java, java bytecode, machine code) and the lower you go the more your LISP have to do. The result doesn't have to have enything to do with LISP.

So far I have just assumed you develop something in LISP that might not be LISP or run on LISP, but there can be many applications (webserver, homepages, database gtk applictions) that can be run on a LISP engine like sbcl or be compiled like with gambit/chicken scheme to run native (though still might be under a LISP engine if you'd like) or even run decently fast in CLISP. Though I'm not sure if it's a good game platform.
Peter Norvig wrote: Choose the Right Language
Choose the appropriate language, and use appropriatefeatures in the language you choose.
Lisp is not the right language for every problem.
Source: http://norvig.com/luv-slides.ps
And somethimes LISP is the right language but you just don't think of it that way.
Hal Abelson wrote: LISP is a lousy language for doing any particular problem. What it's good for is figuring out the right
language that you want and embedding that in LISP. That's the real power of this approach
to design.
Source: SICP lecture 3A
Confused yet? I'm playing all teams :)

Re: Lisp

Posted: Tue Jul 31, 2012 4:38 am
by virex
SBCL or CCL are probably fast enough to handle the non time-critical parts of a game (or everything, if you're willing to settle for something that looks like it's from 2008). If I'd be doing an advanced game in Lisp, I'd probably write the critical parts as functions in C or ASM and call those from lisp, using CFFI or, if there's no need for portability, the built-in FFI of the Lisp system I'm using.