Is Lisp for me? 
Author Message
 Is Lisp for me?

I'm planning to write a program for myself which, if I'm happy with the way it
turns out, I will likely distribute as shareware. I'm looking for as many of
the following traits as possible:

1:a functional language. I've been intrigued by functional languages for a
while, but have had no occasion to use them at work.
2: automatic garbage collection and other programmers' convenience features (I
still have to take care of my day job)
3: support for objects (not necessary, just a convenience)
4: it MUST be distributable as a stand-alone program for Windows. I'd like to
be able to distribute to Mac and Linux as well.
5. there has to a good book on the language available in English or at least an
IDE with and excdellent help environment.

I'm investigating at M, Python, BETA, Scheme, Haskell, Icon, and Common Lisp.
Which would you use? Why?



Thu, 31 Jul 2003 06:48:22 GMT  
 Is Lisp for me?
Don't take it too personal guys, Lisp is great, but I would use Smalltalk.
Particularly VisualWorks...
And here comes the question. How many of you guys are actually proficient
with Smalltalk ? I have heard that they are pretty close... :)

-Boris


Quote:
> I'm planning to write a program for myself which, if I'm happy with the
way it
> turns out, I will likely distribute as shareware. I'm looking for as many
of
> the following traits as possible:

> 1:a functional language. I've been intrigued by functional languages for a
> while, but have had no occasion to use them at work.
> 2: automatic garbage collection and other programmers' convenience
features (I
> still have to take care of my day job)
> 3: support for objects (not necessary, just a convenience)
> 4: it MUST be distributable as a stand-alone program for Windows. I'd like
to
> be able to distribute to Mac and Linux as well.
> 5. there has to a good book on the language available in English or at
least an
> IDE with and excdellent help environment.

> I'm investigating at M, Python, BETA, Scheme, Haskell, Icon, and Common
Lisp.
> Which would you use? Why?



Thu, 31 Jul 2003 09:17:14 GMT  
 Is Lisp for me?


Quote:
> Don't take it too personal guys, Lisp is great, but I would use Smalltalk.
> Particularly VisualWorks...
> And here comes the question. How many of you guys are actually proficient
> with Smalltalk ? I have heard that they are pretty close... :)

Smalltalk is kind of a simple Lisp dialect. Smalltalk
is sure nice. Common Lisp is more interesting, IMHO.

Quote:
> -Boris



> > I'm planning to write a program for myself which, if I'm happy with the
> way it
> > turns out, I will likely distribute as shareware. I'm looking for as many
> of
> > the following traits as possible:

> > 1:a functional language. I've been intrigued by functional languages for a
> > while, but have had no occasion to use them at work.
> > 2: automatic garbage collection and other programmers' convenience
> features (I
> > still have to take care of my day job)
> > 3: support for objects (not necessary, just a convenience)
> > 4: it MUST be distributable as a stand-alone program for Windows. I'd like
> to
> > be able to distribute to Mac and Linux as well.
> > 5. there has to a good book on the language available in English or at
> least an
> > IDE with and excdellent help environment.

> > I'm investigating at M, Python, BETA, Scheme, Haskell, Icon, and Common
> Lisp.
> > Which would you use? Why?

LispWorks is a good choice:

- Lisp supports functional programming
- has a nice GC
- Common Lisp has the Common Lisp Object System
- royalty free delivery. LispWorks is available for Windows, Linux, Unix,
...
- many Lisp books are available and LispWorks has an usable IDE.

See http://www.xanalys.com/ for LispWorks.

Can't say much about the other languages...

Sent via Deja.com
http://www.deja.com/



Thu, 31 Jul 2003 09:58:35 GMT  
 Is Lisp for me?


Quote:
> And here comes the question. How many of you guys are actually proficient
> with Smalltalk ? I have heard that they are pretty close... :)

I worked for ParcPlace Systems for 2 1/2 years.  That job ended about five
years ago.  I consider myself "conditionally proficient" in Smalltalk,
though I don't consider myself absolutely proficient with today's Smalltalk
because I haven't officially worked with the language other than cursory
glances at Squeak, Dolphin, and VWNC since I left PPS - and there's been a
LOT of changes since then.  That having been said, I still think that
Smalltalk is less powerful than Lisp.  Things I missed when I was
programming in Smalltalk:

Macros - Even though I did a lot of code that "wrote code" in Smalltalk, it
always seemed like a real hack cobbling up that heavy syntax.  In addition,
not having the code evaluate itself automatically made the macro-like code
in Smalltalk still less nice.  I was grateful that I could do it at all,
though - I shudder to think what the Java types are doing now...

