From: Adam Connor
Subject: Why Lisp for web applications?
Date: 
Message-ID: <1131736273.560877.16570@g43g2000cwa.googlegroups.com>
Where I work, we use an in-house scripting language for web
applications. It is possible that we will consider moving to something
else. My boss, who knows I admire Lisp, asked me today, "Can you make a
case for Lisp?" I'm sure that on her mind was "Why Lisp over Ruby? Why
Lisp over PHP?" Not having done more than played with Lisp (and only a
bit on the web), I thought it might pay to ask some real practicioners.
What are the compelling advantages of Lisp, and do they apply to web
scripting?

Thanks in advance.

From: Bill Atkins
Subject: Re: Why Lisp for web applications?
Date: 
Message-ID: <1131737042.388262.29450@g14g2000cwa.googlegroups.com>
Here are a couple of the standard points:

 - If your Lisp implementation compiles to native code, then your
application will, in theory, be able to handle more requests faster,
without needing as much hardware.
 - Interactive development and testing will give you and your
programmers increased productivity by eliminating the need for
re-compiling or re-loading files and allowing you to run arbitrary
tests from the REPL.
 - Macros will let your programmers factor out duplicated code, and can
thus let you customize Lisp specifically for your application.
 - If you're using swank and SLIME, you can connect to your running
application and make changes.  This is useful for testing out specific
customer issues or for taking a look at your running system for
debugging purposes.
 - Lisp is sweet.

Hope that helps.  If I've made any invalid claims, please let me know.

Bill
From: Sylvain
Subject: Re: Why Lisp for web applications?
Date: 
Message-ID: <LtSdnaWG77FlbeneRVn-gA@speakeasy.net>
Bill Atkins wrote:
>  - If you're using swank and SLIME, you can connect to your running
> application and make changes.  This is useful for testing out specific
> customer issues or for taking a look at your running system for
> debugging purposes.

ok,  I am playing toying with dynamic web pages and lisp,  but I
haven't figured out how to do what you describe; my current set up
uses detachtty to run lisp as a daemon talking to mod_lisp2);  sorry
for asking such a dumb question,  but it would be neat to hook up
emacs to the running app,  I just don't know how to do it...  any
'HOWTO' out there?

--Sylvain
From: Bill Atkins
Subject: Re: Why Lisp for web applications?
Date: 
Message-ID: <1131737515.501498.89170@g43g2000cwa.googlegroups.com>
Marco Barringer's SLIME video is a good tutorial on this:

http://common-lisp.net/movies/slime.mov
http://common-lisp.net/movies/slime.torrent
From: R. Mattes
Subject: Re: Why Lisp for web applications?
Date: 
Message-ID: <pan.2005.11.11.21.30.37.556786@mh-freiburg.de>
On Fri, 11 Nov 2005 11:29:18 -0800, Sylvain wrote:

> Bill Atkins wrote:
>>  - If you're using swank and SLIME, you can connect to your running
>> application and make changes.  This is useful for testing out specific
>> customer issues or for taking a look at your running system for
>> debugging purposes.
> 
> ok,  I am playing toying with dynamic web pages and lisp,  but I
> haven't figured out how to do what you describe; my current set up
> uses detachtty to run lisp as a daemon talking to mod_lisp2);  sorry
> for asking such a dumb question,  but it would be neat to hook up
> emacs to the running app,  I just don't know how to do it...  any
> 'HOWTO' out there?

Here's a rather short step-by-step guide:

$ sbcl
;; make slime known to asdf
(pushnew  #p"/path/to/slime/" asdf:*central-registry* :test #'equal)

;; Load slime
;; Note: slime' Common Lisp side is called swank
(asdf:oos 'asdf:load-op :swank)

;; Start a server 
(swank:create-server :port 4005 :external-format :utf-8-unix)
;; Swank started at port: 4005.
; Adding fd handler: 7 

 4005

On the emacs side:
Load slime and then do 'M-x slime-connect'
Press enter when prompted for the host and port (assuming that the port
number is correct).

HTH Ralf Mattes
  

> --Sylvain
From: Sylvain
Subject: Re: Why Lisp for web applications?
Date: 
Message-ID: <-4udnYJMPavqkureRVn-pg@speakeasy.net>
R. Mattes wrote:
>>emacs to the running app,  I just don't know how to do it...  any
>>'HOWTO' out there?
> 
> Here's a rather short step-by-step guide:

hey! it works! it is so cool :-)

(the only thing is that I had to use :iso-latin-1-unix for
the external format argument)

thanks,

--Sylvain
From: Petter Gustad
Subject: Re: Why Lisp for web applications?
Date: 
Message-ID: <87mzkbrmlu.fsf@parish.home.gustad.com>
"Bill Atkins" <·········@gmail.com> writes:

> Hope that helps.  If I've made any invalid claims, please let me know.

I'll second your claims.

Connecting to you running web application using SLIME, inspect some
data, recompile a function, etc. 

I've find the combination CMUCL, Portable Allegroserve, Webactions,
and SLIME to be very productive.

Petter

-- 
A: Because it messes up the order in which people normally read text.
Q: Why is top-posting such a bad thing?
A: Top-posting.
Q: What is the most annoying thing on usenet and in e-mail?
From: Sam Steingold
Subject: Re: Why Lisp for web applications?
Date: 
Message-ID: <u64qzoumw.fsf@gnu.org>
> * Adam Connor <·····@nhfgva.ee.pbz> [2005-11-11 11:11:13 -0800]:
>
> Where I work, we use an in-house scripting language for web
> applications. It is possible that we will consider moving to something
> else. My boss, who knows I admire Lisp, asked me today, "Can you make
> a case for Lisp?" I'm sure that on her mind was "Why Lisp over Ruby?
> Why Lisp over PHP?" Not having done more than played with Lisp (and
> only a bit on the web), I thought it might pay to ask some real
> practicioners.  What are the compelling advantages of Lisp, and do
> they apply to web scripting?

computer programming is a general-purpose activity.  one should not use
a domain-specific language for each domain but rather a general-purpose
language with domain-specific extensions as necessary.

Lisp is the best general-purpose language out there as explained in
http://www.podval.org/~sds/tool.html and many other places (see links in
the above paper).

