From: Daniel Jomphe
Subject: What is the barrier to entry into modern lisp applicative 	programming?
Date: 
Message-ID: <7bb3cc62-e9c5-40b5-a3db-8cb1f225996c@e60g2000hsh.googlegroups.com>
I would like to know what is the barrier to entry regarding learning
and using lisp to develop web or desktop applications, both with their
respective definition of a rich GUI.  How hard would it be, and how
faster/slower would it be than, say, learning and using python?

My background

I got out of school in 2001, not even knowing what was functional
programming, although I had learned to use some basic functional
techniques that imperative languages borrowed, like recursion.  Since
then, my belief of what is the best language in the world evolved from
C++ to C#, then python, ruby and finally since 2005, lisp.

Since 2003, I started wondering what language would be the best to
use, knowing it would certainly not be C# or Java.  I've got a few
ideas of web projects and desktop projects, and we're now in 2008, but
even with all the hundreds of hours I spent reading blog and forum
posts, I still don't know.  One would tell me I should instead have
spent all this time trying lisp and python myself, and that would most
probably be right.  But I didn't, and here I come to ask your
opinions.

So lets assume our programmer can quickly and easily learn new
programming languages and techniques, and has already read and
understood most parts of the best lisp book and the best python book,
but has no experience using them yet.

Some precisions

1.  On web applications.  I'm not much used to web applications, but I
suppose these elements, at least, should be supported/integrated:
databases, strings and regexes, ajaxy interfaces, customizable
presentation by users (html layout, css, etc.), open api, and eventual
scaling à la MapReduce.  Probably what's needed for most modern web
applications, you know.  I'm speaking of something that could compete
with, say, blog or forum applications, yes, I believe these are proper
examples in terms of technical features.

2.  On desktop applications.  I'm more used here.  These should be
easily deployable/installable, automatically updatable, and support
very, very well string processing with and without regexes, text
editing, and at least basic important integration with OSs like drag
and drop support, for example.  Hopefully, they should look and behave
as good as native applications.

Now, I believe I would be more happy using lisp than python.  Sexps
and macros appeal a lot to me, along with what they allow.  And I
don't mind that much parens.  I suppose when I'll be experienced
enough, I'll build myself all sorts of shortcuts using macros.  I've
been waiting for Arc for a few years, but it's evident it's not ready
yet.  I'm also watching closely QI, since it can use and do whatever
CL can.  But mentioning these elements is probably going too fast,
regarding the answers I need for my question.

So, again,