Mixins and around/before/after methods - When I was working for PPS, CLOS
was out there.  Lisp programmers had been using multiple inheritance since
the Flavors days.  I missed mixins and around and after and before methods
because they were so nice notationally in Lisp.  Yes, I know you can
simulate them in ST by using a send to super at the proper place in an
inherited method but it really is sort of clunky having to maintain the
syntax.

Multi-methods - After using Lisp for a while, you start to realize what a
crock double dispatch is.  'Nuff said.

A real MOP - Smalltalk had a "sort of" MOP.  In general, you couldn't modify
method lookup, object layout, etc. because it was all hardwired into the VM.
Again, you could bypass the problem with liberal use of proxying and MNU
hacking, but only with a huge increase in code and corresponding decrease in
performance.  Most CLOS implementation shave enough of a MOP to allow you to
do almost anything you want to the CLOS system.

&optional and &rest parameters - I added the equivalent of &rest parameters
to VW by modifying the compiler.  It was a cute hack, but performed like
{*filter*}most of the time because it had to go through the MNU mechanism too
often.

There were a few other things (really good programmability of the parser,
read-time evaluation, etc., come to mind), but I don't want to belabor the
point.  Now having said that, there are a few things I miss in Lisp that are
available in Smalltalk:

Assurance of a GUI being in the implementation - They may not be standard
but at least it's always there.  No one would accept a Smalltalk without a
GUI as a legitimate Smalltalk (no matter what the standard says), so it's
always there.  Many lisps don't come with GUI's as standard.  This limits
their usefulness in many business apps.

Nice steppers, browsers, the whole toolset enchilada - Yes, most of the
commercial lisps have these, too, but they're not as standardized in concept
as Smalltalk's and they don't seem to work as well.

And finally, things I miss in both:

Portable binary format - You may not be able to have write-once,
run-anywhere, but being able to transport core code in binary form from
implementation to implementation sure would be handy.  This would mean a
standardized image and byte-code set for Smalltalk and portable FASL format
for Lisp systems.

Standardized FFI - Again, just a common way to describe and call C functions
with standard methods for converting from the Lisp/Smalltalk world into the
C world (and vice versa) would be nice.  #+feature may be more terse and
localizable than a C #ifdef, but at its core it's still an ifdef and the
fewer of those you need, the better.  And Smalltalk doesn't even have a good
way of dealing with this, so you have to mess around with platform-specific
classes and Abstract Factory patterns - yuck...

So, bottom-line, where do I stand?  If I had to do a business app that
needed a GUI, I'd probably go with Smalltalk.  The environment is there and
the GUI stuff is relatively simple.  If I had to do a stream-to-stream
program (or anything with a semi-complex data structure), I'd probably stick
with Lisp.  In any case, I'd prefer either to Java or C++.

faa



Fri, 01 Aug 2003 14:00:43 GMT  
 Is Lisp for me?
Oh yeah, one other thing I missed about Lisp in Smalltalk - At the time I
was using the language, you still couldn't depend on the system having real
closures.  The situation is better now but Dolphin and Squeak still don't
have proper implementations.  This might not seem like much of a problem to
a Smalltalker, but it's a hideous one to a Lisper :-).

faa


Quote:
> Don't take it too personal guys, Lisp is great, but I would use Smalltalk.
> Particularly VisualWorks...
> And here comes the question. How many of you guys are actually proficient
> with Smalltalk ? I have heard that they are pretty close... :)



Fri, 01 Aug 2003 14:10:22 GMT  
 Is Lisp for me?

Quote:

> I'm planning to write a program for myself which, if I'm happy with the way it
> turns out, I will likely distribute as shareware.

Any licensing or security requirments?

Quote:
>                                                     I'm looking for as many of
> the following traits as possible:

> 1:a functional language. I've been intrigued by functional languages for a
> while, but have had no occasion to use them at work.

Defined how?  Is just having real closures enough or do you want there
to be no assignment operator or other side-effects in the language?

Quote:
> 2: automatic garbage collection and other programmers' convenience features (I
> still have to take care of my day job)
> 3: support for objects (not necessary, just a convenience)

Does it matter whether it's the method-table/objects-encapsulate-methods
style or the generic-function style?  Any reflection, intercession or
dyanamic redefinition requirements?

Quote:
> 4: it MUST be distributable as a stand-alone program for Windows. I'd like to
> be able to distribute to Mac and Linux as well.

Define stand-alone.  (He says as he puts his head down and ducks out
quietly...)

Quote:
> 5. there has to a good book on the language available in English or at least an
> IDE with and excdellent help environment.

> I'm investigating at M, Python, BETA, Scheme, Haskell, Icon, and Common Lisp.
> Which would you use? Why?