-- 
Sam Steingold (http://www.podval.org/~sds) running w2k
http://www.memri.org/ http://www.dhimmi.com/ http://www.camera.org
http://www.iris.org.il http://www.savegushkatif.org http://www.jihadwatch.org/
(let((a'(list'let(list(list'a(list'quote a)))a)))`(let((a(quote ,a))),a))
From: Adam Connor
Subject: Re: Why Lisp for web applications?
Date: 
Message-ID: <1131738157.563306.184390@g47g2000cwa.googlegroups.com>
Alas, that case won't get us very far. We have big investments in
programs running on an IBM mainframe, and I don't see Lisp competing
there... so it's largely the web side that is at issue. We're not
writing applications for the PC or Unix, for example.

So... I don't think "general purpose" arguments will be very compelling
to the intended audience.
From: Petter Gustad
Subject: Re: Why Lisp for web applications?
Date: 
Message-ID: <87br0rrlgi.fsf@parish.home.gustad.com>
"Adam Connor" <·····@austin.rr.com> writes:

> Alas, that case won't get us very far. We have big investments in
> programs running on an IBM mainframe, and I don't see Lisp competing
> there... so it's largely the web side that is at issue. We're not
> writing applications for the PC or Unix, for example.

I don't know any Common Lisp for IBM/MVS but I think it has been
discussed here before.

Petter
-- 
A: Because it messes up the order in which people normally read text.
Q: Why is top-posting such a bad thing?
A: Top-posting.
Q: What is the most annoying thing on usenet and in e-mail?
From: John Thingstad
Subject: Re: Why Lisp for web applications?
Date: 
Message-ID: <op.sz3hsx1gpqzri1@mjolner.upc.no>
On Fri, 11 Nov 2005 21:14:21 +0100, Petter Gustad  
<·············@gustad.com> wrote:

> "Adam Connor" <·····@austin.rr.com> writes:
>
>> Alas, that case won't get us very far. We have big investments in
>> programs running on an IBM mainframe, and I don't see Lisp competing
>> there... so it's largely the web side that is at issue. We're not
>> writing applications for the PC or Unix, for example.
>
> I don't know any Common Lisp for IBM/MVS but I think it has been
> discussed here before.
>
> Petter

so it has:
http://groups.google.com/group/comp.lang.lisp/browse_thread/thread/68140f348b072cf9/17a3f0d18dbe40ee%2317a3f0d18dbe40ee?sa=X&oi=groupsr&start=0&num=3
-- 
Using Opera's revolutionary e-mail client: http://www.opera.com/mail/
From: Adam Connor
Subject: Re: Why Lisp for web applications?
Date: 
Message-ID: <k2hen1da9oeppnq3pna9jg13o2t4m1m06q@4ax.com>
On Fri, 11 Nov 2005 22:25:35 +0100, "John Thingstad"
<··············@chello.no> wrote:

>so it has:
>http://groups.google.com/group/comp.lang.lisp/browse_thread/thread/68140f348b072cf9/17a3f0d18dbe40ee%2317a3f0d18dbe40ee?sa=X&oi=groupsr&start=0&num=3

Wow, that was from 1991... not too current. Perhaps fortunately, we
aren't particularly looking to run Lisp on the mainframe.
--
adamnospamaustin.rr.com
s/nospam/c\./
From: John Thingstad
Subject: Re: Why Lisp for web applications?
Date: 
Message-ID: <op.sz3dkr1gpqzri1@mjolner.upc.no>
On Fri, 11 Nov 2005 20:11:13 +0100, Adam Connor <·····@austin.rr.com>  
wrote:

> Where I work, we use an in-house scripting language for web
> applications. It is possible that we will consider moving to something
> else. My boss, who knows I admire Lisp, asked me today, "Can you make a
> case for Lisp?" I'm sure that on her mind was "Why Lisp over Ruby? Why
> Lisp over PHP?" Not having done more than played with Lisp (and only a
> bit on the web), I thought it might pay to ask some real practicioners.
> What are the compelling advantages of Lisp, and do they apply to web
> scripting?
>
> Thanks in advance.
>

Well yes you can program web applications in Lisp.
Problem is you leave us clueless about what exactly
you want it for. Surely the applicable question is
how is it usefull for you.
Say Allegro CL has excellent web programming support
but cost's one to several thousand dollars. Is that
unacceptable? Depends on what you want to do.
There are also free lisp's and libraries to go with them.
They might do the job just fine.

Here are a few questions:
Do you need a lisp HTTP server or would you rather connect to a existing  
server?
Is all you want to connect to a DB and grind HTML or are you running  
extensive server side applications?
What kind of money are you willing to spend?

If you give you a better idea of what you want to use it for
it will be easier to give a satisfactory answer.

-- 
Using Opera's revolutionary e-mail client: http://www.opera.com/mail/
From: Adam Connor
Subject: Re: Why Lisp for web applications?
Date: 
Message-ID: <7nkan152f1mr0dja5igomehbf5b6g7jl9u@4ax.com>
On Fri, 11 Nov 2005 20:54:17 +0100, "John Thingstad"
<··············@chello.no> wrote:

>Well yes you can program web applications in Lisp.
>Problem is you leave us clueless about what exactly
>you want it for. Surely the applicable question is
>how is it usefull for you.
...
>Here are a few questions:
>Do you need a lisp HTTP server or would you rather connect to a existing  
>server?
Connect to an existing server, probably.
>Is all you want to connect to a DB and grind HTML or are you running  
>extensive server side applications?
Depends what you mean by "extensive server side applications",
perhaps, but most of what we do front-ends database stuff. (That's
true in most shops, I think.)

>What kind of money are you willing to spend?
Since I'm not the one spending it, I can't say. But money is always
tight. I work for a University. ;-)
>If you give you a better idea of what you want to use it for
>it will be easier to give a satisfactory answer.
Fair enough. One of the reasons I ask is that Lisp's strengths in AI,
etc. don't seem likely to be directly applicable. Our applications are
only infrequently algorithmically complex. However, features that
would help with rapid development and frequently changing business
rules would have value.

Thanks for all the responses so far.
--
adamnospamaustin.rr.com
s/nospam/c\./
From: Petter Gustad
Subject: Re: Why Lisp for web applications?
Date: 
Message-ID: <87ek5nrlsb.fsf@parish.home.gustad.com>
"Adam Connor" <·····@austin.rr.com> writes:

> What are the compelling advantages of Lisp, and do they apply to web
> scripting?

I would suggest reading "Common Lisp for Service Oriented Architecture
Programs"

http://www.franz.com/resources/educational_resources/white_papers/CL_for_SOA.pdf

and Paul Graham's Hackers & Painters, or extracts (not literal) from
his book at:

http://www.paulgraham.com/avg.html

Petter
-- 
A: Because it messes up the order in which people normally read text.
Q: Why is top-posting such a bad thing?
A: Top-posting.
Q: What is the most annoying thing on usenet and in e-mail?
From: Adam Connor
Subject: Re: Why Lisp for web applications?
Date: 
Message-ID: <p5hen1pkmjqd9ad0mk6k4vvekdrpji66p8@4ax.com>
On 11 Nov 2005 21:07:16 +0100, Petter Gustad
<·············@gustad.com> wrote:

>"Adam Connor" <·····@austin.rr.com> writes:
>
>> What are the compelling advantages of Lisp, and do they apply to web
>> scripting?
>
>I would suggest reading "Common Lisp for Service Oriented Architecture
>Programs"
>
>http://www.franz.com/resources/educational_resources/white_papers/CL_for_SOA.pdf
>
>and Paul Graham's Hackers & Painters, or extracts (not literal) from
>his book at:
>
>http://www.paulgraham.com/avg.html


Thanks. As it happens, I'd already read both. As with many new to
Lisp, Paul Graham had a lot to do with getting me interested enough to
check it out.

While I enjoy most of Graham's essays, I'm not sure how useful they
will be for selling Lisp in an IT shop. For that matter, Graham's
advice seems to be "start you own business!".

Playing devil's advocate a bit to try to see both sides...
I asked a colleague who is a big Ruby fan what he thought would be the
advantage of Ruby over Lisp, and he said (paraphrased):
  * Ruby is a single language.
  * The Ruby community seems more friendly.
  *  Getting training materials is easier/cheaper.
  * Ruby has a shallower learning curve.

Am not sure I agree with the last point, but the first three seem true
to me. I would add:
  * Ruby development doesn't semi-require Emacs, which is funky and
will likely be a tough sell to my audience.

On the Lisp side:
  * There doesn't seem to an editor that is as productive as Slime +
Emacs
  * Lisp has macros. (I waffle about whether this is an advantage for
my audience -- I like the power of macros, but I'm not sure how much
we really need them for web apps.)

As far as things like changing your app "on the fly" -- in Ruby, you
just put up a new script on the server. For most CGI CRUD
applications, that's sufficiently easy. Lisp has great debugging
features, though.
--
adamnospamaustin.rr.com
s/nospam/c\./
From: Ulrich Hobelmann
Subject: Re: Why Lisp for web applications?
Date: 
Message-ID: <3tp100FtosbuU1@individual.net>
Adam Connor wrote:
> While I enjoy most of Graham's essays, I'm not sure how useful they
> will be for selling Lisp in an IT shop. For that matter, Graham's
> advice seems to be "start you own business!".

Well, basically, if you're happy with the state of the art and with 
advancing it, find a job.  If you aren't happy with the state of the 
art, you'll have to do things yourself, differently.

My impression is that most people working with Lisp (for money) are 
self-employed.  The problem might be that you have to sell yourself and 
the why-Lisp factor, because your clients might ask for Java.

-- 
The road to hell is paved with good intentions.
From: Paul F. Dietz
Subject: Re: Why Lisp for web applications?
Date: 
Message-ID: <k4GdnR59AY_gw-reRVn-qQ@dls.net>
Ulrich Hobelmann wrote:

> My impression is that most people working with Lisp (for money) are 
> self-employed.

Not all of us!

	Paul
From: verec
Subject: Re: Why Lisp for web applications?
Date: 
Message-ID: <437769d8$0$38041$5a6aecb4@news.aaisp.net.uk>
On 2005-11-13 14:06:03 +0000, Adam Connor <···@nospam.com> said:

> While I enjoy most of Graham's essays, I'm not sure how useful they
> will be for selling Lisp in an IT shop. For that matter, Graham's
> advice seems to be "start you own business!".

What's wrong with that?

If you are more productive with your own tooling and can outdo
most of your competitors any day, why not starting talking to
actual customers who have real needs, as opposed to management
whose only game is internal politics?

Being on your own might seem frigthening at first, but you'll get
used to it :-)
-- 
JFB  ()
From: Adam Connor
Subject: Re: Why Lisp for web applications?
Date: 
Message-ID: <h6din1tnv8r8n5it2lcn9ie4mbcqdqfiu8@4ax.com>
On Sun, 13 Nov 2005 16:29:11 +0000, verec <·····@mac.com> wrote:

>On 2005-11-13 14:06:03 +0000, Adam Connor <···@nospam.com> said:
>
>> While I enjoy most of Graham's essays, I'm not sure how useful they
>> will be for selling Lisp in an IT shop. For that matter, Graham's
>> advice seems to be "start you own business!".
>
>What's wrong with that?
>
>If you are more productive with your own tooling and can outdo
>most of your competitors any day, why not starting talking to
>actual customers who have real needs, as opposed to management
>whose only game is internal politics?
>
>Being on your own might seem frigthening at first, but you'll get
>used to it :-)

What's wrong with it is that it doesn't address my immediate project,
which is extolling the virtues of Lisp to management.

--
adamnospamaustin.rr.com
s/nospam/c\./
From: drewc
Subject: Re: Why Lisp for web applications?
Date: 
Message-ID: <Dcuef.512767$1i.375434@pd7tw2no>
Adam Connor wrote:

> As far as things like changing your app "on the fly" -- in Ruby, you
> just put up a new script on the server. For most CGI CRUD
> applications, that's sufficiently easy. Lisp has great debugging
> features, though.

The debugging is the key for me. With the CGI-type languages ( I have 
_never_ done CGI in lisp ... CGI is over for me), you get a bug report 
from the user, you try to recreate it based on their information, and 
pull your hair out :). With CL, a typical bugreport/fix/deploy session 
looks something like this :

<sound of drew's cell phone ringing>

drewc : Drew Crampsie speaking.
client : Hey drew, i was able to find that bug again.
drewc : Sweet! are you looking at the error page now?
client : Yes, i left it just as it was as per your instructions.
drewc : good client! Gimme a second.

  <sound of keyboard working, pan to CRT showing emacs + slime. drewc 
types "M-x slime-connect RET 4007 RET" "(setf (debug-on-error 
*client-application* t))">

drewc : Ok, could you just hit reload.
client : ok ... this time it just keeps trying to load the page .. it 
says 'waiting...' but nothing is happening.

<show CRT again, this time with debugger which has just popped up.>

drewc : yeah, that's just me in the debugger. I see the problem! hold on...

<drew opens a .lisp file in emacs, finds the function, fixes the error 
(forget to test for nil.. doe-head), types C-c C-c, C-x b to get back 
the to debugger, and hits the '1' restart (retry)>

client : Hey .. there it goes, everything seems alright here.
drewc : Cool! good catch .. if you ever see it again, give me a call 
immediatly.

<drew types 'darcs record', and goes off for a beer, secure in the 
knowlege that he has happy clients who need not be able to properly 
report bugs>



-- 
Drew Crampsie
drewc at tech dot coop
  "... the most advanced use of lisp in the field of bass lure sales"
	-- Xach on #lisp
From: BR
Subject: Re: Why Lisp for web applications?
Date: 
Message-ID: <pan.2005.11.16.00.04.24.250490@comcast.net>
On Tue, 15 Nov 2005 23:30:43 +0000, drewc wrote:

> Adam Connor wrote:
> 
>> As far as things like changing your app "on the fly" -- in Ruby, you
>> just put up a new script on the server. For most CGI CRUD applications,
>> that's sufficiently easy. Lisp has great debugging features, though.
> 
> The debugging is the key for me. With the CGI-type languages ( I have
> _never_ done CGI in lisp ... CGI is over for me), you get a bug report
> from the user, you try to recreate it based on their information, and
> pull your hair out :). With CL, a typical bugreport/fix/deploy session
> looks something like this :
> 
> <sound of drew's cell phone ringing>
> 
> drewc : Drew Crampsie speaking.
> client : Hey drew, i was able to find that bug again. drewc : Sweet! are
> you looking at the error page now? client : Yes, i left it just as it
> was as per your instructions. drewc : good client! Gimme a second.
> 
>   <sound of keyboard working, pan to CRT showing emacs + slime. drewc
> types "M-x slime-connect RET 4007 RET" "(setf (debug-on-error
> *client-application* t))">
> 
> drewc : Ok, could you just hit reload. client : ok ... this time it just
> keeps trying to load the page .. it says 'waiting...' but nothing is
> happening.
> 
> <show CRT again, this time with debugger which has just popped up.>
> 
> drewc : yeah, that's just me in the debugger. I see the problem! hold
> on...
> 
> <drew opens a .lisp file in emacs, finds the function, fixes the error
> (forget to test for nil.. doe-head), types C-c C-c, C-x b to get back
> the to debugger, and hits the '1' restart (retry)>
> 
> client : Hey .. there it goes, everything seems alright here. drewc :
> Cool! good catch .. if you ever see it again, give me a call immediatly.
> 
> <drew types 'darcs record', and goes off for a beer, secure in the
> knowlege that he has happy clients who need not be able to properly
> report bugs>

*sigh* If only all our jobs were that easy.
From: Kenny Tilton
Subject: Re: Why Lisp for web applications?
Date: 
Message-ID: <wNAef.29402$u43.15552@twister.nyc.rr.com>
BR wrote:

>><drew types 'darcs record', and goes off for a beer, secure in the
>>knowlege that he has happy clients who need not be able to properly
>>report bugs>
> 
> 
> *sigh* If only all our jobs were that easy.

I offer training in "goes off for a beer" if that would help.

-- 
Kenny

Why Lisp? http://wiki.alu.org/RtL_Highlight_Film

"I've wrestled with reality for 35 years, Doctor, and I'm happy to state 
I finally won out over it."
     Elwood P. Dowd, "Harvey", 1950
From: Peter Seibel
Subject: Re: Why Lisp for web applications?
Date: 
Message-ID: <m27jbeyebm.fsf@gigamonkeys.com>
"Adam Connor" <·····@austin.rr.com> writes:

> Where I work, we use an in-house scripting language for web
> applications. It is possible that we will consider moving to something
> else. My boss, who knows I admire Lisp, asked me today, "Can you make a
> case for Lisp?" I'm sure that on her mind was "Why Lisp over Ruby? Why
> Lisp over PHP?" Not having done more than played with Lisp (and only a
> bit on the web), I thought it might pay to ask some real practicioners.
> What are the compelling advantages of Lisp, and do they apply to web
> scripting?

One starting point, if I may say so myself, might be to read these
chapters from my book:

  <http://www.gigamonkeys.com/book/practical-web-programming-with-allegroserve.html>
  <http://www.gigamonkeys.com/book/practical-an-mp3-database.html>

That'll really just be food for thought but maybe it'll give you some ideas.

-Peter

-- 
Peter Seibel           * ·····@gigamonkeys.com
Gigamonkeys Consulting * http://www.gigamonkeys.com/
Practical Common Lisp  * http://www.gigamonkeys.com/book/
From: drewc
Subject: Re: Why Lisp for web applications?
Date: 
Message-ID: <b1cdf.481815$oW2.433256@pd7tw1no>
Adam Connor wrote:
> Where I work, we use an in-house scripting language for web
> applications. It is possible that we will consider moving to something
> else. My boss, who knows I admire Lisp, asked me today, "Can you make a
> case for Lisp?" I'm sure that on her mind was "Why Lisp over Ruby? Why
> Lisp over PHP?" Not having done more than played with Lisp (and only a
> bit on the web), I thought it might pay to ask some real practicioners.
> What are the compelling advantages of Lisp, and do they apply to web
> scripting?

I make my living doing primarily lisp web apps, and couldn't imagine 
using a 'scripting language' for web tasks anymore.

The technical advantages lisp brings to the table are numerous :

  - Image based development and remote debugging. Often, when a client 
discovers an error, i hook up slime to the remote image, the debugger 
pops up, and i can debug the error, and often fix it, while on the phone 
with the user. Having the enitire app contained in one image, rather 
than a series of source files that are interpreted, has many advanteges 
for development, debugging, and deployment.

  - DSL's for web development. I use UncommonWeb, which provides a CPS 
framework, and YACLML for generating HTML (and it's TAL template 
mechanism for working with those pesky designers). When using UCW i 
never worry about CGI POST parameters and all the usual web dev stuff, 
but focus on the application itself, assigning INPUTS to slots and 
letting ucw work magic. I could not imagine doing web development 
without continuations, and ucw's "component" model. Plus, i have my own 
framework, Lisp-on-Lines, which allows me to build CRUD type web apps 
really quickly.

- (compiled) Lisp is faster than scripting languages.

- I use a lisp-based webserver for most of my work as well (araneida), 
which means i don't need to deploy apache, I like this a lot.

- Macros, HOF, and code-as-data. For any type of development, these 
things are a boon. For Web development, a necessity. Web development is 
really a pain. Macro's can abstract out all the silly details so you can 
focus on the code.

- CLOS. Using some nifty CLOS method combinations and some lexical magic 
i was able to turn a 'normal' web component into an AJAX based one with 
only one line of code changed (change the href into an onclick). Lisp is 
able to absorb new paradigms as soon as they come up. In the fast paced 
world of web development, i wouldn't want to live without that ability.

- Parenscript and clsql. Parenscript is a sexp syntax for javascript, 
and clsql is an sql library with and o-r mapping and a sexp syntax for 
queries. Web dev is a mess of different langauges (html, xml, 
javascript, sql, css etc). By using these lisp based tools, i have a 
consitent syntax, and can use the same toolchain for every language i 
work in. Macros that generate javascript and html are almost as cool as 
macros that generate lisp code.

- It's lisp. The whole development model screams "i'm productive". I get 
more work done, in less time, with better results, and i am never 
fighting the language. This alone is worth the effort required to become 
one with lisp :)


> Thanks in advance. 

hth.
-- 
Drew Crampsie
drewc at tech dot coop
  "... the most advanced use of lisp in the field of bass lure sales"
	-- Xach on #lisp
From: Aurélien Campéas
Subject: Re: Why Lisp for web applications?
Date: 
Message-ID: <4375de52$0$22307$636a15ce@news.free.fr>
drewc a �crit :
> Adam Connor wrote:
> 
>> Where I work, we use an in-house scripting language for web
>> applications. It is possible that we will consider moving to something
>> else. My boss, who knows I admire Lisp, asked me today, "Can you make a
>> case for Lisp?" I'm sure that on her mind was "Why Lisp over Ruby? Why
>> Lisp over PHP?" Not having done more than played with Lisp (and only a
>> bit on the web), I thought it might pay to ask some real practicioners.
>> What are the compelling advantages of Lisp, and do they apply to web
>> scripting?
> 
> 
> I make my living doing primarily lisp web apps, and couldn't imagine 
> using a 'scripting language' for web tasks anymore.
> 
> The technical advantages lisp brings to the table are numerous :
> 
>  - Image based development and remote debugging. Often, when a client 
> discovers an error, i hook up slime to the remote image, the debugger 
> pops up, and i can debug the error, and often fix it, while on the phone 
> with the user. Having the enitire app contained in one image, rather 
> than a series of source files that are interpreted, has many advanteges 
> for development, debugging, and deployment.

But you also put the fix, and also some test for it, in a repository 
afterwards, don't you ?

> 
>  - DSL's for web development. I use UncommonWeb, which provides a CPS 
> framework, and YACLML for generating HTML (and it's TAL template 
> mechanism for working with those pesky designers). When using UCW i 
> never worry about CGI POST parameters and all the usual web dev stuff, 
> but focus on the application itself, assigning INPUTS to slots and 
> letting ucw work magic. I could not imagine doing web development 
> without continuations, and ucw's "component" model. Plus, i have my own 
> framework, Lisp-on-Lines, which allows me to build CRUD type web apps 
> really quickly.
> 
> - (compiled) Lisp is faster than scripting languages.
> 
> - I use a lisp-based webserver for most of my work as well (araneida), 
> which means i don't need to deploy apache, I like this a lot.
> 
> - Macros, HOF, and code-as-data. For any type of development, these 
> things are a boon. For Web development, a necessity. Web development is 
> really a pain. Macro's can abstract out all the silly details so you can 
> focus on the code.
> 
> - CLOS. Using some nifty CLOS method combinations and some lexical magic 
> i was able to turn a 'normal' web component into an AJAX based one with 
> only one line of code changed (change the href into an onclick). Lisp is 
> able to absorb new paradigms as soon as they come up. In the fast paced 
> world of web development, i wouldn't want to live without that ability.
> 
> - Parenscript and clsql. Parenscript is a sexp syntax for javascript, 

This is really Klammerscript, isn't it ?

> and clsql is an sql library with and o-r mapping and a sexp syntax for 
> queries. Web dev is a mess of different langauges (html, xml, 
> javascript, sql, css etc). By using these lisp based tools, i have a 
> consitent syntax, and can use the same toolchain for every language i 
> work in. Macros that generate javascript and html are almost as cool as 
> macros that generate lisp code.
> 
> - It's lisp. The whole development model screams "i'm productive". I get 
> more work done, in less time, with better results, and i am never 
> fighting the language. This alone is worth the effort required to become 
> one with lisp :)
> 
> 
>> Thanks in advance. 
> 
> 
> hth.
From: drewc
Subject: Re: Why Lisp for web applications?
Date: 
Message-ID: <i4tdf.486706$oW2.427337@pd7tw1no>
Aur�lien Camp�as wrote:
> drewc a �crit :
> 
>> Adam Connor wrote:

>>  - Image based development and remote debugging. Often, when a client 
>> discovers an error, i hook up slime to the remote image, the debugger 
>> pops up, and i can debug the error, and often fix it, while on the 
>> phone with the user. Having the enitire app contained in one image, 
>> rather than a series of source files that are interpreted, has many 
>> advanteges for development, debugging, and deployment.
> 
> 
> But you also put the fix, and also some test for it, in a repository 
> afterwards, don't you ?

Of course, darcs, but i don't see how that is relevant. The OP was 
asking for advantages when using lisp, not if i use version control.

>> - Parenscript and clsql. Parenscript is a sexp syntax for javascript, 
> 
> 
> This is really Klammerscript, isn't it ?

Nope. I use a fork that happened before the name change, or simply 
ignored it.  (http://common-lisp.net/project/ucw/repos/parenscript).

What does all this have to do with the price of tea in china?

drewc



-- 
Drew Crampsie
drewc at tech dot coop
  "... the most advanced use of lisp in the field of bass lure sales"
	-- Xach on #lisp
From: Wade Humeniuk
Subject: Re: Why Lisp for web applications?
Date: 
Message-ID: <z1cdf.102246$S4.26367@edtnps84>
Adam Connor wrote:
> Where I work, we use an in-house scripting language for web
> applications. It is possible that we will consider moving to something
> else. My boss, who knows I admire Lisp, asked me today, "Can you make a
> case for Lisp?" I'm sure that on her mind was "Why Lisp over Ruby? Why
> Lisp over PHP?" Not having done more than played with Lisp (and only a
> bit on the web), I thought it might pay to ask some real practicioners.
> What are the compelling advantages of Lisp, and do they apply to web
> scripting?
> 

I would not assume what is on her mind.  Talk to her, ask her why she is
asking.

Things to think about and I think should be clarified ...

-  Why are you considering moving to something else for web scripting?
(whatever that means, I think you mean server side computed pages).
What is wrong with the way you are doing it now?

-  Your boss may be asking you because you are the most productive,
reliable in the group.  Since she knows you like Lisp she may
take it as an indication that smart equates to liking/using Lisp.

-  Why do you admire Lisp when you have only played with it a bit?
It seems kind of odd.

-  What are your criteria for judging Lisp to be better than XXX??
You are going to have to make them explicit as possible.

---------------------------

To make the case for Lisp ...

There is really only one way, you are going to have to use Lisp
enough to make the case.  I would suggest reimplementing something
you already have in some other language (preferably one you are
experienced in).  It will be work for you, but that is the way of
the world.  Sometimes you just have to work hard.  By actually
doing something concrete in Lisp you will either make some statements
from an authoritative first-hand position, or learn that Lisp
is not enough of a benefit to use it instead.

If you want help with re-implementing something you could
post the "script" you want written in Lisp, and see what the
response will be.

-------------------------

Even with knowledge and a working obviously superior example you
still might not be able to make the case.  The cloud of mis-information
that exists today can paralyze just about anyone.

Wade