('compare ('barrier-to-entry ('learn-use-lisp-for ('web 'desktop)
                 ('barrier-to-entry ('learn-use-python-for ('web
'desktop))))

If you have experience with both python and lisp, please mention it in
your answer.

From: Ken Tilton
Subject: Re: What is the barrier to entry into modern lisp applicative  programming?
Date: 
Message-ID: <47cf7ec4$0$25051$607ed4bc@cv.net>
Daniel Jomphe wrote:
> I would like to know what is the barrier to entry regarding learning
> and using lisp to develop web or desktop applications, both with their
> respective definition of a rich GUI.  How hard would it be, and how
> faster/slower would it be than, say, learning and using python?

Ruby is not in the mix? It splits the difference between Lisp and Python 
curing some of Python's problems.

In your long post you showed me a confusion of analysis which I think 
will cripple your investigation: you started asking about languages, 
then specified a bunch of must-haves one gets from libraries.

It seems you know Lisp will take you further, but I wager Python or Ruby 
might still have a lead in goodies off the shelf. The latter is 
improving all the time and will have a non-linear effect as more people 
adopt Lisp and produce more goodies because there are more goodies, but 
then the timeframe is an issue. Sounds like you are proceeding at a 
leisurely pace anyway, so the balance might tip to Lisp.

I think it does anyway because Python and Lisp simply are not 
comparable, but that derives from my personal appreciation of the two 
languages.

Oh, yeah, I spent an intense several weeks porting a meta-level library 
from Lisp to Python that took me right to the heart of the language. 
That actually gave Python a break because I was just focused on a task 
and not writing hundreds and hundreds of lines of code. I like Lisp.

kenny

-- 
http://smuglispweeny.blogspot.com/
http://www.theoryyalgebra.com/

"In the morning, hear the Way;
  in the evening, die content!"
                     -- Confucius
From: Daniel Jomphe
Subject: Re: What is the barrier to entry into modern lisp applicative 	programming?
Date: 
Message-ID: <5ad363dd-6c39-4fd7-a2d6-6e714b782431@2g2000hsn.googlegroups.com>
Ken Tilton wrote:
> Ruby is not in the mix? It splits the difference between Lisp and Python
> curing some of Python's problems.

I recently read Ruby really wasn't as mature and stable as we're led
to believe.  If that proves wrong, I'll happily revert to preferring
Ruby over Python.  Plus, I'd love to read the poignant guide to Ruby.

> In your long post you showed me a confusion of analysis which I think
> will cripple your investigation: you started asking about languages,
> then specified a bunch of must-haves one gets from libraries.

I've never been good at writing short posts.  It's good you didn't see
my first draft!

My question was probably not laid well enough.  If all languages had
equal libraries, then choosing a language would be way easier.  I'm
really interested in knowing the barrier to entry into learning (and
discovering) and using Lisp + the libraries needed to develop either
web or desktop apps.

I know that Python and Ruby come with all the standard and up-to-date
goodness; as for Lisp, I know you guys use some commonly popular third-
party packages.  I'm open to use them like you do, but I read so much
stuff about how CL is a mess library-wise and dependency-wise that I
thought the fastest way to know if that's exaggerated or not would be
to ask you.  I'm prone to analysis-paralysis so I'd better stick to
what you guys use, if it's not overkill for a newbie.

This post has been useful to let me know what you guys use
http://groups.google.com/group/comp.lang.lisp/browse_frm/thread/055c19be3abbbc5d

If you'd tell me it should only take me a few days to find and
integrate, say, the 6 libraries I'd need to do what I want, then
fine.  But if you tell me I'll spend weeks searching and learning how
to make them all work together, I might decide the platform is not
ready enough for me to use it.

> ... Sounds like you are proceeding at a
> leisurely pace anyway, so the balance might tip to Lisp.

You're right, analysis paralysis kept me at a leisurely pace.  If I
can finally take a decision, it should change, especially if and when
I quit my day job to push forward my project.

I work much faster when I'm convinced I'm using the best tools.  If
I'm not, I'm always driven to read on what would be better.  I'm tired
of this dynamic that makes me unproductive because I don't use the
tools I would like to use.  I suspect I will sanction my blessed
language in the next few weeks/months.  It would be hard for me to
accept rejecting Lisp for anything else, including Ruby and Python, so
I really hope Lisp's barrier to entry can be somehow compared to that
of Ruby or Python.

> That actually gave Python a break because I was just focused on a task
> and not writing hundreds and hundreds of lines of code. I like Lisp.

I don't understand this sentence.  Implementing Cells in Python was so
hard that you weren't productive enough?  (Sorry, English isn't my
native language.)

By the way, I'm subscribed to your blog and might probably use Cells
if I choose Lisp.  It sounds incredibly interesting.  Cheers!

Oh, and I forgot to open my question to one important aspect: If
Lisp's barrier to entry is much greater than Ruby's or Python's,
meaning it would be much longer for me to develop my first
application, when should it revert, with experience, to making me more
productive with Lisp than the others?  Is it usually on the order of
months or years?
From: Ken Tilton
Subject: Re: What is the barrier to entry into modern lisp applicative  programming?
Date: 
Message-ID: <47cf98e8$0$25058$607ed4bc@cv.net>
Daniel Jomphe wrote:
> Ken Tilton wrote:
> 
>>Ruby is not in the mix? It splits the difference between Lisp and Python
>>curing some of Python's problems.
> 
> 
> I recently read Ruby really wasn't as mature and stable as we're led
> to believe.

Oh, OK, haven't heard that, can't help.


> I've never been good at writing short posts.  It's good you didn't see
> my first draft!

If you are calling what you did post short, I'm glad, too.

> I know that Python and Ruby come with all the standard and up-to-date
> goodness; as for Lisp, I know you guys use some commonly popular third-
> party packages.  I'm open to use them like you do, but I read so much
> stuff about how CL is a mess library-wise and dependency-wise that I
> thought the fastest way to know if that's exaggerated or not would be
> to ask you.

If you are using Edi's stuff you will be OK, if you are using Kenny's 
stuff you will not be seen again alive.

> If you'd tell me it should only take me a few days to find and
> integrate, say, the 6 libraries I'd need to do what I want, then
> fine.  But if you tell me I'll spend weeks searching and learning how
> to make them all work together, I might decide the platform is not
> ready enough for me to use it.

Stay away from my stuff. The best noobs who assault Mount KennyCode 
succeed. After three weeks. And losing three toes to frostbite.

> You're right, analysis paralysis kept me at a leisurely pace.  If I
> can finally take a decision, it should change, especially if and when
> I quit my day job to push forward my project.

Sweet baby Jesus, do *not* quit the day job.

> 
> I work much faster when I'm convinced I'm using the best tools. 

You mean Lisp.

> If
> I'm not, I'm always driven to read on what would be better.  I'm tired
> of this dynamic that makes me unproductive because I don't use the
> tools I would like to use.

That light bulb is just dying to come on. Let it. Was it Hamlet who was 
forever facilating? STFU and do one of them, then it will tell you if 
you have chosen well. Switch if not. With that approach you'd be done by 
now and well on your way to finishing your own implementation of Lisp. 
That's what most noobs do after discovering Lisp.

>  I suspect I will sanction my blessed
> language in the next few weeks/months.

Why stop there? Based on what I have read from you so far I can almost 
see the "/years/decades/dearly departed". Reminds me of my resuming work 
on Algebra "/tomorrow".

>  It would be hard for me to
> accept rejecting Lisp for anything else, including Ruby and Python, so
> I really hope Lisp's barrier to entry can be somehow compared to that
> of Ruby or Python.

"To be, or to not be..."

>>That actually gave Python a break because I was just focused on a task
>>and not writing hundreds and hundreds of lines of code. I like Lisp.
> 
> 
> I don't understand this sentence.  Implementing Cells in Python was so
> hard that you weren't productive enough?  (Sorry, English isn't my
> native language.)

No, I wasn't really living with Python, I had a cool algorithm I wanted 
to see run in Python. Any obstacles that would have set off my language 
design alarms got steamrolled before the alarms got noticed. I had no 
intention of switching to Python, unless Google offered me a couple 
million shares, so again any alarms would have been ignored like car 
alarms in NYC.

> Oh, and I forgot to open my question to one important aspect: If
> Lisp's barrier to entry is much greater than Ruby's or Python's,
> meaning it would be much longer for me to develop my first
> application, when should it revert, with experience, to making me more
> productive with Lisp than the others?  Is it usually on the order of
> months or years?

Just to make it harder for you, the answer is weeks. What only you know 
is how much code you ever intend to write. My estimate is zero, so... XML?

kenny

-- 
http://smuglispweeny.blogspot.com/
http://www.theoryyalgebra.com/

"In the morning, hear the Way;
  in the evening, die content!"
                     -- Confucius
From: Daniel Jomphe
Subject: Re: What is the barrier to entry into modern lisp applicative 	programming?
Date: 
Message-ID: <24ccc7f7-21ff-46f7-9671-737ad70351a7@60g2000hsy.googlegroups.com>
Ken Tilton wrote:
> STFU and do one of them, then it will tell you if
> you have chosen well. Switch if not. With that approach you'd be done by
> now and well on your way to finishing your own implementation of Lisp.

I'll start with Lisp, so if ever I need to revert to something else,
at least I won't always be wondering if I should rather have used Lisp
for my own happiness and geekiness.

Kenny, thank you for your opinion.  I've found it useful and
encouraging.  And I believe I may have as much fun reading it as you
probably had writing it.
From: Ken Tilton
Subject: Re: What is the barrier to entry into modern lisp applicative  programming?
Date: 
Message-ID: <47d027c8$0$5640$607ed4bc@cv.net>
Daniel Jomphe wrote:
> Kenny, thank you for your opinion.  I've found it useful and
> encouraging.  And I believe I may have as much fun reading it as you
> probably had writing it.

I must be losing my edge. :(

Have fun.

kenny

-- 
http://smuglispweeny.blogspot.com/
http://www.theoryyalgebra.com/

"In the morning, hear the Way;
  in the evening, die content!"
                     -- Confucius
From: Tayssir John Gabbour
Subject: Re: What is the barrier to entry into modern lisp applicative 	programming?
Date: 
Message-ID: <613435ae-37ec-4a5c-90cf-c138cc61600c@59g2000hsb.googlegroups.com>
On Mar 6, 4:11 am, Daniel Jomphe <············@gmail.com> wrote:
> I would like to know what is the barrier to entry regarding learning
> and using lisp to develop web or desktop applications, both with their
> respective definition of a rich GUI.  How hard would it be, and how
> faster/slower would it be than, say, learning and using python?

I had experience with Python before Lisp, but I am too out of touch
with the Python world to give a reputable comparison.

A rich GUI is simple with Lispworks, but the barrier to entry is
price. (About $1k or so.) Check out Regex Coach to see if it is
sufficiently native for you. The free trial of Lispworks will let you
experiment to see whether drag & drop support works, etc. It has an
interface builder that lets you build up a gui quick, though soon
you'll want to edit it by hand.
http://www.weitz.de/regex-coach/

If you do not use a commercial offering like Lispworks, a barrier to
entry may be learning an IDE. But this may be better now with Eclipse
support. Unfortunately I have never used Lisp in Eclipse. The
traditional IDE is Emacs + Slime + maybe Paredit, which I think is
reasonable to learn because you can use Emacs in many situations. For
example, I'm typing this in Emacs, because the little web browser text-
entry box is too limiting and slow. But it isn't easy to learn; like
only recently did I overcome the laziness to get Slime's fuzzy-
autocompletion enabled.

Another barrier to entry is the lack of "batteries included," compared
to Python. (So you have to seek out the library you need from the
net.) For me, the limitations of Python are enough to outweigh this
for typical use, but this may make Python easier for you to learn if
you don't have a mentor. And I expect Python mentorship is easier due
to relatively more jobs available.

That said, I know self-taught Lisp users. I am one myself. So clearly
there is not an impossibility here, and the situation is somewhat
easier now.


Hope this helps,
Tayssir
From: Daniel Jomphe
Subject: Re: What is the barrier to entry into modern lisp applicative 	programming?
Date: 
Message-ID: <d68ee3be-f2e7-46f9-b634-615339165ea8@e60g2000hsh.googlegroups.com>
Tayssir John Gabbour wrote:
> Check out Regex Coach to see if it is sufficiently native for you.

Great, thank you!  It's funny that I used this app in 2003 and
sometime again in 2005, and if I remember well, seeing it had been
made with Lisp, it sparkled my interest to read more about Lisp to
sort out if it has some future.

> If you do not use a commercial offering like Lispworks, a barrier to
> entry may be learning an IDE.
I enjoyed using Slime two years ago.

> That said, I know self-taught Lisp users. I am one myself. So clearly
> there is not an impossibility here, and the situation is somewhat
> easier now.

Great!  I have no access to mentoring, but I'm used walking this
path.  I hope I'll be able to say as you do soon enough.
From: Campo
Subject: Re: What is the barrier to entry into modern lisp applicative 	programming?
Date: 
Message-ID: <40b48b6a-5817-468f-ba80-24a23669ee43@u72g2000hsf.googlegroups.com>
On Mar 5, 10:11 pm, Daniel Jomphe <············@gmail.com> wrote:
> I would like to know what is the barrier to entry regarding learning
> and using lisp to develop web or desktop applications, both with their
> respective definition of a rich GUI.  How hard would it be, and how
> faster/slower would it be than, say, learning and using python?

I hope you don't take this the wrong way, but you're profoundly
confused about a few things. That's not an insult- I find lots of
areas of computing profoundly confusing. The short answer is that the
barrier is likely to be pretty high for you at this point, when it
comes to CL. CL is my favorite programming language, but if you have a
project you are itching to ship you'd probably be better off shipping
it in Python or something.

>
> My background
>
> I got out of school in 2001 ... my belief of what is the best language in the world evolved from
> C++ to C#, then python, ruby and finally since 2005, lisp.

The problem here is that you show little evidence of having programmed
in CL, or in any other Lisp. Why haven't you programmed at least a
little bit using what is, in your consideration, the best language on
the planet, in the last 2+ years.

> Since 2003, I started wondering what language would be the best to
> use, knowing it would certainly not be C# or Java.  I've got a few
> ideas of web projects and desktop projects,

Well, ideas are cheap. Since 2003 I've had a number of ideas that
involved me, Saran Wrap(TM), mayonnaise, and supermodels- as an
installation in Central Park. Sadly, I've never paid my dues as an
installation artist and I am no closer to my dreams than I was then.
At least, I am no closer to Central Park, but I digress.

> and we're now in 2008, but
> even with all the hundreds of hours I spent reading blog and forum
> posts, I still don't know.  One would tell me I should instead have
> spent all this time trying lisp and python myself, and that would most
> probably be right.  But I didn't, and here I come to ask your
> opinions.

Do what you didn't do then. Learn to program. Reading blog and forum
posts is almost useless for that- you wind up with a head full of airy
abstractions, but without the callused hands that you need to wrestle
them to earth. You're not even a beginner at something until you've
cut your finger a few times doing it. Honestly, I think one of the
biggest problems with modern computing is that there is no formal
equivalent of "finger exercises" for programmers. Here's one: There's
a nicely documented implementation of a lot of tree structures  at
http://www.stanford.edu/~blp/avl/ . Try implementing one of those
structures in each language you're assessing.

> So lets assume our programmer can quickly and easily learn new
> programming languages and techniques,

Who is this programmer? My experience has been that this is an
assumption that cannot be made about even very good programmers (and
my mayonnaise-sense is telling me that you have yet to prove yourself
one of those). If you can learn it quickly and easily it is trivially
different from what you already know, or it is trivial.

> and has already read and
> understood most parts of the best lisp book and the best python book,
> but has no experience using them yet.

You haven't understood them if you have read them, but not programmed
in the language they're about, unless that language is trivially
different from languages you have programmed in.

> Some precisions
>
> 1.  On web applications.  I'm not much used to web applications, but I
> suppose these elements, at least, should be supported/integrated:
> databases, strings and regexes, ajaxy interfaces, customizable
> presentation by users (html layout, css, etc.), open api, and eventual
> scaling à la MapReduce.  Probably what's needed for most modern web
> applications, you know.  I'm speaking of something that could compete
> with, say, blog or forum applications, yes, I believe these are proper
> examples in terms of technical features.

Mapreduce, huh? Do you think that most blogging software is mapreduce
based? Forum software? Do you understand the point of mapreduce? Do
you have a cluster of 100 machines? Do you need one?

As for the rest, you're confusing all sorts of things with all sorts
of other things. If you go write a simple blogging app in any language
(and finish it to some reasonable standard) things will become clearer
for you.

> 2.  On desktop applications.  I'm more used here.  These should be
> easily deployable/installable, automatically updatable, and support
> very, very well string processing with and without regexes, text
> editing, and at least basic important integration with OSs like drag
> and drop support, for example.  Hopefully, they should look and behave
> as good as native applications.

Do you think there's a language that deals with string processing at
the same level it deals with automatic updates of end-user
installations?

> Now, I believe I would be more happy using lisp than python.

I'm almost certain that you would be happier with Python, at the
moment. If you learn to program, a bit, you might take another look at
CL.

>Sexps
> and macros appeal a lot to me, along with what they allow.  And I
> don't mind that much parens.  I suppose when I'll be experienced
> enough, I'll build myself all sorts of shortcuts using macros.  I've
> been waiting for Arc for a few years, but it's evident it's not ready
> yet.  I'm also watching closely QI, since it can use and do whatever
> CL can.  But mentioning these elements is probably going too fast,
> regarding the answers I need for my question.

There is a distinction between being able to program and knowing how
to use phrases about programming in a sentence. It's actually a fairly
important distinction.

> ('compare ('barrier-to-entry ('learn-use-lisp-for ('web 'desktop)
>                  ('barrier-to-entry ('learn-use-python-for ('web
> 'desktop))))

This is completely wrong. It's so wrong that it makes me wonder if you
are actually the Prince of Trolls. For comparison, '(Im (up (in your
parenz (messing up) your) nesting)) is perfectly fine CL, but it does
not toil, nor does it spin. Your "quoted" list is so broken that it
would not pass muster on a pop quiz given in the first week of a first
programming class.

> If you have experience with both python and lisp, please mention it in
> your answer.

I was a pretty expert Python programmer back in the 1.6-1.8 days.
We've both moved on since then. Anyway, I feel safe saying that CL
would just confuse and frustrate you at this point. I'm afraid that
Python will do the same, but to a lesser degree.

If I were you I would ask myself this: "Why have I spent hundreds of
hours reading blogs about programming, and no hours programming?" To
paraquote Steve Jobs, "Maybe this isn't for you." If you decide that
it is for you, you need to recognize that you need to practice a bit
before you play Carnegie Hall.
From: Tayssir John Gabbour
Subject: Re: What is the barrier to entry into modern lisp applicative 	programming?
Date: 
Message-ID: <a095a95f-58e5-4db4-9d7f-76b68da123ab@x41g2000hsb.googlegroups.com>
On Mar 6, 12:34 pm, Campo <··········@yahoo.com> wrote:
> If I were you I would ask myself this: "Why have I spent hundreds of
> hours reading blogs about programming, and no hours programming?" To
> paraquote Steve Jobs, "Maybe this isn't for you." If you decide that
> it is for you, you need to recognize that you need to practice a bit
> before you play Carnegie Hall.

Good point. I think some learn socially rather than alone with some
unyielding book and computer. The original poster might like to look
at Dan Weinreb's post on this, speaking of Lisp:
http://dlweinreb.wordpress.com/2007/12/25/be-a-mentor/

I also think it helps to have some externally-driven desire, as most
people do not have any particular passion to write a webbrowser or
numerics library. To the original poster, is there something you love,
that could benefit from some computational elbow grease? Simply
programming in lisp might be a dubious pleasure for you, just like any
other program for which you have little inner motivation.
http://www.crimethinc.com/texts/days/joinresistance.php


Tayssir
From: Daniel Jomphe
Subject: Re: What is the barrier to entry into modern lisp applicative 	programming?
Date: 
Message-ID: <a5887d3a-3a99-423c-bf51-62f4d8bd58ee@n36g2000hse.googlegroups.com>
Tayssir John Gabbour wrote:
> Good point. I think some learn socially rather than alone with some
> unyielding book and computer. The original poster might like to look
> at Dan Weinreb's post on this, speaking of Lisp:http://dlweinreb.wordpress.com/2007/12/25/be-a-mentor/

Interesting post, although I'm a self-learner.  As you all know, I
didn't do much on that regard in the last few years.  Let's say I had
other priorities since it's really the truth.  Now, though, the timing
should become good soon.  (You can joke about this, I don't mind.)

> I also think it helps to have some externally-driven desire, as most
> people do not have any particular passion to write a webbrowser or
> numerics library. To the original poster, is there something you love,
> that could benefit from some computational elbow grease? Simply
> programming in lisp might be a dubious pleasure for you, just like any
> other program for which you have little inner motivation.

Sure I do!  I'm like most others in the fact I wouldn't thrive
implementing something just for the sake of it.  But I have a passion
for some ideas and I'm going to implement at least one of them on my
own.  I no more want to live my life not trying anyone of these
projects and telling myself I have other priorities.  I don't want to
regret not having tried.

Now that a good timing is coming, it's why I wanted to close the loop
to take my language(+libs) decision, so I could start learning it.
From: Tayssir John Gabbour
Subject: Re: What is the barrier to entry into modern lisp applicative 	programming?
Date: 
Message-ID: <ba9e0587-2a63-4eba-8f1f-ca82599099f6@8g2000hse.googlegroups.com>
On Mar 6, 7:26 pm, Daniel Jomphe <············@gmail.com> wrote:
> Interesting post, although I'm a self-learner.  As you all know, I
> didn't do much on that regard in the last few years.  Let's say I had
> other priorities since it's really the truth.  Now, though, the timing
> should become good soon.  (You can joke about this, I don't mind.)

Why should anyone ridicule you? It's not anyone's place to criticize
how and when you decide to learn. As for your errorneous lisp... I
couldn't care less. Your intention was clear.

Personally, while I am capable of learning by myself, it's horribly
inefficient. And if I look at it, I do rely on the help of many
others, even when I think I'm "learning by myself."

Yet... I also think a big problem with group settings is that the
teaching is often done under very objectionable... and absurd terms.


> Sure I do!  I'm like most others in the fact I wouldn't thrive
> implementing something just for the sake of it.  But I have a passion
> for some ideas and I'm going to implement at least one of them on my
> own.  I no more want to live my life not trying anyone of these
> projects and telling myself I have other priorities.  I don't want to
> regret not having tried.

Great, good luck! Feel free to ask any questions.


Tayssir
From: Ken Tilton
Subject: Re: What is the barrier to entry into modern lisp applicative  programming?
Date: 
Message-ID: <47d070cd$0$25030$607ed4bc@cv.net>
Tayssir John Gabbour wrote:
> Why should anyone ridicule you?

We started out by naming the damn language after a speech impediment and 
it's been downhill ever since.

kenny

-- 
http://smuglispweeny.blogspot.com/
http://www.theoryyalgebra.com/

"In the morning, hear the Way;
  in the evening, die content!"
                     -- Confucius
From: Raffael Cavallaro
Subject: Re: What is the barrier to entry into modern lisp applicative  programming?
Date: 
Message-ID: <2008030609164875249-raffaelcavallaro@pasdespamsilvousplaitmaccom>
On 2008-03-06 06:34:06 -0500, Campo <··········@yahoo.com> said:

> Well, ideas are cheap. Since 2003 I've had a number of ideas that
> involved me, Saran Wrap(TM), mayonnaise, and supermodels- as an
> installation in Central Park. Sadly, I've never paid my dues as an
> installation artist and I am no closer to my dreams than I was then.
> At least, I am no closer to Central Park, but I digress.

I think Miracle Whip(TM) might be more appropriate than generic 
mayonnaise for this particular project.
From: Campo
Subject: Re: What is the barrier to entry into modern lisp applicative 	programming?
Date: 
Message-ID: <bc897d2a-2fd6-44e2-bb16-a7de28507c87@b1g2000hsg.googlegroups.com>
On Mar 6, 9:16 am, Raffael Cavallaro <················@pas-d'espam-
s'il-vous-plait-mac.com> wrote:
> On 2008-03-06 06:34:06 -0500, Campo <··········@yahoo.com> said:
>
> > Well, ideas are cheap. Since 2003 I've had a number of ideas that
> > involved me, Saran Wrap(TM), mayonnaise, and supermodels- as an
> > installation in Central Park. Sadly, I've never paid my dues as an
> > installation artist and I am no closer to my dreams than I was then.
> > At least, I am no closer to Central Park, but I digress.
>
> I think Miracle Whip(TM) might be more appropriate than generic
> mayonnaise for this particular project.

You know, I never would have guessed that you were into S+M, but
welcome to the club sandwich.
From: Raffael Cavallaro
Subject: Re: What is the barrier to entry into modern lisp applicative  programming?
Date: 
Message-ID: <2008030610525250073-raffaelcavallaro@pasdespamsilvousplaitmaccom>
On 2008-03-06 09:30:01 -0500, Campo <··········@yahoo.com> said:

> On Mar 6, 9:16 am, Raffael Cavallaro <················@pas-d'espam-
> s'il-vous-plait-mac.com> wrote:
>> On 2008-03-06 06:34:06 -0500, Campo <··········@yahoo.com> said:
>> 
>>> Well, ideas are cheap. Since 2003 I've had a number of ideas that
>>> involved me, Saran Wrap(TM), mayonnaise, and supermodels- as an
>>> installation in Central Park. Sadly, I've never paid my dues as an
>>> installation artist and I am no closer to my dreams than I was then.
>>> At least, I am no closer to Central Park, but I digress.
>> 
>> I think Miracle Whip(TM) might be more appropriate than generic
>> mayonnaise for this particular project.
> 
> You know, I never would have guessed that you were into S+M, but
> welcome to the club sandwich.

Sandwich-wrap bondage aside, it would take less of a miracle to whip up 
your project with both S.C. Johnson and Kraft Foods as sponsors.

Maybe you could work the phrase "Johnson-Kraft" in there somewhere...
From: Ken Tilton
Subject: Re: What is the barrier to entry into modern lisp applicative  programming?
Date: 
Message-ID: <47d01510$0$25056$607ed4bc@cv.net>
Campo wrote:
>>>At least, I am no closer to Central Park, but I digress.

this'll help: http://www.tilton-technology.com/SunnyGates2.html

kenny

-- 
http://smuglispweeny.blogspot.com/
http://www.theoryyalgebra.com/

"In the morning, hear the Way;
  in the evening, die content!"
                     -- Confucius
From: Daniel Jomphe
Subject: Re: What is the barrier to entry into modern lisp applicative 	programming?
Date: 
Message-ID: <dc9e2b73-fa37-4097-baec-e88d2ac03d0e@59g2000hsb.googlegroups.com>
Campo wrote:
> Mapreduce, huh? Do you think that most blogging software is mapreduce
> based? Forum software? Do you understand the point of mapreduce? Do
> you have a cluster of 100 machines? Do you need one?

You're right, I should have mentionned mapreduce apart from the rest.
I meant mapreduce for involving computations outside of the usual
domain of forums and blogs, but forgot to mention it.  In any case,
you'd be right telling me I don't know exactly how one can scale an
app from a single server to multiple servers.  Like I said, I'm not
much used to web apps.

> Do you think there's a language that deals with string processing at
> the same level it deals with automatic updates of end-user
> installations?

By all means, no!  I've already stated I should have mentioned the
fact that my question is in fact more about language+libraries than
language alone.

> This is completely wrong. It's so wrong that it makes me wonder if you
> are actually the Prince of Trolls. For comparison, '(Im (up (in your
> parenz (messing up) your) nesting)) is perfectly fine CL, but it does
> not toil, nor does it spin. Your "quoted" list is so broken that it
> would not pass muster on a pop quiz given in the first week of a first
> programming class.

See my answer to Pascal Bourguignon's explanations.  Plus, I obviously
didn't go to the same school as you have.  You might be aware that
most schools have scaled down to using Java in their main curriculum.

> paraquote Steve Jobs, "Maybe this isn't for you." If you decide that
> it is for you, you need to recognize that you need to practice a bit
> before you play Carnegie Hall.

From what can be understood of what I've written, I understand your
point of view.  In any case, I'm not as you think I am.  Still, I
won't quit any day job until I'm sure it's wise to do so, as Kenny
suggested.
From: Campo
Subject: Re: What is the barrier to entry into modern lisp applicative 	programming?
Date: 
Message-ID: <2a214d4e-e300-436c-8813-280023bb8494@q78g2000hsh.googlegroups.com>
On Mar 6, 1:07 pm, Daniel Jomphe <············@gmail.com> wrote:
> Campo wrote:
> > Mapreduce, huh? Do you think that most blogging software is mapreduce
> > based? Forum software? Do you understand the point of mapreduce? Do
> > you have a cluster of 100 machines? Do you need one?
>
> You're right, I should have mentionned mapreduce apart from the rest.
> I meant mapreduce for involving computations outside of the usual
> domain of forums and blogs, but forgot to mention it.  In any case,
> you'd be right telling me I don't know exactly how one can scale an
> app from a single server to multiple servers.  Like I said, I'm not
> much used to web apps.

Well, mapreduce is not so much about webapps as it is about
parallelizing very large computations across a lot of cheap nodes
(i.e. machines). It's a technique, not a language feature, and it's
the kind of thing that you probably don't need to worry about unless
you _know_ that you need to worry about it. Sometimes it's best not to
go looking for solutions to problems you don't have, lest you awake in
a dark wood, having strayed from the straight path. Anyway, Google
uses C++ for their implementation and I'm pretty sure it would be a
lot easier to implement in CL.

> > This is completely wrong. It's so wrong that it makes me wonder if you
> > are actually the Prince of Trolls. For comparison, '(Im (up (in your
> > parenz (messing up) your) nesting)) is perfectly fine CL, but it does
> > not toil, nor does it spin. Your "quoted" list is so broken that it
> > would not pass muster on a pop quiz given in the first week of a first
> > programming class.
>
> See my answer to Pascal Bourguignon's explanations.  Plus, I obviously
> didn't go to the same school as you have.  You might be aware that
> most schools have scaled down to using Java in their main curriculum.

