Hi,
Even though I am quite new to LISP (I have C/C++ background) I plan
to do my next project in that language. I am looking for help with
choosing the right implementation.
The software I am going to develop
- will use multithreading (the problem to be solved is of concurrent
nature, so it is very - well - natural to develop concurrent solution)
- will be run on several platforms: Solaris/SPARC, Linux/Intel,
MSWindows/Intel; even though I have significant UNIX experience, my
preferred development platform is MSWindows/Intel (my laptop)
- will make use of TCP/IP sockets
- should be delivered as standalone application, so that it can be
executed without any need to install any additional software (for
example a LISP interpreter) on a client machine.
I am looking for an implementation that will suit the needs of my
project. It would be very nice for the implementation to offer
- IDE, but it is not required,
- profiler, but it is not required either.
Should I look for one product from one vendor for all aforementioned
platforms or can I choose different implementations for different
platforms (for example: favour nice IDE for development platform and a
free tool for execution
platform)?
I will be very grateful for any hints, opinions, pieces of information
or anything you may find relevant to the topic.
Thank you in advance.
Wojciech Mikanik
Wojciech Mikanik wrote:
> Hi,
>
> Even though I am quite new to LISP (I have C/C++ background) I plan
> to do my next project in that language. I am looking for help with
> choosing the right implementation.
>
> The software I am going to develop
> - will use multithreading (the problem to be solved is of concurrent
> nature, so it is very - well - natural to develop concurrent solution)
> - will be run on several platforms: Solaris/SPARC, Linux/Intel,
> MSWindows/Intel; even though I have significant UNIX experience, my
> preferred development platform is MSWindows/Intel (my laptop)
> - will make use of TCP/IP sockets
> - should be delivered as standalone application, so that it can be
> executed without any need to install any additional software (for
> example a LISP interpreter) on a client machine.
>
> I am looking for an implementation that will suit the needs of my
> project. It would be very nice for the implementation to offer
> - IDE, but it is not required,
> - profiler, but it is not required either.
>
> Should I look for one product from one vendor for all aforementioned
> platforms or can I choose different implementations for different
> platforms (for example: favour nice IDE for development platform and a
> free tool for execution
> platform)?
AllegroCL to my mind is by far the superior development environment,
though the specific multithreading requirement you have is not something
I know much about (ie, which Lisp on which platform(s) do best). But
their runtime licensing is problematic: you have to call them yourself
and cut your own deal just to find out what it will cost.
Lispworks last I heard was free on the runtime thing, and many people
actually like their IDE, so you might, too. Try it and see, since both
AllegroCL and Lispworks are available as trial editions.
The dual approach (AllegroCL for development, Lispworks for deployment)
is promising, though obviously you are paying for multiple Lisps. I am
guessing you had that figured out. :)
The caveat here would be that sockets and multithreading and maybe other
things you will be doing will not be portable across Lisps. So once you
are ready to deploy, you will have to conditionalize your code and fill
in the bits for the deployment Lisp. Hopefully (probably?) the mapping
between, say, socket APIs will be close enough that large-scale
refactoring will not be triggered.
I have just started using AllegroCL 7, btw, and it really rocks. I was a
big fan of their IDE before, but now it is turning into a runaway. But
like I said, a lot of people are happy with Lispworks, and if you are,
too, that saves licensing hassles, porting hassles, and buying multiple
Lisps.
If uou think you are headed into months and months of intense,
exploratory development, the superiority of AllegroCL likely outweighs
those hassles.
kenny
--
Cells? Cello? Celtik?: http://www.common-lisp.net/project/cells/
Why Lisp? http://alu.cliki.net/RtL%20Highlight%20Film
From: Juan Jose Garcia Ripoll
Subject: Re: [Newbie]Seeking help with the choice of LISP implementation
Date:
Message-ID: <3479hqF44fvjlU1@individual.net>
Wojciech Mikanik wrote:
> Hi,
>
> Even though I am quite new to LISP (I have C/C++ background) I plan
> to do my next project in that language. I am looking for help with
> choosing the right implementation.
>
> The software I am going to develop
> - will use multithreading
See below.
> - will be run on several platforms: Solaris/SPARC, Linux/Intel,
> MSWindows/Intel; even though I have significant UNIX experience, my
> preferred development platform is MSWindows/Intel (my laptop)
> - will make use of TCP/IP sockets
> - should be delivered as standalone application, so that it can be
> executed without any need to install any additional software (for
> example a LISP interpreter) on a client machine.
You get all of this for free with ECL (http://ecls.sf.net), a Common
Lisp interpreter and compiler that uses a C/C++ compiler to produce
native code and can be linked as a shared library.
Multithreading is there in the unix platform using Posix threads. The
code should be easily portable to Windows native threads. In general,
multithreading in ECL has been largely untested. Feedback or help are
both welcome.
Juanjo
Wojciech Mikanik wrote:
> Even though I am quite new to LISP (I have C/C++ background) I plan
> to do my next project in that language. I am looking for help with
> choosing the right implementation.
Grasshopper:
A Lisp programmer does not choose his implemenation. The implementation
chooses him.
From: Andreas Thiele
Subject: Re: [Newbie]Seeking help with the choice of LISP implementation
Date:
Message-ID: <crtr45$qgd$03$1@news.t-online.com>
"Steven M. Haflich" <·················@alum.mit.edu> schrieb im Newsbeitrag
······················@newssvr21.news.prodigy.com...
> Wojciech Mikanik wrote:
>
> > Even though I am quite new to LISP (I have C/C++ background) I plan
> > to do my next project in that language. I am looking for help with
> > choosing the right implementation.
>
> Grasshopper:
>
> A Lisp programmer does not choose his implemenation. The implementation
> chooses him.
Seriously, what does this mean? How did LispWorks choose me?
Andreas