What about graphics and windowing requirements?  

Depending on your answers, the Curl content language might be a good
choice (my employers at http://www.curl.com).  Ask me about any of the
issues you want to know more about.  It's main raison d'etre, though, is
to unify text, UI, and behavior into just "content".  (One raison d'etre
of Common Lisp (not Scheme) is to similarly unify program, data, and
program source.  But just as that has consequences for CL that result in
a far more generally useful language, I believe that Curl is generaly
useful beyond that spark of a concept.)

Although it's far closer to Common Lisp and Scheme than it is to
Smalltalk, it both wins and looses in some of the same ways that Frank
Adrian ascribes to Smalltalk.



Sat, 02 Aug 2003 00:57:06 GMT  
 Is Lisp for me?

Quote:



> > Don't take it too personal guys, Lisp is great, but I would use Smalltalk.
> > Particularly VisualWorks...
> > And here comes the question. How many of you guys are actually proficient
> > with Smalltalk ? I have heard that they are pretty close... :)

> Smalltalk is kind of a simple Lisp dialect. Smalltalk
> is sure nice. Common Lisp is more interesting, IMHO.

what's about large scale application's ?
I'm a newbie too (and have 4 years experience in Smalltalk and 10 years
in C) and am also looking for other choices. concrete I'm looking
for a substitution of Smalltalk, where only comercial Smalltalks
are fast enough, and for C where you alway need a complex make/compiler
assembler/linker/de{*filter*}/profiler environment.

any suggestions ?

--
Greetings from Lake Constance, Germany




Sat, 02 Aug 2003 06:42:47 GMT  
 Is Lisp for me?

Quote:




> > > Don't take it too personal guys, Lisp is great, but I would use Smalltalk.
> > > Particularly VisualWorks...
> > > And here comes the question. How many of you guys are actually proficient
> > > with Smalltalk ? I have heard that they are pretty close... :)

> > Smalltalk is kind of a simple Lisp dialect. Smalltalk
> > is sure nice. Common Lisp is more interesting, IMHO.

> what's about large scale application's ?
> I'm a newbie too (and have 4 years experience in Smalltalk and 10 years
> in C) and am also looking for other choices. concrete I'm looking
> for a substitution of Smalltalk, where only comercial Smalltalks
> are fast enough, and for C where you alway need a complex make/compiler
> assembler/linker/de{*filter*}/profiler environment.

> any suggestions ?

This is a MU-question in the spirit of Hofstadter's GEB.  The
question'd better be "unasked" :)

Cheers

--
Marco Antoniotti =============================================================
NYU Courant Bioinformatics Group                 tel. +1 - 212 - 998 3488
719 Broadway 12th Floor                          fax  +1 - 212 - 995 4122
New York, NY 10003, USA                           http://www.*-*-*.com/
             Like DNA, such a language [Lisp] does not go out of style.
                              Paul Graham, ANSI Common Lisp



Sat, 02 Aug 2003 23:20:13 GMT  
 Is Lisp for me?


Quote:
>Depending on your answers, the Curl content language might be a good
>choice (my employers at http://www.curl.com).  Ask me about any of the
>issues you want to know more about.  It's main raison d'etre, though, is
>to unify text, UI, and behavior into just "content".  (One raison d'etre
>of Common Lisp (not Scheme) is to similarly unify program, data, and
>program source.  But just as that has consequences for CL that result in
>a far more generally useful language, I believe that Curl is generaly
>useful beyond that spark of a concept.)

Any example source code in Curl available? (The site seemed to be just
brochureware and a plugin unless I've missed something.)

--
"To summarize the summary of the summary: people are a problem."

http://www.esatclear.ie/~rwallace



Sun, 10 Aug 2003 16:37:02 GMT  
 
 [ 13 post ] 

 Relevant Pages 

1. Which Lisp am I running?

2. I am not deaf, but am I mute?

3. Lisp,LIsp,LISp,LISP...

4. Lisp,LIsp,LISp,LISP...

5. New Common Lisp, Lisp-to-C translation, Lisp library for C

6. LISP - The Spirit of Lisp - Transparency!

7. The Lisp Journal ( was Re: ANN: Yadda Lambda, Lisp magazine)

8. New Common Lisp and Lisp-to-C translator ANNOUNCEMENT

9. Running Koza's GP1 Lisp code on Common Lisp

10. 2nd RFD: comp.org.lisp-users and comp.std.lisp

11. CFV: comp.std.lisp moderated and comp.org.lisp-users

12. [sinyaw@sun.com: Re: LISP vs LISP->C performance]

 

 
Powered by phpBB® Forum Software