Well- this kind of threw me. It made me wonder if you were serious,
actually, or just pulling legs. I am aware that a lot of schools have
become little more than Java certification programs. I was lucky
enough to go to school before Java took over the world, though even
then the writing was on the wall. It's really too bad- Java is, IMHO,
not a very good language for pedagogical purposes.

> > paraquote Steve Jobs, "Maybe this isn't for you." If you decide that
> > it is for you, you need to recognize that you need to practice a bit
> > before you play Carnegie Hall.
>
> From what can be understood of what I've written, I understand your
> point of view.  In any case, I'm not as you think I am.  Still, I
> won't quit any day job until I'm sure it's wise to do so, as Kenny
> suggested.

I'm sorry if I was a bit mean in my post- I was not trying to be
gratuitously so. Your post conflated so many things that it was hard
to give a straight answer to. Beyond that, it looked to me as if you
meeting CL might be a bit of a trainwreck. There are a lot of CL
libraries out there- enough to give you a case of analysis paralysis
that could be fatal. Some of the libraries are really solid and well
documented (as someone else said, Edi Weitz's libs tend to be good
like that) and should probably be treated as the default "batteries
included" libraries in the space they live in. In other spaces there
are a number of competing libraries, all of which are seriously
deficient in one respect or another, and you have to be able to take a
look at them, figure out if any of them are useful to you, and decide
to either use one of them or roll your own. The danger here is that
dark wood I mentioned earlier- when you emerge from it you might find
your path barred not by a quick leopard or a lean wolf, but by
Buridan's ass.

Anyway, I really do think that you ought to just get implementations
of a couple of the languages you're interested in and write something
in them. That would answer a lot of your questions. I suggested a tree
structure because it's a nicely defined problem. But if you'd rather
work on an idea you've had, that would work too, as long as you don't
get 100 lines into it and decide that it would be better to work on
some other idea.
From: Daniel Jomphe
Subject: Re: What is the barrier to entry into modern lisp applicative 	programming?
Date: 
Message-ID: <cddcda2f-92f4-465b-aff6-d3cb1824409f@p73g2000hsd.googlegroups.com>
Campo wrote:
> I'm sorry if I was a bit mean in my post- I was not trying to be
> gratuitously so. Your post conflated so many things that it was hard
> to give a straight answer to.

It was a bit hard on my ego but now that most things are straightened
out, I'm happy seeing the results of our exchanges.  I now understand
how mentioning mapreduce was premature optimization.  It's hard to
link everything together and sort it all out when there's so much new
unexplored stuff that keeps buzzing in one's mind.

Another lesson I started integrating in the past few weeks is that I
should *really* spend less time reading blogs and more time doing my
own stuff.  You guys nailed it further, and I just made one more link
- reading blogs instead of trying things out was definitely a
misplaced priority, so in effect, I've just broken the argument I used
a few posts ago to justify my inactivity. :) You guys are right, how
come I didn't move at all during these 2+ years?

It's been months I wanted to ask this question, but I wanted to
continue exploring blogs and books like I do before closing the loop.
I'm now glad I didn't wait any longer to go public!  Too bad I didn't
ask 2 years ago, maybe you'd have been able to kick me into action
then (unless I would have been too stubborn wanting to first do the
survey I did - who knows).

I believe I'll start with the tree structure you suggested.  Belonging
to known territory, it'll help me stop delaying what seems so big to
me, since it isn't big at all.

Thank you!
From: Pascal Bourguignon
Subject: Re: What is the barrier to entry into modern lisp applicative  programming?
Date: 
Message-ID: <87od9s1fqm.fsf@thalassa.informatimago.com>
Daniel Jomphe <············@gmail.com> writes:

> ('compare ('barrier-to-entry ('learn-use-lisp-for ('web 'desktop)
>                  ('barrier-to-entry ('learn-use-python-for ('web
> 'desktop))))

This form is not a common lisp expression.

'x is equivalent to (quote x)

I guess you didn't mean to write:

((quote compare) ((quote barrier-to-entry) (quote learn-use-lisp-for)
                  ((quote web) (quote desktop))
                 ((quote barrier-to-entry) ((quote learn-use-python-for)
                  ((quote web) (quote desktop))))))


If you wrote:

(compare (barrier-to-entry (learn-use-lisp-for   (list web desktop)))
         (barrier-to-entry (learn-use-python-for (list web desktop))))

you'd get, assuming the right definitions for all these symbols, a
valid common lisp expression.

For example, you could define them as:

(defun compare (a b) (cond ((< a b) :less) ((= a b) :equal) (t :greater)))
(defun barrier-to-entry (activity) (* 2 activity))
(defun learn-use-lisp-for (category) 1)
(defun learn-use-python-for (category) 2)
(defvar web "web")
(defvar desktop "desktop")


C/USER[79]> (compare (barrier-to-entry (learn-use-lisp-for   (list web desktop)))
                     (barrier-to-entry (learn-use-python-for (list web desktop))))
:LESS


-- 
__Pascal Bourguignon__                     http://www.informatimago.com/

This universe shipped by weight, not volume.  Some expansion may have
occurred during shipment.
From: helmut
Subject: Re: What is the barrier to entry into modern lisp applicative 	programming?
Date: 
Message-ID: <97f3f4ce-1197-4e0d-97f7-98af753e4c76@h25g2000hsf.googlegroups.com>
I think the open-source common lisp is not ready for commercial
succeed.

It  has few, but important, drawbacks:

A) no easy to use GUI Editor available: a custumer want not a high
sophisticated program, he want an easy to use GUI program and he want
it not tomorrow he want it yesterday

B) there is no library standard: for a newbie in lisp it is very ugly
to see compile errors and it is impossible for him to fix it

C) for windows user the IDE situation is bad, the first useable thing
I saw is the listbox from peter seibel. For a windows user, emacs is
strange to use and to install emacs + lisp + silme correct
is ..............

Now open-source lisp is allmost only for console fans (not bad
but ......)

cheers
helmut
From: Campo
Subject: Re: What is the barrier to entry into modern lisp applicative 	programming?
Date: 
Message-ID: <cf6fc8c5-428c-4512-a20b-46b21ea0b542@n58g2000hsf.googlegroups.com>
On Mar 6, 4:36 am, helmut <·················@chello.at> wrote:
<snip>
> cheers
> helmut

To paraquote Steve Jobs: "Maybe this isn't for you."
From: ·············@gmail.com
Subject: Re: What is the barrier to entry into modern lisp applicative 	programming?
Date: 
Message-ID: <2a496dc6-5475-4f25-b37f-2f85d08a25d8@i7g2000prf.googlegroups.com>
On Mar 6, 4:36 am, helmut <·················@chello.at> wrote:
> I think the open-source common lisp is not ready for commercial
> succeed.
>
> It  has few, but important, drawbacks:
>
stuff deleted
>
> C) for windows user the IDE situation is bad, the first useable thing
> I saw is the listbox from peter seibel. For a windows user, emacs is
> strange to use and to install emacs + lisp + silme correct
> is ..............

Um, if I could do it, anybody can :-)   Invoking slime from windows
emacs to call cygwin's clips is very straightforward.
>
> Now open-source lisp is allmost only for console fans (not bad
> but ......)
>
> cheers
> helmut

mirko
From: Daniel Jomphe
Subject: Re: What is the barrier to entry into modern lisp applicative 	programming?
Date: 
Message-ID: <66f18ffb-d44a-46bd-8ed5-06f4fe9f81ae@q33g2000hsh.googlegroups.com>
Pascal Bourguignon wrote:
> C/USER[79]> (compare (barrier-to-entry (learn-use-lisp-for   (list web desktop)))
>                      (barrier-to-entry (learn-use-python-for (list web desktop))))
> :LESS

Thank you for your explanation and (surprising) opinion.  I read some
books and chapters about lisp-like languages and played a bit with one
implementation, but that was 2 year ago so my basic ability to write
proper forms has rusted out.  I knew it was wrong but I didn't know
how to fix it without trying it in a REPL.
From: Holger Schauer
Subject: Re: What is the barrier to entry into modern lisp applicative  programming?
Date: 
Message-ID: <yxzpru8m7hy.fsf@gmx.de>
On 5300 September 1993, Daniel Jomphe wrote:
> I would like to know what is the barrier to entry regarding learning
> and using lisp to develop web or desktop applications, both with their
> respective definition of a rich GUI.  How hard would it be, and how
> faster/slower would it be than, say, learning and using python?

As Kenny points out, you're asking about libraries, not about the
languages. I think that this question can't be objectively
answered. It really depends a lot on the programmer in question.

> So lets assume our programmer can quickly and easily learn new
> programming languages and techniques, and has already read and
> understood most parts of the best lisp book and the best python book,
> but has no experience using them yet.

That's either a contradiction or the description of a genius.

> Some precisions

> 1.  On web applications.  I'm not much used to web applications, but I
> suppose these elements, at least, should be supported/integrated:
> databases, strings and regexes, ajaxy interfaces, customizable
> presentation by users (html layout, css, etc.), open api, and eventual
> scaling � la MapReduce.  Probably what's needed for most modern web
> applications, you know. 

I have not really used Python, but what I've seen so far is that the
entry barrier to "success" for CL is probably a lot higher. The main
reason for this is lack of good entry-level documentation for the
libraries. If you're lucky you will find a comprehensive API
description, but you'll have a hard time finding a good tutorial
introducing how to use it and even more so wrt. to integrating several
libraries. But, hey, even geniuses need to have challenges. :)

I think the main problem here is lack of popularity. The probability
that you'll find good documentation is directly correlated to the
popularity of the library in question. So, of course, it's to be
expected that you'll find a lot more docs about Rails, for instance.

That being said, there are CL libraries that are quite easy to pick
up. CL-SQL has some dark corners but is quite easy to start from (but
note that there are a lot of other options for database access).
Edi-Ware (like CL-PPCRE, Hunchentoot, TBNL) is said to be very well
documented and usable. Wrt. to larger web application frameworks,
there are not that many choices, but e.g. UCW is a fast-moving target
with weak documentation (I haven't looked closer at LoL or Weblocks,
so I won't comment on them).

> 2.  On desktop applications.   [...]

No comment from me, here.

Holger

-- 
---          http://hillview.bugwriter.net/            ---
Fachbegriffe der Informatik - Einfach erkl�rt
62: professionelles Arbeiten
       Tetris ist nicht auf der Festplatte (Sebastian
       Kokemohr-Schmidt)
From: Slobodan Blazeski
Subject: Re: What is the barrier to entry into modern lisp applicative 	programming?
Date: 
Message-ID: <1edf9bb0-c263-4011-9568-8c269f0f64e6@b1g2000hsg.googlegroups.com>
On Mar 6, 12:12 pm, Holger Schauer <··············@gmx.de> wrote:

> That being said, there are CL libraries that are quite easy to pick
> up. CL-SQL has some dark corners but is quite easy to start from (but
> note that there are a lot of other options for database access).
Postmodern is very cool, also there is ORM mappings like Elephant,
submarine etc.
The only pure solutions are AllegroCache and AllegroGraph for Allegro
are they acceptable for you
from commercial, philosophical or any other constraint that's another
issue.
> Edi-Ware (like CL-PPCRE, Hunchentoot, TBNL) is said to be very well
> documented and usable.
I'll second this.
> Wrt. to larger web application frameworks,
> there are not that many choices, but e.g. UCW is a fast-moving target
> with weak documentation (I haven't looked closer at LoL or Weblocks,

Weblocks is high quality widget based framework, good tinaa
documentation and completely covered with tests,
especially look at it's DSL language. It's still new piece of software
but is becoming better everyday.
It's very easy to learn the basics and quite portable, at least as
each dependencies mainly hunch' are portable.
http://common-lisp.net/project/cl-weblocks/


cheers
Slobodan
From: Edi Weitz
Subject: Re: What is the barrier to entry into modern lisp applicative  programming?
Date: 
Message-ID: <uzltbq1wu.fsf@agharta.de>
On Thu, 6 Mar 2008 06:42:25 -0800 (PST), Slobodan Blazeski <·················@gmail.com> wrote:

> The only pure solutions are AllegroCache and AllegroGraph for
> Allegro

  http://common-lisp.net/project/rucksack/

Edi.

-- 

European Common Lisp Meeting, Amsterdam, April 19/20, 2008

  http://weitz.de/eclm2008/

Real email: (replace (subseq ·········@agharta.de" 5) "edi")
From: Tayssir John Gabbour
Subject: Re: What is the barrier to entry into modern lisp applicative 	programming?
Date: 
Message-ID: <944e280e-1228-4c33-82ce-6e8904235c5d@k2g2000hse.googlegroups.com>
On Mar 6, 4:59 pm, Edi Weitz <········@agharta.de> wrote:
>  http://common-lisp.net/project/rucksack/

I played with Rucksack yesterday (corporate lisp work was depressing
me ;), and Brad Beveridge's tutorial runs well. Very easy to run!


Tayssir
From: Ken Tilton
Subject: Re: What is the barrier to entry into modern lisp applicative  programming?
Date: 
Message-ID: <47d02072$0$25053$607ed4bc@cv.net>
Tayssir John Gabbour wrote:
> On Mar 6, 4:59 pm, Edi Weitz <········@agharta.de> wrote:
> 
>> http://common-lisp.net/project/rucksack/
> 
> 
> I played with Rucksack yesterday (corporate lisp work was depressing
> me ;), and Brad Beveridge's tutorial runs well. Very easy to run!

I am starting a groundswell of support for a Google SoC 2008 Rucksack 
project, pile on. Me, I like RDF, but I think we just need bindings to 
Redland.

kenny

-- 
http://smuglispweeny.blogspot.com/
http://www.theoryyalgebra.com/

"In the morning, hear the Way;
  in the evening, die content!"
                     -- Confucius
From: Slobodan Blazeski
Subject: Re: What is the barrier to entry into modern lisp applicative 	programming?
Date: 
Message-ID: <f667cf63-0bf1-4a3e-b2ae-365af3357d17@b1g2000hsg.googlegroups.com>
On Mar 6, 7:59 am, Edi Weitz <········@agharta.de> wrote:
> On Thu, 6 Mar 2008 06:42:25 -0800 (PST), Slobodan Blazeski <·················@gmail.com> wrote:
> > The only pure solutions are AllegroCache and AllegroGraph for
> > Allegro
>
>  http://common-lisp.net/project/rucksack/
>
> Edi.
>
> --
>
> European Common Lisp Meeting, Amsterdam, April 19/20, 2008
>
>  http://weitz.de/eclm2008/
>
> Real email: (replace (subseq ·········@agharta.de" 5) "edi")

The last time I checked it wasn't battle ready. I would be delighted
to find that I'm wrong.
From: Vetle Roeim
Subject: Re: What is the barrier to entry into modern lisp applicative  programming?
Date: 
Message-ID: <m2zltb4kml.fsf@gmail.com>
Daniel Jomphe <············@gmail.com> writes:

> I would like to know what is the barrier to entry regarding learning
> and using lisp to develop web or desktop applications, both with their
> respective definition of a rich GUI.  How hard would it be, and how
> faster/slower would it be than, say, learning and using python?

It's simple, really. Python uses concepts, names and syntax close to
what most developers already know. Lisp does not.

Thus, Python is easier to pick up and get started with, since it
doesn't use parenthesis in an unusual way, and it doesn't have macros
and long function names. Perhaps most people are lazy, and thus choose
the path of least resistance.

But, in the end, as Kenny writes, Lisp is just an ordinary programming
language.

... except it can manipulate code as data, of course.


[...]
-- 
It's not a bug, it's the future.