Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Making Lisp popular - can it be done?

209 views
Skip to first unread message

MishoM

unread,
Dec 23, 2008, 6:08:13 AM12/23/08
to
Hi,

I'm really new to Lisp. I had heard of it before and got the
impression of a dead language with an exotic syntax and no real use.
My opinion was changed by Paul Graham's article <a href = "http://
www.paulgraham.com/avg.html">Beating the averages</a>.

I started investigating and in the last weeks I've been watching the
videos of "Structure and Interpretation of Computer Programs" and I'm
reading "Practical Common Lisp". I liked a lot what I heard and read
and tried to tell my friends and colleagues about it, but the reaction
was like I'm going nuts, even though I made it clear that I intend to
learn more and try to implement a nontrivial program in Common Lisp
before forming my final opinion. The most frequent argument I heard
was: "If Lisp was that good, it would be much more popular".

So I started asking myself why isn't Lisp popular. Is it because of
it's syntax? Is it because of the prejudice that it is slow? Or some
other reason? I searched the Internet a little and saw that other
people had asked themselves the same question. A discussion on
Lispcast titled <a href = "http://www.lispcast.com/drupal/node/29">No
easy download</a> caught my attention along with another article by
Paul Graham - <a href = "http://www.paulgraham.com/popular.html">Being
Popular</a>.

So I formed my own opinion on why Lisp isn't popular and summarized it
in the following two points:

1. There are not enough libraries in Lisp. Even worse, most of the
existing libraries are not standard. The fastest way to implement
something is to have it already implemented for you.

2. Most people don't see the advantages of Lisp over their programming
language even for tasks for which Lisp is really much more suitable,
because they don't know what can be done easily in Lisp.

And then I asked myself if there are circumstances which would help
Lisp get back on center stage. What I'm certain of is two things.
First, as time goes by, more and more features of Lisp will get
introduced to other languages and its will become harder to convince
people to make the transition. And second, trying to get people to
learn Lisp so they would appreciate it won't work. They should be
convinced of the use to learn it before they agree to do it. And so I
got to this crazy idea which I want to share. If I'm being stupid
please bear with me.

The best way to convince people to learn Lisp is by convincing them to
use it first and then use that to show them its advantages. I don't
know about Scheme, but the FFI of Common Lisp seems to be good enough
to allow for other languages to use libraries written in Lisp. So if
there are powerful libraries written in Lisp which can be used from C+
+, Java, C#, Perl, Python, Ruby, etc, people will use them. Several
widely used popular libraries in Lisp, especially for tasks which are
outside the traditional Lisp domain, can really make a difference in
the attitude towards the language.

The other thing which is mandatory is to make rich libraries for Lisp
which are readily available, comprehensive, free and standard. The
best way to do this is by creating the prerequisites for the emergence
of libraries which are de facto standard, like what boost is for C++.
Instead of almost 10 libraries for GUI of which people don't know
which to choose, there should be no more than three and it should be
immediately clear what's the use of each of them.

And the third thing which could really boost things up is some way to
make both kinds of libraries very public so that non-lispers could
become aware that:

1. They can benefit from Lisp without learning it through powerful
libraries written in Lisp.
2. There will benefit from investing in learning Lisp, because there
are a lot of solutions readily available.

And here comes my crazy idea. All of this can be achieved through a
web site targeted at developers in all programming languages. This
site should be the best programming libraries directory on the
internet, hosting libraries in any programming language. Its main goal
should be to hold as many libraries as possible and provide powerful
search, ranking and comparison features. Here are some of the features
I have in mind:

1. Each library should have in its description separate fields for
implementation language(s) and target language(s) unlike sourceforge
which has only one language field. To the users of the library it
matters much more what languages can use the library, but the
implementation language is important too.

2. The "supported feature" fields of the libraries should have
rankings associated with them so that users could rank the support for
individual features separately.

3. The users should be able to add new library categories with custom
feature fields.

4. The users should be able to sort the libraries according to their
own ranking criteria like the <a href = "http://
shootout.alioth.debian.org/gp4/index.php">Gentoo Benchmark<\a> or in
some other way.

5. The users should be able to create comparison tables for two or
more libraries, choosing which features to compare.

I think that if such a site exists and contains all important
libraries for the major programming languages it will attract enough
attention to start the ball rolling and become the best programming
libraries directory. Of course a site of this scale will require some
serious funding but I believe this is a solvable problem.

And with this site in place, it will be up to the Lisp community to
start actively pursuing the interest of the other programmers. The key
is to identify the most popular libraries and implement them in Common
Lisp and Scheme. This will provide Lisp with the libraries that people
want thus making it ultimately more useful. And if these libraries are
more powerful than the original and are made available to other
programming languages, they will have the potential to start to draw
people towards Lisp.

Of course there is a reduced version of this agenda, which is to use
existing software project sites like Sourceforge and implement the
most popular libraries there in Lisp and post them on Sourceforge. But
existing project sites are not targeted at libraries specifically so
they don't provide the tools to highlight the key features and compare
them. Furthermore, a good libraries site for Lisp is needed anyway,
and it will only gain if it allows libraries in other languages
because it will draw the attention of non-lispers.

Well that's it, I hope I didn't annoy anybody, and sorry for the
really long post, but I wanted to share this idea and see what others
think.

Rainer Joswig

unread,
Dec 23, 2008, 8:16:10 AM12/23/08
to
In article
<fb92174d-dd1d-4276...@z27g2000prd.googlegroups.com>,
MishoM <mihaylo...@gmail.com> wrote:

...

There are many reasons.

Though it is good for a newbie to think of popularity, etc.,
it does not really help that much. What you are writing
about comes up quite often.

You have a better position to rate the usefulness for Lisp
and where it is applicable when you have some experience
using it. That means you should have written some
software. Currently your position is like looking at
a Mercedes Benz brochure, really liking the cars, and
wondering yourself why not everybody drives a Mercedes.
Then you talk to the engineers how to make Mercedes
more popular. You can imagine that this will not
change much...

Better:

Dive in, write some software, see where it lacks libraries,
contribute, etc. If you want to help on Usenet, get
some experience and help people solving problems. Help
other newbies to get over the first hurdles.

Starting points for you:

Community Wiki
http://www.cliki.net/

Projects
http://common-lisp.net/

IRC channel for Common Lisp programmers
#lisp

Though Lisp (Common Lisp) is not that popular, it is still
quite active, there have been excellent contributions
from younger programmers in the last years, several
implementations are actively maintained and there
are implementations that are extremely good. So there
is something to it that lets it survive even though
it might not look 'popular'.

Lisp is still very useful for:

* complex software written by small teams
(actually the worst thing you can do is write
complex software in a large team) with high
productivity

* software that grows incrementally and evolutionary

* interactive software development

* software that needs a very flexible language that
can incorporate new ideas, styles and domains.
You don't have to wait for the language designer
to implement a new loop construct, you can
write your own with any complexity you like.

* as an extension language. See Emacs.


If that kind of describes your needs and capabilities,
then Lisp is for you. Check out the wiki or talk
to people at the IRC channel and see where you can
contribute...

--
http://lispm.dyndns.org/

Kamen T

unread,
Dec 23, 2008, 8:23:18 AM12/23/08
to
On 23 Дек, 13:08, MishoM <mihaylov.mih...@gmail.com> wrote:
> Hi,
>
> I'm really new to Lisp.
>
> ..........

>
> 1. There are not enough libraries in Lisp. Even worse, most of the
> existing libraries are not standard. The fastest way to implement
> something is to have it already implemented for you.

That's your opinion. My opinion is that it is way early for you to
draw conclusions. If you want to learn keep your concentration here
and be mindful of what the more experienced ones have to say.

> 2. Most people don't see the advantages of Lisp over their programming
> language even for tasks for which Lisp is really much more suitable,
> because they don't know what can be done easily in Lisp.

How is it my problem that someone decided to crawl instead to walk?

Pascal Costanza

unread,
Dec 23, 2008, 8:30:24 AM12/23/08
to
MishoM wrote:

> Of course there is a reduced version of this agenda, which is to use
> existing software project sites like Sourceforge and implement the
> most popular libraries there in Lisp and post them on Sourceforge.

Such a collection already exists. See http://www.cl-user.net/

What would be useful is to have more maintainers for this - i.e., people
who go through the existing entries and check whether there is missing
information and/or information that needs to be updated, as well as, of
course, making new entries.

Volunteers are highly welcomed.


Pascal

--
My website: http://p-cos.net
Common Lisp Document Repository: http://cdr.eurolisp.org
Closer to MOP & ContextL: http://common-lisp.net/project/closer/

Tamas K Papp

unread,
Dec 23, 2008, 8:56:18 AM12/23/08
to
On Tue, 23 Dec 2008 03:08:13 -0800, MishoM wrote:

> I started investigating and in the last weeks I've been watching the
> videos of "Structure and Interpretation of Computer Programs" and I'm
> reading "Practical Common Lisp". I liked a lot what I heard and read and
> tried to tell my friends and colleagues about it, but the reaction was
> like I'm going nuts, even though I made it clear that I intend to learn
> more and try to implement a nontrivial program in Common Lisp before

Hey dude,

If you started talking about how great a language is _before_ you have
used it for a while, I wouldn't be more polite to you either. I would
be rude and tell you to stop wasting my time.

> And then I asked myself if there are circumstances which would help Lisp
> get back on center stage. What I'm certain of is two things. First, as

(Common) Lisp doesn't need to be "popularized", especially not by
people who don't really program in it. CL is here, you can either use
it or not use it, I would recommend the former but I don't really care
what you do.

Get some perspective - you have watched a video and started reading a
book, and now you are ready to tell the world how great Lisp is, and
tell the lispers how to make Lisp better and more popular. You are
simply not a credible source of ideas on either. Stop wasting your time
- just learn Lisp and start programming.

Tamas

Hyphenated Smug Elitist

unread,
Dec 23, 2008, 9:04:28 AM12/23/08
to
[spoken from an ivory tower.]

MishoM <mihaylo...@gmail.com> wrote:

> So I started asking myself why isn't Lisp popular. Is it because of

> it's syntax? [...]

The languages being popular can be roughly divided as such:

1) Ones favored by large corporations, favoring programmer
replaceability way over language expressibility. The obstructionist
compiler and interface is designed to make the code comprehensible
for the next drone in line after the current one asks for a sick
leave or a raise^W^W^W^W^W^W^W^Wjust kidding.
2) Languages designed by self-proclaimed "language design architects"
for hobbyists programmers. Perl's a great example, reading just a bit
lets an uneducated hobbyist create (fsvo) useful programs, comprising
instant gratification. Major version revisions later, the syntax and
semantics resemble an inanely-knit cargo cult of features borrowed
from all over the paradigms.

The ones not being popular:

1) Languages designed for expressibility with no regard for market value
or the affection of the Free Software mob. Examples include Lisp and
Smalltalk.

The lists are not exhaustive.

Popularity's not that much of a problem. Protocol support can be
implemented from scratch for NIH value, bindings can be autogenerated.
Newcomer supply exists and existing users tend to stick with Lisp.

> 1. There are not enough libraries in Lisp. Even worse, most of the
> existing libraries are not standard. The fastest way to implement
> something is to have it already implemented for you.

Standard? There are de-facto standards for protocol implementation. The
trend towards a large standard library is rather new, starting somewhere
around Java. De-facto standards seem to be good enough, asking around on
#lisp for favored protocol implementation produces a desirable response.

> 2. Most people don't see the advantages of Lisp over their programming
> language even for tasks for which Lisp is really much more suitable,
> because they don't know what can be done easily in Lisp.

Most people lack an attention span required to comprehend the advantages
of Lisp. Let 'em rot with their 60-ish type checkers and Unix-centered
scripting languages, only incidentally used for any higher purpose. Stop
exposing human children to television from such a young age as well as
ease up on the instant gratification bit. Corporate
programming-language-choice habits won't nudge a bit as long as
capitalist hegemony exists. Such is life.

> First, as time goes by, more and more features of Lisp will get
> introduced to other languages and its will become harder to convince
> people to make the transition.

If this syncretism goes on, "other languages" might finally become Lisps
and there will be no distinction between "mainstream" and "us". Not
likely. They'd rather expose their clunky ASTs through an unwieldy
interface.

> The best way to convince people to learn Lisp is by convincing them to
> use it first and then use that to show them its advantages. I don't
> know about Scheme, but the FFI of Common Lisp seems to be good enough
> to allow for other languages to use libraries written in Lisp.

Interfacing C from Lisp is easy, but not exactly the same the other way
around. Still, there's ECL with "embeddable" in its name. ECL programs
can be compiled to machine code as libraries and interfaced from C. ECL
has a rather nice FFI making interfacing from C a walk in the park.
Still, it forces Boehm GC into the process and using less-invasive GNU
Guile for embeddability/scripting purposes might be a better solution.

> The best way to do this is by creating the prerequisites for the
> emergence of libraries which are de facto standard, like what boost is
> for C++. Instead of almost 10 libraries for GUI of which people don't
> know which to choose, there should be no more than three and it should
> be immediately clear what's the use of each of them.

And who's gonna board the de-facto-standard-committee? Much rather save
some power struggles and authority-waving. Maybe the cliki pages could
be improved. For now:

- Use cells-gtk if you like the spreadsheet model, Kenny's implicit
declaration of macros (^foo) for accessing cells a'la defstruct and
Kenny's deliberate lack of documentation in the goal of supporting
Kenny's business model.
- Use ltk if Tk is good enough for you. AFAIK it's pretty stable and
ready for development.
- Use McCLIM if... well, I don't know much about McCLIM. It's been
usable for all intents and purposes since the Genera times.

Recommend asking questions directly instead of through a veiled
reference to a "potential newcomer user".

> And with this site in place, it will be up to the Lisp community to
> start actively pursuing the interest of the other programmers.

What are we, televangelists? I mind my own business not caring about the
guy next door.

--
Nawet świnka wejdzie na drzewo kiedy jest chwalona.

Pascal J. Bourguignon

unread,
Dec 23, 2008, 10:07:37 AM12/23/08
to
MishoM <mihaylo...@gmail.com> writes:

> Hi,
>
> I'm really new to Lisp. I had heard of it before and got the
> impression of a dead language with an exotic syntax and no real use.
> My opinion was changed by Paul Graham's article <a href = "http://
> www.paulgraham.com/avg.html">Beating the averages</a>.
>
> I started investigating and in the last weeks I've been watching the
> videos of "Structure and Interpretation of Computer Programs" and I'm
> reading "Practical Common Lisp". I liked a lot what I heard and read
> and tried to tell my friends and colleagues about it, but the reaction
> was like I'm going nuts, even though I made it clear that I intend to
> learn more and try to implement a nontrivial program in Common Lisp
> before forming my final opinion. The most frequent argument I heard
> was: "If Lisp was that good, it would be much more popular".

How much caviar did you eat this year? Last year?
How much caviar did you friend eat recently?
I heard that caviar was eaten a lot 90 years ago in the Tsar's court,
but if it was that good, it would be much more popular.

> So I started asking myself why isn't Lisp popular. Is it because of
> it's syntax? Is it because of the prejudice that it is slow? Or some
> other reason?


The plain truth is that lisp is rare because it is very expensive:
You need to have more than two neurons to spend on it, an some
delicacy of taste.


> 1. There are not enough libraries in Lisp. Even worse, most of the
> existing libraries are not standard. The fastest way to implement
> something is to have it already implemented for you.

Often, it has not been my experience.

The fastes way to implement something is to have good tools to
implement it yourself. This is a problem of specifications.


> 2. Most people don't see the advantages of Lisp over their programming
> language even for tasks for which Lisp is really much more suitable,
> because they don't know what can be done easily in Lisp.

Yes.


> The best way to convince people to learn Lisp is by convincing them to
> use it first and then use that to show them its advantages. I don't
> know about Scheme, but the FFI of Common Lisp seems to be good enough
> to allow for other languages to use libraries written in Lisp.

Libraries are not a problem.

It's the other way around generally: it is easier to call _foreign_
libraries from lisp. With ECL, an easily "embedded" CL
implementation, it's easy to call lisp from the foreign languages.
I heard commercial implementations make it easy to call them as DLL.

It's not really relevant: there are a lot of IPC, direct function call
is less and less relevant, given the network, distributed and
parallelized architectures.


> The other thing which is mandatory is to make rich libraries for Lisp
> which are readily available, comprehensive, free and standard. The
> best way to do this is by creating the prerequisites for the emergence
> of libraries which are de facto standard, like what boost is for C++.

Boost is just greenspunning lisp into C++ with an horrible syntax and
implementation. If you want to use C++, try Lpp instead.

Why would we want something as horrible as boost in CL when we
already have the COMMON-LISP package?


> Instead of almost 10 libraries for GUI of which people don't know
> which to choose, there should be no more than three and it should be
> immediately clear what's the use of each of them.

Instead of searching and searching until you find 10 libraries of GUI,
why don't you just stop at the first you find and write your
application?


> And the third thing which could really boost things up is some way to
> make both kinds of libraries very public so that non-lispers could
> become aware that:
>
> 1. They can benefit from Lisp without learning it through powerful
> libraries written in Lisp.

That's the whole point of lisp: you just CANNOT benefit of it without
using it! Absolutely NO library you may write in Lisp can reach the
100th of the power of Lisp, unless it is an implementation of Lisp.

The best proof is the number of Lisp libraries that have been
translated into other programming languages.

The idea is plain silly and just show that you don't know lisp yet.
Please spend a few month studying and come back to tell us what you
think of this next year...


A library is like a casted object. It may be very useful to have a
fork or a coat hanger, but this is nothing compared to efficient tools
to make the molds needed to produce these objects. Of course, you can
also make molds with inefficient tools, and it will make absolutely no
difference for the coat hanger or fork user.

Clearly, you didn't understand what "meta" in "meta programming" means.


> 2. There will benefit from investing in learning Lisp, because there
> are a lot of solutions readily available.

No, the benefit due to existing solutions is close to 0.

The benefit of Lisp comes from the process of YOU developping new
solutions to new problems. If you're doing cut-and-pasting coding,
which is no programming, then Lisp is of no use. Here is one concrete
example of the examples I mentionned above. Apple's (ex NeXT)

Interface Builder is an application that is written in Objective-C.
It allows non-programmer or dumbed-down-programmers to build user
interfaces, connecting objects that require little additionnal actual
code to make an application. There is no Lisp benefit to be seen here.

However, Interface Builder wouldn't exist if it had not been developed
by Bertrand Hulo in Lisp in the first place. Thanks to using Lisp, he
could write an Interface Builder that was hundreds of times better
than the user interface editors of that time.


> And here comes my crazy idea. All of this can be achieved through a
> web site targeted at developers in all programming languages. This
> site should be the best programming libraries directory on the
> internet, hosting libraries in any programming language.

It's wrong.

What you could do however is everytime you see something done in
foreign programming languages, mention how it's much more easier to do
in Lisp. The result will be the same, the difference is that instead
of spending hundred of time units you'd spend only one, instead of
hiring hundreds of java monkeys, you'd hire only one lisp brain.

> Of course there is a reduced version of this agenda, which is to use
> existing software project sites like Sourceforge and implement the
> most popular libraries there in Lisp and post them on Sourceforge.

And they'll say: "You've translated some lib in lisp? So what? Turing
completeness, etc".


> Well that's it, I hope I didn't annoy anybody, and sorry for the
> really long post, but I wanted to share this idea and see what others
> think.

On the other hand, Lisp has the potential of making these other
programming languages irrelevant, in that it can allow you to
aggregate enough AI to make an artificial programmer. Final customers
don't care about programming languages. They have specifications, and
they want executable code. Once we've written (in lisp) the software
that takes specifications and produces executable code, as long as
this code has less bugs and more features as code written in PHP or
C++, customers will drop these programmers and make use of our lisp
killer application.

--
__Pascal Bourguignon__

Kenny

unread,
Dec 23, 2008, 10:51:08 AM12/23/08
to
Tamas K Papp wrote:
> On Tue, 23 Dec 2008 03:08:13 -0800, MishoM wrote:
>
>
>>I started investigating and in the last weeks I've been watching the
>>videos of "Structure and Interpretation of Computer Programs" and I'm
>>reading "Practical Common Lisp". I liked a lot what I heard and read and
>>tried to tell my friends and colleagues about it, but the reaction was
>>like I'm going nuts, even though I made it clear that I intend to learn
>>more and try to implement a nontrivial program in Common Lisp before
>
>
> Hey dude,
>
> If you started talking about how great a language is _before_ you have
> used it for a while, I wouldn't be more polite to you either. I would
> be rude and tell you to stop wasting my time.

You must be like me, you just like being rude.

I think you forgot how good is Lisp.

I would at this point refer you to the many RtLs that include the
sentence "I knew at once I had found The One", but the black helicopters
are still looking for them.

>
>
>>And then I asked myself if there are circumstances which would help Lisp
>>get back on center stage. What I'm certain of is two things. First, as
>
>
> (Common) Lisp doesn't need to be "popularized", especially not by
> people who don't really program in it. CL is here, you can either use
> it or not use it, I would recommend the former but I don't really care
> what you do.
>
> Get some perspective - you have watched a video and started reading a
> book, and now you are ready to tell the world how great Lisp is, and
> tell the lispers how to make Lisp better and more popular. You are
> simply not a credible source of ideas on either.

Not bad, but I would have dragged his Mom into it somewhere.

> Stop wasting your time
> - just learn Lisp and start programming.

Yes!

kt

Kenny

unread,
Dec 23, 2008, 11:10:29 AM12/23/08
to
MishoM wrote:
> Hi,
>
> I'm really new to Lisp. I had heard of it before and...

...had exactly the same reaction as anyone who finds Lisp. What varies
is whether anyone immediately starts writing Lisp code or instead drops
into comp.lang.lisp to rally the troops, form a committee, create a
repository, take out an ad, hold a conference, and straighten everybody
else out.

hth,kenneth

MishoM

unread,
Dec 23, 2008, 11:21:14 AM12/23/08
to
Thanks to all of you. I suspected that my idea was stupid, and said
so ;)

And yes, I know I need more time to learn Lisp, before making
statements about it. I never said to anybody "Lisp is great", I just
said, "I'm learning about Lisp. I'll have a definite opinion when I've
tried to use it for a while, but this far it seem to be great."

About popularity - I think it is of great help for any programming
language to be popular because this means there's a stronger driving
force to maintain it.

Maybe I'm wrong about the amount of libraries - from browsing sites
(including virtually all sites you referenced me to) I got the
impression that most libraries are targeted towards web development
and AI.

And about trying to propose a way to popularize the language without
even having started to use it - that's true, these were just some
thoughts which I wanted to share to people who might find them either
interesting or extremely stupid. It turned out to be the later. These
thoughts were to a great extent provoked by the discussions I quoted.

Anyway, as the Chinese say "He, who speaks up may be a fool for 5
minutes, but he who doesn't remains a fool for his whole life." So,
thank you for taking the time to answer and I'll dismiss the rude
comments, they insult only those who made them.

MishoM

unread,
Dec 23, 2008, 11:25:42 AM12/23/08
to

I've installed on my laptop a CL system and I'm going to start writing
code as soon as I feel I've learned enough to be able to write
anything meaningful. Sorry for "ralling the troops etc.", I didn't
have the intention of organizing or straightening anything, I don't
have the time for this. I just wanted to drop an idea, silly as it
might be.

Tamas K Papp

unread,
Dec 23, 2008, 11:41:38 AM12/23/08
to
On Tue, 23 Dec 2008 10:51:08 -0500, Kenny wrote:

> You must be like me, you just like being rude.

Yes, sometimes.

> I think you forgot how good is Lisp.
>
> I would at this point refer you to the many RtLs that include the
> sentence "I knew at once I had found The One", but the black helicopters
> are still looking for them.

Nope, I know how good Lisp is, I use it daily. And I had the "I knew
at once" feeling when I started learning it. But I did not go and
proselytize to colleagues and friends, saying "look at this great
language! I have been using it for three whole days! you should be
using it too!".

Instead I just started working in it. Lo and behold, two colleagues
have already asked about Common Lisp. But I don't really care if they
will eventually start using it -- _I_ am using it, and it helps _me_
enormously. I don't see the point in convincing people about Lisp.
If they care about implementing complex programs efficiently, they
will look for it and eventually find it. If they don't, there is no
way I could convince them to use Lisp.

Recently I started working on a project that automates k-order
perturbation solutions of functional equations. I know of another,
similar system built in C++, which is a total nightmare of
Greenspunning (imagine manipulating symbolic expressions in C++. No
wait, don't imagine, you will have bad dreams). I will eventually
make this work public. But will go around convincing people to use
it? No, I couldn't care less.

Best,

Tamas

Tamas K Papp

unread,
Dec 23, 2008, 11:47:01 AM12/23/08
to
On Tue, 23 Dec 2008 08:25:42 -0800, MishoM wrote:

> I've installed on my laptop a CL system and I'm going to start writing
> code as soon as I feel I've learned enough to be able to write anything
> meaningful. Sorry for "ralling the troops etc.", I didn't have the

No, you are getting it wrong. Don't put off writing code. Start writing
code now. Do simple things, they will be "meaningful" in the sense that
you will be learning from them. The first few chapters of ANSI Common
Lisp or PCL should allow you to write interesting code.

Reading passively reading will never teach you any Lisp (or any other
programming language, or mathematics, natural sciences, economics, etc.
for that matter), you need to get your hands dirty and _do_ stuff.

HTH,

Tamas

MishoM

unread,
Dec 23, 2008, 11:53:48 AM12/23/08
to
On Dec 23, 6:41 pm, Tamas K Papp <tkp...@gmail.com> wrote:
> On Tue, 23 Dec 2008 10:51:08 -0500, Kenny wrote:
> > You must be like me, you just like being rude.
>
> Yes, sometimes.
>
> > I think you forgot how good is Lisp.
>
> > I would at this point refer you to the many RtLs that include the
> > sentence "I knew at once I had found The One", but the black helicopters
> > are still looking for them.
>
> Nope, I know how good Lisp is, I use it daily. And I had the "I knew
> at once" feeling when I started learning it. But I did not go and
> proselytize to colleagues and friends, saying "look at this great
> language! I have been using it for three whole days! you should be
> using it too!".

Unfortunately (for me) you are right. I've just been a little bit too
enthusiastic, for various reasons, the main of which is that I've been
writing in various languages, mainly C++ for the last 10+ years and
I've repeatedly found myself frustrated by the limitations of the
languages and learning about lisp I see that I could do these things
which I wanted to do before and couldn't. And more than that. Anyway,
thank you all for pointing out how far ahead of myself I'm getting.
Have nice holidays.

Kenny

unread,
Dec 23, 2008, 12:19:45 PM12/23/08
to

Actually I think you are doing just fine and we certainly appreciate the
enthusiasm and your taking the trouble to share. I was more just letting
you know we all feel the same way and waste a lot of time thinking about
how to evangelize Lisp (the whackier amongst us think we have to change
the name or be more like C++ or Java) and about a dozen community
projects have died at birth so STFU and start coding. :)

hth,kenneth

Lars Rune Nøstdal

unread,
Dec 23, 2008, 1:30:51 PM12/23/08
to
If you want something done or believe something "should be done" then
try doing it yourself. :)

Keep it simple.

Ali

unread,
Dec 23, 2008, 3:12:49 PM12/23/08
to
Don't worry, I'd imagine increasing numbers of people are finding lisp
more and more thanks to python and ruby becoming mainstreamed.

Lispers generally don't care about popularity because they can already
do what they want already. At least a few see it as a waste of time to
have lots of newbs around.

When I was even more of a newb, I took the view that transition code
should be written to allow people to use ugly stuff while they
transitioned to lisp, but now go with the view that you should just
ignore newb wants and have your own super productive higher order and
macro code as normal. That gives something worthwhile at least for
people to see as a reason for learning lisp.

OTOH, for the newb who finds macros and other niceties, an early
thought is, "omg, what if I had never taken the time to learn it? The
masses must be saved!", and I sympaphise with this view. An old-timer
will probably have less attachment to this feeling partly because it
was so long ago.

There are many people at university and otherwise who do have an
interest and all of the 2 required brain cells, but are simply unaware
of what they are missing. Heck, I came _this_ close to evangelizing
macros and linking to macro primers at my uni, I was just shocked that
all these bright people were unaware of their power.

But at the end of the day, the things I'm talking about are of little
interest to those who just want a degree, and of little interest to
those who just want a job (for the meantime). Most of the other people
who program out of interest will find lisp eventually anyway and might
even be super awesome enough that their employer lets them get on and
use lisp.

So for now, unless you are specifically making it possible to work
using lisp in the foreseeable future, very few people will care about
popularizing the language, not even lispers.

Dimiter "malkia" Stanev

unread,
Dec 23, 2008, 4:08:10 PM12/23/08
to

I haven't done any of the examples in the lisp books I've read. I've
started, but there was no direct satisfaction. There wasn't anything
really intriguing.

What I did instead, started translating various small "C/C++" code -
mostly libraries to Common Lisp - decompression, math, rendering, opengl
stuff. Currently I'm porting my Voxel Space Application for the iPhone
to Common Lisp - I would like to maintain the code in it, not in C. -
http://picasaweb.google.com/malkia/Mont

Probably not the best around, but I decided that for me to find the road
to lisp is to start from somewhere where I'm experienced (non-functional
imperative languages, semi-objective, close-to-the-metal etc.) and reach
my goal by using functional features more and more.

For example I've started right away using dotimes, dolist, and haven't
touched map functions for a while, until I felt comfortable. I'm barely
now scratching the macro-code, first took big steps of transforming
large pieces of duplicate code to be generated into one (mainly for
matrix operations), but now I'm trying little more iterative steps -
write some small macro, that calls a function to expand something, check
it on the REPL, go back, etc.

Later when I'm ready with my "written & driving" common lisp test, I'll
start digging more into PAIP, and SICP.

Certainly 15+ years of Basic, Pascal, X86 Assembly, C/C++, pointers,
manual memory management (well Basic had GC, but I was unaware then of
pointers), DMA and other "wonderful" machine related tasks are hard to
take out of me, but I'm trying. I'm still imaging every bit & piece I
put in the code, and how it would look in assembly.

This is also due to my professional career - that of being a console
game programmer. I learned to care about every memory allocation, every
bit that went to a structure, the layout of the structure in memory,
etc. It made me a cripple - I should stop worrying about such details,
and just do it, without thinking much how it would be in the machine.

So what I do expect, and I'm already benefiting, from Lisp is exactly
that - To unlearn the practice of close-to-the-metal programming, and
think more about expressing the ideas easier - e.g. being more
close-to-the-human.

So to me that's lisp - a close-to-the-human language, human in it's most
average case - someone who at least can do (+ 1 2)

Thanks,
Dimiter "malkia" Stanev.

Rainer Joswig

unread,
Dec 23, 2008, 5:24:02 PM12/23/08
to
In article <7c63lb7...@pbourguignon.anevia.com>,
p...@informatimago.com (Pascal J. Bourguignon) wrote:


...

> > 2. There will benefit from investing in learning Lisp, because there
> > are a lot of solutions readily available.
>
> No, the benefit due to existing solutions is close to 0.
>
> The benefit of Lisp comes from the process of YOU developping new
> solutions to new problems. If you're doing cut-and-pasting coding,
> which is no programming, then Lisp is of no use. Here is one concrete
> example of the examples I mentionned above. Apple's (ex NeXT)
>
> Interface Builder is an application that is written in Objective-C.
> It allows non-programmer or dumbed-down-programmers to build user
> interfaces, connecting objects that require little additionnal actual
> code to make an application. There is no Lisp benefit to be seen here.
>
> However, Interface Builder wouldn't exist if it had not been developed
> by Bertrand Hulo in Lisp in the first place. Thanks to using Lisp, he
> could write an Interface Builder that was hundreds of times better
> than the user interface editors of that time.

From what I read Steve Jobs got a demo of the Lisp version
of Jean-Marie Hulot's Interface Builder and hired him
the same day. The software later was also an inspiration
for Visual Age Smalltalk, I read.

For the record, here is a paper that the describes the use
of the Interface Builder of ExperCommon LISP:

Signal Constellation Design Tool: A Case study in User Interface
Synthesis
Gabriel Robins

http://www.cs.virginia.edu/~robins/papers/Signal_Constellation_Design_Tool_A_Case_Study_in_User_Interface_Synthesis.pdf

--
http://lispm.dyndns.org/

Xah Lee

unread,
Dec 23, 2008, 7:30:53 PM12/23/08
to
On Dec 23, 3:08 am, MishoM <mihaylov.mih...@gmail.com> wrote:
> Hi,
>
> I'm really new to Lisp. I had heard of it before and got the
> impression of a dead language with an exotic syntax and no real use.
> My opinion was changed by Paul Graham's article <a href = "http://www.paulgraham.com/avg.html">Beating the averages</a>.

>
> I started investigating and in the last weeks I've been watching the
> videos of "Structure and Interpretation of Computer Programs" and I'm
> reading "Practical Common Lisp". I liked a lot what I heard and read
> and tried to tell my friends and colleagues about it, but the reaction
> was like I'm going nuts, even though I made it clear that I intend to
> learn more and try to implement a nontrivial program in Common Lisp
> before forming my final opinion. The most frequent argument I heard
> was: "If Lisp was that good, it would be much more popular".
>
> So I started asking myself why isn't Lisp popular.
>
> ... [whole message 1162 words]

First, realize that your post is a FAQ. It happens about once every 2
or 3 months i think since i started reading comp.lang.lisp in 1999.
Someone, typically newbie, will post elaborate thoughts about such
topic as “why lisp isn't popular”. Often, these are tech geekers who
are social science illiterate. It would be far more fruitful, for
example, if people came from social science background to comment on
the issue.

Here's a few notes of my opinion you might be interested.

-----------------------
★ I don't think Lisp will ever be popular. I thought it would
eventually, 10 years ago, but now i think never. For detail, see:

• Will Lisp Ever Be Popular?
http://xahlee.org/UnixResource_dir/writ/lisp_be_popular.html

• Proliferation of Computing Languages
http://xahlee.org/UnixResource_dir/writ/new_langs.html

----------------------
★ Judged on the language itself from a academic point of view, i think
there are 2 problems of lisp that caused it serious damage. The
irregularity in syntacx, and the “cons” as list abstraction. The
irregularity prevented lisp to grow in many directions (compared how
XML is received today). However, the syntax irregularity does not
hamper lisp's use no more than say perl's syntax hampers its use.
However, the cons problem is a serious damage, that is almost
unfixable. The cons problem is the number one almost unsurmountble
problem for lisp, in fact, it is killing lisp today amid verdant
growth of functional langs. For detail, see:

• Fundamental Problems of Lisp
http://xahlee.org/UnixResource_dir/writ/lisp_problems.html

• My First Encounter And Impression Of Lisp
http://xahlee.org/PageTwo_dir/Personal_dir/xah_comp_exp.html

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

Personally, i like lisp for basically 2 reasons:

• It is functional. Functional programing, in my opinion, is the
simplest, most versatile, easy to use and learn, paradigm. (but too
often the functional programers, esp academics, makes it 10 times more
difficult with lots of lots of opaque jargons)

• Lisp was extremely well designed with respect to its time. The
lispers, are thinkers. (however, today, lisp the lang when compared to
other langs today such as Python, Ruby, or the tens new functional
langs, i think lisp the lang is actually NOT any better. Even not
counting the cons problem, it has lots of historical baggage and
ugliness that shows)

I basically only use emacs lisp, as a practical tool. I learned some
scheme in a academic context in 1999 (having read the sicp and R4RS),
and had some thoughts about learning Common Lisp, but today, i have no
interest in these whatsoever. See also:

• Xah's Emacs Lisp Tutorial
http://xahlee.org/emacs/elisp.html

You can also find book-length tutorials on Java, Perl, Python on my
website.

Xah
http://xahlee.org/

WalterGR

unread,
Dec 23, 2008, 7:53:20 PM12/23/08
to
On Dec 23, 3:08 am, MishoM <mihaylov.mih...@gmail.com> wrote:
> Hi,
>
> I'm really new to Lisp. I had heard of it before and got the
> impression of a dead language with an exotic syntax and no real use.
> My opinion was changed by Paul Graham's article Beating the averages.

Thanks for your proposal. It's clear you put a lot of time into the
write-up. I hope the responses that were - shall we say - not so
polite - don't turn you off from Lisp.

It's interesting that you find the number of Lisp libraries lacking.
Wanting to do some web programming, I experience the opposite: an
overwhelming number of selections and "the paradox of choice." Your
other point - that there's no de-facto "standard" set of libraries - I
agree with whole-heartedly. I like the batteries being included.

I think the network effect helps us all, and I applaud your desire to
help realize that. Trust that the barriers you encounter will be
encountered by others, and do what you can to tear them down. By
leaving a trail of breadcrumbs (so to speak) you'll help those who
follow you.

Riffing on your initial ideas, I'd love to see a cohesive set of
"batteries included" Lisp libraries. Even the products of an attempt
- e.g. write-ups of comparisons of similar libraries, or just
additional information posted to http://www.cl-user.net/ or http://cliki.net/
- would be invaluable.

Walter

Juanjo

unread,
Dec 24, 2008, 5:11:00 AM12/24/08
to
On 23 dic, 15:04, Hyphenated Smug Elitist <sthalik

+use...@tehran.lain.pl> wrote:
> Interfacing C from Lisp is easy, but not exactly the same the other way
> around. Still, there'sECLwith "embeddable" in its name.ECLprograms
> can be compiled to machine code as libraries and interfaced from C.ECL
> has a rather nice FFI making interfacing from C a walk in the park.
> Still, it forces Boehm GC into the process and using less-invasive GNU
> Guile for embeddability/scripting purposes might be a better solution.

Thanks for the nice description. I just wanted to make a small
precision here. Guile was also heading towards using Boehm GC, AFAIK,
but it any case it does not matter much.

Any Lisp implementation is going to need a garbage collecting memory
allocator. However your C program is not forced to use it. The Boehm
GC may coexist with your use of malloc/free or new/delete, if
configured properly. Indeed, ECL deactivates a feature of Boehm GC
which is to intrusively scan the data sections of the program in which
ECL is embedded, so that memory is not accidentally retained.

Juanjo

budden

unread,
Dec 24, 2008, 6:34:43 AM12/24/08
to
Hi!
My plan was:
1. Fix packaging/deployment uglities (asdf, asdf-install). It looks
like I've made some progress and I see no problems in the future to
finish it.
2. Maybe some GC-related extensions (mapping all live objects, but it
can be hard).
3. Reader extensions and fixes: associate readmacros with symbols, not
only to characters. Making possible to have multiple assignments of
e.g. #\[ readmacro at the same time and a way to switch them easily.
Fix package system design (there are several ways to do so, but I
think see-packages macro is one of the solutions). Make hierarchical
packages portable. Allow for direct embedding of other language source
templates into lisp, e.g. direct JS and HTML/XML quasiquoting for Web,
SQL quasiquoting.
4. Reviving lispdebug and integrating it into SLIME.
5. Maybe lighter OO system. CLOS is too flexible so it compromises
performance. But I'm afraid it is too late...
6. Making lisp distributions analogous to linux distributions, so that
they would install at one click and would be self-consistent.

These are internal problems/development directions of CL itself. Some
of them are obstacles for lisp to be more popular. Some are the ways
for lisp to be more attractive.

Stanisław Halik

unread,
Dec 24, 2008, 7:03:21 AM12/24/08
to
thus spoke Juanjo <juanjose.g...@googlemail.com>:

> Any Lisp implementation is going to need a garbage collecting memory
> allocator. However your C program is not forced to use it. The Boehm
> GC may coexist with your use of malloc/free or new/delete, if
> configured properly. Indeed, ECL deactivates a feature of Boehm GC
> which is to intrusively scan the data sections of the program in which
> ECL is embedded, so that memory is not accidentally retained.

Still, running the resulting program under Valgrind VM resulted in a
crash last time I used ECL. Valgrind tries to parse the machine code of
a binary and transform it somehow, this doesn't play well with Boehm
GC's assembly.

Dunno, maybe something changed, it was more than a year ago...

Pascal J. Bourguignon

unread,
Dec 24, 2008, 8:36:04 AM12/24/08
to
budden <budde...@mail.ru> writes:

> Hi!
> My plan was:

It's good to have a plan.

> 1. Fix packaging/deployment uglities (asdf, asdf-install). It looks
> like I've made some progress and I see no problems in the future to
> finish it.

I'm wondering. It looks like users of commercial implementations
don't have any problem with "libraries", "packaging" and "deployment".
Why would that be? Do commercial implementations come with batteries
included?


> 2. Maybe some GC-related extensions (mapping all live objects, but it
> can be hard).

What impact can that have on the popularity of lisp? From the point
of view of non lisp programmers/


> 3. Reader extensions and fixes: associate readmacros with symbols, not
> only to characters. Making possible to have multiple assignments of
> e.g. #\[ readmacro at the same time and a way to switch them easily.

Is that a language change?


> Fix package system design (there are several ways to do so, but I
> think see-packages macro is one of the solutions). Make hierarchical
> packages portable. Allow for direct embedding of other language source
> templates into lisp, e.g. direct JS and HTML/XML quasiquoting for Web,
> SQL quasiquoting.

This is language change.


> 4. Reviving lispdebug and integrating it into SLIME.

Debugging tools are good. What about "debugging in time"? (check
google's video).


> 5. Maybe lighter OO system. CLOS is too flexible so it compromises
> performance. But I'm afraid it is too late...

YALC.

> 6. Making lisp distributions analogous to linux distributions, so that
> they would install at one click and would be self-consistent.

Yes, this cannot be bad. I view commercial implementations as
distributions. We already have a couple of distributions:

- Lisp in a Box
- Lispbox

and IIRC, recently somebody posted on cll something about some
distribution or package set, but I can't find it right now.


> These are internal problems/development directions of CL itself. Some
> of them are obstacles for lisp to be more popular. Some are the ways
> for lisp to be more attractive.


--
__Pascal Bourguignon__

Kenny

unread,
Dec 24, 2008, 9:40:29 AM12/24/08
to
budden wrote:
> Hi!
> My plan was:
> 1. Fix packaging/deployment uglities (asdf, asdf-install). It looks
> like I've made some progress and I see no problems in the future to
> finish it.

Damn, two saviors in one year!

> 2. Maybe some GC-related extensions (mapping all live objects, but it
> can be hard).

Rarely needed, easily done by the app if it needs it.

> 3. Reader extensions and fixes: associate readmacros with symbols, not
> only to characters. Making possible to have multiple assignments of
> e.g. #\[ readmacro at the same time and a way to switch them easily.
> Fix package system design (there are several ways to do so, but I
> think see-packages macro is one of the solutions). Make hierarchical
> packages portable. Allow for direct embedding of other language source
> templates into lisp, e.g. direct JS and HTML/XML quasiquoting for Web,
> SQL quasiquoting.

That would be an emacs, thing, no?

> 4. Reviving lispdebug and integrating it into SLIME.
> 5. Maybe lighter OO system. CLOS is too flexible so it compromises
> performance. But I'm afraid it is too late...

Hey, what happened to savior-mode? Do a dynamic graph thingy, lighter
weight and more flexible.

> 6. Making lisp distributions analogous to linux distributions, so that
> they would install at one click and would be self-consistent.
>
> These are internal problems/development directions of CL itself. Some
> of them are obstacles for lisp to be more popular. Some are the ways
> for lisp to be more attractive.

Yeah, and I stopped dating Anna Kournikova because she lived on the
sixth floor of a walk-up.

hth,kenneth

grande...@gmail.com

unread,
Dec 24, 2008, 10:03:35 AM12/24/08
to

I just looked at the new language Ioke. Ioke has some features of
Lisp, ruby and javascript. For lispers it can be a trivial language
(Lisp has more features and macros ...), but this language look for a
market, to be popular.

Just my two cents.

Juanjo

unread,
Dec 24, 2008, 10:31:43 AM12/24/08
to
On 24 dic, 13:03, Stanisław Halik <sthalik+use...@tehran.lain.pl>
wrote:
> thus spoke Juanjo <juanjose.garciarip...@googlemail.com>:

> Still, running the resulting program under Valgrind VM resulted in a
> crash last time I used ECL. Valgrind tries to parse the machine code of
> a binary and transform it somehow, this doesn't play well with Boehm
> GC's assembly.

Not being able to run in Valgrind is not really a killing problem and
it tells worse about the VM than about the library you are trying to
debug :-) Valgrind is normally used for detecting leaks and other
problems in C++ programs. It is no wonder that the GC is not good for
Valgrind for it uses low level and rather advanced capabilities of
your operating systems, such as memory protection and the like. OTOH
the Boehm-Weiser library provides those features such as leak
detection, which could be activated if you need them, and you may also
deactivate the most advanced techniques that the GC uses, such as
memory protection and generational garbage collection.

Juanjo

game_designer

unread,
Dec 24, 2008, 1:42:44 PM12/24/08
to
Hi All,

in support of "go out and program" let me start with a shameless plug.
These are all Lisp applications:

* first visual programming language with Java bytecode compiler
* first Visual language for Lego Mindstorm prototype
* Web 2.0 style ability to share agents (in 1995)
...

http://video.google.com/videoplay?docid=-1481380128543299977&hl=en


One word if you are really concerned with the popularity of Lisp or
programming in general: EDUCATION

At the middle school level we are doing pretty well now. AgentSheets,
a program for video game and simulation design, is the first tool to
be used district wide by middle school kids in the USA.A new, large
scale, project is just about to start: http://scalablegamedesign.cs.colorado.edu/wiki/Publications

I have to share some videos of that experience as well. You have to
see it to believe it. Every kid takes a REQUIRED course on game
design. AgentSheets (the Lisp and Java version) produce Lisp
representation of the game which then gets compiled natively (Lisp) or
into Java bytecodes (Java).

Then, at the University level things start to look much worse for
Lisp. The "Programming languages with Lisp in week" courses work quite
well to teach students to never touch Lisp ever again. Students do not
usually care about any specific language attribute. Syntax, yes, that
could be an issue but really the big turn off is that students do not
see any kind of application that THEY could use the language for. And
the curb appeal of Lisp is rather low compared to all the free tools
students get including: MS XNA (to make game that can run on your
Xbox), or Eclipse.

In contrast, we have been teaching game design courses using OpenGL
and Lisp quite successfully. The point at which students change their
mind is if they see me change the running code and notice the
immediate feedback. Wow, how did you do this? Well, this is Lisp...
Now you get their interest. But is it fast enough? So, far CL still
has a speed advantage to scripting language such as Ruby and Python
but JavaScript on Chrome can already approximate and in some cases
even outperform some compiled Lisp code.

As an educator I would like to continue using Lisp in graphics courses
but I need a Lisp with
- better curb appeal: think XNA not Emacs SLIME
- instant usability: download Lisp and 5 minutes later have a working
hello world OpenGL NEHE demo
- Mac and Win support including GUI builder
- no cost..

Alex


budden

unread,
Dec 24, 2008, 1:52:13 PM12/24/08
to
Hallo Pascal
Sorry, I'm short in time.

> It looks like users of commercial implementations don't have any problem with "libraries", "packaging" and "deployment".

Yeah, until they trying to use open-source libraries (remember Kenny's
asdf tutorial).

> What impact can that have on the popularity of lisp? From the point of view of non lisp programmers

It is just "bell or whistle". C coders can't do that. I don't know
about Java coders. It is just one more mark in comparison table which
is in favor of lisp.

> Is that a language change?

All what you say is a language change I view as a language extension.
Lisp is extensible, right? I believe CL standard have several flaws,
and I'm not going to discuss my sanity anymore :) Take it as my
religion dogma. To make lisp more popular, they need to be fixed. I
don't suggest to change lisp, but I'd prefer to extend it and use some
standad features of CL for compatibility only. Reader fix will not be
a change, but "partial metacircular closure" and it (hopefully) will
be completely portable. You have implemented the reader so you know
that it is not too hard and can be rather smooth.

> What about "debugging in time"? (check google's video).

Which one? lispdebug is able to undo program execution (at least, to
some extent). In fact, I don't think it is strictly necessary, but it
is very attractive to newbies. Now it is called http://www.cliki.net/Jabberwocky
, but it is in a suspended state.


budden

unread,
Dec 24, 2008, 2:04:22 PM12/24/08
to
> Damn, two saviors in one year!
Have you read apocalypse?

> > GC


> Rarely needed, easily done by the app if it needs it.

Is there a way for app to walk data in closures and on the stack?

> > 3. Reader extensions and fixes: associate readmacros with symbols, not

> That would be an emacs, thing, no?

What do you mean? I took a look at parenscript and found that CL
sucks:
JS allows 'string' and "string", lisp allows "string" only.
Hence, quasiquoting JS from CL is non-sence. Quasiquoting CL from JS
looks a bit
better :) So, for _pragmatic_ web-apps JS/HTML embedding would be
useful. Lisp-mode
dies hard and this is the main issue.

> Hey, what happened to savior-mode? Do a dynamic graph thingy, lighter
> weight and more flexible.

What do you mean?

WalterGR

unread,
Dec 24, 2008, 6:52:10 PM12/24/08
to
On Dec 23, 4:53 pm, I wrote:

> Trust that the barriers you encounter will be encountered by
> others, and do what you can to tear them down.  By leaving a
> trail of breadcrumbs (so to speak) you'll help those who
> follow you.

Or to put it more pithily:

You don't need to save Lisp to save one Lisp programmer.

(And if that programmer saves another...)

Walter

Wade

unread,
Dec 24, 2008, 7:27:26 PM12/24/08
to
IMHO...

Lisp is not popular because of the s-exp syntax. Many people
are thrown right away when looking at it. But without the s-exp
syntax its not Lisp. But its the s-exp syntax that attracted
me to learn Lisp.

Its not the libraries (lack or not lack), it has absolutely
nothing to do with that.

Programming languages are not popular in general. Non-programmers
do not like any programs. Programmers do not like other programmers
programs. Many people do not even like the programs they write
themselves. Its just what it is.

Learn to be unpopular, it is freeing.

Wade

Luís Oliveira

unread,
Dec 24, 2008, 7:54:03 PM12/24/08
to
Wade <wade.h...@gmail.com> writes:

> Lisp is not popular because of the s-exp syntax. Many people
> are thrown right away when looking at it.

In my experience, that issue mostly goes away when using low-contrast
parenthesis (parenface) and syntax coloring.

--
Luís Oliveira
http://student.dei.uc.pt/~lmoliv/

Kenny

unread,
Dec 24, 2008, 8:24:24 PM12/24/08
to

>>Hey, what happened to savior-mode? Do a dynamic graph thingy, lighter
>>weight and more flexible.
>
> What do you mean?
>

RDF.

Rob Warnock

unread,
Dec 24, 2008, 8:46:35 PM12/24/08
to
budden <budde...@mail.ru> wrote:
+---------------

| 3. Reader extensions and fixes: associate readmacros with symbols, not
| only to characters. Making possible to have multiple assignments of
| e.g. #\[ readmacro at the same time and a way to switch them easily.
+---------------

Already there: You can use the "integer infix parameter" argument
of a dispatching macro character reader macro function, see CLHS
"2.1.4.4 Macro Characters" to completely change the meaning, if
you like. That is, #[...] can be totally different from #0[...],
which can be totally different from #1[...]. You could even have
the forms with supplied integer parameters set a global default
which is used by any later forms without one, so that:

#0[...] #[...] #[...] #1[...] #[...] #[...]

would mean the same as:

#0[...] #0[...] #0[...] #1[...] #1[...] #1[...]

I would not suggest doing that, though, since that would make #[...] be
"globally moded" in a way that can be very hard to read & debug later.

If you don't want to use dispatching macro characters, then you
can pull the same trick with plain macro characters, by inventing
a magic "default-switching" syntax different from any of your other
uses. E.g., if "[" is your macro character then you could easily
write [horribly confusing] stuff like this:

(defun foo (who when base)
[##SQL]
(let* (name
date
(row [select name, date from comments
where name = '$who' and date < '$when'
limit 1]))
[##PERL]
(values name [$date - $base])))

I would not suggest trying to use anything as confusing as that
for real... but one *could*...


-Rob

-----
Rob Warnock <rp...@rpw3.org>
627 26th Avenue <URL:http://rpw3.org/>
San Mateo, CA 94403 (650)572-2607

WalterGR

unread,
Dec 24, 2008, 8:58:05 PM12/24/08
to
On Dec 24, 4:27 pm, Wade <wade.humen...@gmail.com> wrote:
> IMHO...
>
> Lisp is not popular because of the s-exp syntax.  Many people
> are thrown right away when looking at it.  [snip]

>
> Its not the libraries (lack or not lack), it has absolutely
> nothing to do with that.

It's more complicated than that.

The s-expressions-as-why-Lisp-isn't-popular argument is the ol'
standard. Without s-expressions, Lisp wouldn't be Lisp. We can then
blame the lack of popularity on programmers not liking an _inherent_
characteristic of Lisp, rather than something we can remedy.

> Its not the libraries (lack or not lack), it has absolutely
> nothing to do with that.

The original poster specifically said that's one of his problems with
Lisp. Ergo, it does have something to do with that.

For adoption of any language, it's all about barrier to entry vs.
perceived expected future benefit. Obviously for some, s-expressions
*are* a barrier to entry. If they don't adopt Lisp, we have the
choice to blame it on an inherent characteristic of the language, or
the possibility that we haven't articulated the benefits in a
convincing enough way. Have you seen a well-written, fairly brief
explanation of the benefits of s-expressions and why they let you do
things that are impossible in other languages? I haven't.

For others, the s-expressions are no problem. Their barriers are
something else: libraries as mentioned previously, the number of
different Lisp implementations, that Emacs is nearly required to do
serious Lisp programming on free implementations, asdf on Windows...
the list goes on. These barriers *exist*. But it is easy to blame it
all on the parenthesis.

(Didn't want to break up the paragraph with a footnote: I'm aware of
Cusp etc. and absolutely applaud their efforts.)

To speak from personal experience: I wanted to do a little web
programming with Hunchentoot. I realized that it would be easier to
switch to *nix than to do it in Windows. And I did. I'm learning a
*different operating system* to do what I want in Lisp. How many
budding Lisp programmers would do that?

Walter

Wade

unread,
Dec 24, 2008, 9:10:37 PM12/24/08
to
On Dec 24, 6:58 pm, WalterGR <walte...@gmail.com> wrote:

> > Its not the libraries (lack or not lack), it has absolutely
> > nothing to do with that.
>
> The original poster specifically said that's one of his problems with
> Lisp.  Ergo, it does have something to do with that.
>

Then perhaps the original poster can name ONE (as in 1) specific
library that is missing that he needs.

Wade

Xah Lee

unread,
Dec 25, 2008, 5:38:02 AM12/25/08
to
On Dec 24, 4:54 pm, luis.olive...@deadspam.com (Luís Oliveira) wrote:

> Wade <wade.humen...@gmail.com> writes:
> > Lisp is not popular because of the s-exp syntax. Many people
> > are thrown right away when looking at it.
>
> In my experience, that issue mostly goes away when using low-contrast
> parenthesis (parenface) and syntax coloring.

i have a love for uniform syntax systems.

By “system”, it is meant that there are no exceptions, with just a
core axiom or principle. A pure parenthesis nested syntax, is such a
system. Other such syntax system include XML, and Mathematica's
syntax.

When things are uniform, it is subject to systematic automation, which
in turn means huge power. Especially today, the computing industry is
more and more aware of this. Witness XML and the whole of its
associated technologies, the semantic web, and in particular Google's
software that puts a heavy emphasis on massive scale automation.

(when you talk about automation, one of the most important element is
simplicity and uniformality. (not assuming here strong AI))

The first thing lisp's syntax benefitted lispers is the development of
the concept of macros. Unfortunately, lisp's syntax are irregular,
thus destroyed much of its potential. One of the potential is a
transparent a layer of human-readible syntax, which would maintain the
whole advantage of machine parsible uniform nested syntax yet humans
don't have to use that if they don't want to. (e.g. such syntax system
is in Mathematica, or in lisp circles so-called M-expression)

Having written a book-length tutorial on emacs lisp in the past 3
years, my personal experience is that coding in nested paren is a pain
in the ass in actual coding, despite emacs being the lisp editor with
all its editing power.

For a detailed exposition on nested syntax, see:

• The Concepts and Confusions of Prefix, Infix, Postfix and Fully
Nested Notations
http://xahlee.org/UnixResource_dir/writ/notations.html

in particular, the 3rd section “How Purely Nested Notation Limits The
Language's Utility”.

For a detailed exposition on how lisp's irregularities damaged the
lang's potential, see the section “Syntax Irregularities” at

the following is a plain text excert from one of the section of the
above article.

---------------------------------
How Purely Nested Notation Limits The Language's Utility

2007-05-03

There is a common complain by programers about lisp's notation, of
nested parenthesis, being unnatural or difficult to read. Long time
lisp programers, often counter, that it is a matter of conditioning,
and or blaming the use of “inferior” text editors that are not
designed to display nested notations. In the following, i describe how
lisp notation is actually a problem, in several levels.

(1) Some 99% of programers are not used to the nested parenthesis
syntax. This is a practical problem. On this aspect along, lisp's
syntax can be considered a problem.

(2) Arguably, the pure nested syntax is not natural for human to read.
Long time lispers may disagree on this point.

(3) Most importantly, a pure nested syntax discourages frequent or
advanced use of function sequencing or compositions. This aspect is
the most devastating.

The first issue, that most programers are not comfortable with nested
notation, is well known. It is not a technical issue. Whether it is
considered a problem of the lisp language is a matter of philosophical
disposition.

The second issue, about nested parenthesis not being natural for human
to read, may be debatable. I do think, that deep nesting is a problem
to the programer. Here's a example of 2 blocks of code that are
syntactically equivalent in the Mathematica language:

vectorAngle[{a1_, a2_}] := Module[{x, y},
{x, y} = {a1, a2}/Sqrt[a1^2 + a2^2] // N;
If[x == 0, If[Sign@y === 1, π/2, -π/2],
If[y == 0, If[Sign@x === 1, 0, π],
If[Sign@y === 1, ArcCos@x, 2 π - ArcCos@x]
]
]
]

SetDelayed[vectorAngle[List[Pattern[a1,Blank[]],Pattern[a2,Blank[]]]],
Module[List[x,y],
CompoundExpression[
Set[List[x,y],
N[Times[List[a1,a2],
Power[Sqrt[Plus[Power[a1,2],Power[a2,2]]],-1]]]],
If[Equal[x,0],
If[SameQ[Sign[y],1],Times[π,Power[2,-1]],
Times[Times[-1,π],Power[2,-1]]],
If[Equal[y,0],If[SameQ[Sign[x],1],0,π],
If[SameQ[Sign[y],1],ArcCos[x],
Plus[Times[2,π],Times[-1,ArcCos[x]]]]]]]]]

In the latter, it uses a full nested form (called FullForm in
Mathematica). This form is isomorphic to lisp's nested parenthesis
syntax, token for token (i.e. lisp's “(f a b)” is Mathematica's “f
[a,b]”). As you can see, this form, by the sheer number of nested
brackets, is in practice problematic to read and type. In Mathematica,
nobody really program using this syntax. (The FullForm syntax is
there, for the same reason of language design principle shared with
lisp of “consistency and simplicity”, or the commonly touted lisp
advantage of “data is program; program is data”.)

The following shows the same code with tokens transformed into the
lisp style.

(SetDelayed
(vectorAngle (list (Pattern a1 (Blank)) (Pattern a2 (Blank))))
(let (list x y)
(progn
(setq (list x y)
(N (* (list a1 a2)
(exp (sqrt (+ (exp a1 2) (exp a2 2))) -1))))
(if (eq x 0)
(if (equal (signum y) 1) (* π (exp 2 -1))
(* (* -1 π) (exp 2 -1)))
(if (eq y 0) (if (equal (signum x) 1) 0 π)
(if (equal (signum y) 1) (acos x)
(+ (* 2 π) (* -1 (acos x)))))))))

Note: The steps to transform the sample Mathematica code in FullForm
to lisp's sexp is done by these operations (for those curious):

* 1. Move the head inside. (using this regex “\([A-Za-z]+\)\[” →
“[\1”)
* 2. Replace bracket by parens. [] → ()
* 3. Replace function names to lisp styled names:
o Plus → +
o Times → *
o List → list
o If → if
o Set → setq
o Power → exp
o Sqrt → sqrt
o Equal → eq
o SameQ → equal
o Sign → signum
o ArcCos → acos
o Module → let
o CompoundExpression → progn
o Replace comma to space. (“,” → “ ”)
* 4. Adjust linebreaks and indentations to lisp convention.

The third issue, about how nested syntax seriously discourages
frequent or advanced use of inline function sequencing on the fly, is
the most important and I'll give further explanation below.

One practical way to see how this is so, is by considering unix's
shell syntax. You all know, how convenient and powerful is the unix's
pipes. Here are some practical example: “ls -al | grep xyz”, or “cat a
b c | grep xyz | sort | uniq”.

Now suppose, we get rid of the unix's pipe notation, instead, replace
it with a pure functional notation: e.g. (uniq (sort (grep xyz (cat a
b c)))), or enrich it with a composition function and a pure function
construct (aka lambda), so this example can be written as:
((composition uniq sort (lambda (x) (grep xyz x))) (cat a b c)).

You see, how this change, although syntactically equivalent to the
pipe “|” (or semantically equivalent in the example using function
compositions), but due to the cumbersome nesting of parenthesis, will
force a change in the nature of the language by the code programer
produces. Namely, the frequency of inline sequencing of functions on
the fly will probably be reduced, instead, there will be more code
that define functions with temp variables and apply it just once as
with traditional languages.

A language's syntax or notation system, has major impact on what kind
of code or style or thinking pattern on the language's users. This is
a well-known fact for those acquainted with the history of math
notations.

The sequential notation “f@g@h@x”, or “x//h//g//f”, or unixy “x|h|g|
f”, are far more convenient and easier to decipher, than “(f (g (h
x)))” or “((composition f g h) x)”. In actual code, any of the f, g, h
might be a complex pure function (aka lambda constructs, full of
parenthesis themselves).

Lisp, by sticking with a almost uniform nested parenthesis notation,
it immediately reduces the pattern of sequencing functions, simply
because the syntax does not readily lend the programer to it as in the
unix's “x|h|g|f”. For programers who are aware of the coding pattern
of sequencing functions, now either need to think in terms of a
separate “composition” construct, and or subject to the much
problematic typing and deciphering of nested parenthesis. (in
practice, it's mostly done by writing the inline functions as a
auxiliary function definitions on their own, then another code block
sequence them together.)

(Note: Lisp's sexp is actually not that pure. It has ad hoc syntax
equivalents such as the “quote” construct “ '(a b c) ”, and also “`”,
“#”, “,@” constructs, precisely for the purpose of reducing
parenthesis and increasing readability. Scheme's coming standard the
R6RS ↗, even proposes the introduction of [] and {} and few other
syntax sugars to break the uniformity of nested parenthesis for
legibility. Mathematica's FullForm, is actually a version of
unadulterated nested notation as can be. For a full discussion, see:
Fundamental Problems of Lisp. )

Xah
http://xahlee.org/


Pascal J. Bourguignon

unread,
Dec 25, 2008, 6:34:33 AM12/25/08
to
Xah Lee <xah...@gmail.com> writes:

> vectorAngle[{a1_, a2_}] := Module[{x, y},
> {x, y} = {a1, a2}/Sqrt[a1^2 + a2^2] // N;
> If[x == 0, If[Sign@y === 1, π/2, -π/2],
> If[y == 0, If[Sign@x === 1, 0, π],
> If[Sign@y === 1, ArcCos@x, 2 π - ArcCos@x]
> ]
> ]
> ]
>
> SetDelayed[vectorAngle[List[Pattern[a1,Blank[]],Pattern[a2,Blank[]]]],
> Module[List[x,y],
> CompoundExpression[
> Set[List[x,y],
> N[Times[List[a1,a2],
> Power[Sqrt[Plus[Power[a1,2],Power[a2,2]]],-1]]]],
> If[Equal[x,0],
> If[SameQ[Sign[y],1],Times[π,Power[2,-1]],
> Times[Times[-1,π],Power[2,-1]]],
> If[Equal[y,0],If[SameQ[Sign[x],1],0,π],
> If[SameQ[Sign[y],1],ArcCos[x],
> Plus[Times[2,π],Times[-1,ArcCos[x]]]]]]]]]

> The following shows the same code with tokens transformed into the
> lisp style.
>
> (SetDelayed
> (vectorAngle (list (Pattern a1 (Blank)) (Pattern a2 (Blank))))
> (let (list x y)
> (progn
> (setq (list x y)
> (N (* (list a1 a2)
> (exp (sqrt (+ (exp a1 2) (exp a2 2))) -1))))
> (if (eq x 0)
> (if (equal (signum y) 1) (* π (exp 2 -1))
> (* (* -1 π) (exp 2 -1)))
> (if (eq y 0) (if (equal (signum x) 1) 0 π)
> (if (equal (signum y) 1) (acos x)
> (+ (* 2 π) (* -1 (acos x)))))))))

The above is not Common Lisp, either.

(declaim (inline square))
(defun square (x) (* x x))

(defun vector-angle (v)
(destructuring-bind (x y) v
(cond
((zerop x) (if (plusp y) (/ pi 2) (/ pi -2)))
((zerop y) (if (plusp x) 0 pi))
((plusp y) (acos (/ x (sqrt (+ (square x) (square y))))))
(t (- (* 2 pi)
(acos (/ x (sqrt (+ (square x) (square y))))))))))


> In the latter, it uses a full nested form (called FullForm in
> Mathematica). This form is isomorphic to lisp's nested parenthesis
> syntax, token for token (i.e. lisp's “(f a b)” is Mathematica's “f
> [a,b]”). As you can see, this form, by the sheer number of nested
> brackets, is in practice problematic to read and type.

What's problematic is not being able to program... to write elegant code.

--
__Pascal Bourguignon__

Stanisław Halik

unread,
Dec 25, 2008, 8:10:54 AM12/25/08
to
thus spoke Wade <wade.h...@gmail.com>:

> Lisp is not popular because of the s-exp syntax.

[...]


> Learn to be unpopular, it is freeing.

Maybe the best argument against popular languages could be a five-minute
conversation with an average programmer?

--
You only have power over people so long as you don’t take everything
away from them. But when you’ve robbed a man of everything he’s no longer
in your power — he’s free again. -- Aleksandr Isayevich Solzhenitsyn

Pascal Costanza

unread,
Dec 25, 2008, 8:12:19 AM12/25/08
to
Stanisław Halik wrote:
> thus spoke Wade <wade.h...@gmail.com>:
>
>> Lisp is not popular because of the s-exp syntax.
> [...]
>> Learn to be unpopular, it is freeing.
>
> Maybe the best argument against popular languages could be a five-minute
> conversation with an average programmer?

Or a subscription to the Daily WTF feed at http://thedailywtf.com/ ;)

Pascal

--
My website: http://p-cos.net
Common Lisp Document Repository: http://cdr.eurolisp.org
Closer to MOP & ContextL: http://common-lisp.net/project/closer/

budden

unread,
Dec 25, 2008, 10:48:09 AM12/25/08
to
> Already there: You can use the "integer infix parameter" argument
Maybe, but integers look a bit hakish here. I though of something
like:

#wsql[ select name from comments into :name] (
(list #wperl[ $foo ] name) ; name is bound here with SQL embedding
)
here we use only one dispatch macro character #w which says "read a
symbol and
call its symbol-readmacro". So we have symbol-readmacros for :sql
[ and :perl[ .
It is just a bit unfair - we need extra space to separate dispatching
symbol.

>       [##SQL]
I dislike it (as you do), it is anti-lispy.

Don Geddis

unread,
Dec 25, 2008, 7:20:00 PM12/25/08
to
Xah Lee <xah...@gmail.com> wrote on Thu, 25 Dec 2008:
> The first thing lisp's syntax benefitted lispers is the development of
> the concept of macros. Unfortunately, lisp's syntax are irregular,
> thus destroyed much of its potential.

You've been asked many times, but have yet to come up with a SINGLE example
where Common Lisp's "irregular" syntax affects Common Lisp's macros in ANY
way. Much less "destroyed [...] its potential."

Do you find, when you're unable to justify your lies, that simply repeating
them makes you feel better?

-- Don
_______________________________________________________________________________
Don Geddis http://don.geddis.org/ d...@geddis.org
I hope that after I die, people will say of me: ``That guy sure owed me a lot
of money.'' -- Deep Thoughts, by Jack Handey

MarkHa...@gmail.com

unread,
Dec 26, 2008, 1:14:14 AM12/26/08
to
On Dec 25, 7:10 am, Stanisław Halik <sthalik+use...@tehran.lain.pl>
wrote:

> > Learn to be unpopular, it is freeing.
>
> Maybe the best argument against popular languages could be a five-minute
> conversation with an average programmer?

There's a reason the Goth kids love Common Lisp.

game_designer

unread,
Dec 26, 2008, 1:23:08 AM12/26/08
to
On Dec 23, 5:30 pm, Xah Lee <xah...@gmail.com> wrote:

> The irregularity prevented lisp to grow in many directions (compared how
> XML is received today).

I really do not understand what you mean by "irregularity"

It is pretty simple to implement XML in Lisp (via MOP + reader +
printer) but XML has no intrinsic computational model, i.e., you could
not "implement" Lisp in XML. I say, merge the two: http://www.agentsheets.com/lisp/XMLisp/

Xah Lee

unread,
Dec 26, 2008, 3:34:55 AM12/26/08
to
On Dec 25, 10:23 pm, game_designer <alex.repenn...@gmail.com> wrote:

> On Dec 23, 5:30 pm,XahLee<xah...@gmail.com> wrote:
>
> > The irregularity prevented lisp to grow in many directions (compared how
> > XML is received today).
>
> I really do not understand what you mean by "irregularity"
>
> It is pretty simple to implement XML in Lisp (via MOP + reader +
> printer) but XML has no intrinsic computational model, i.e., you could
> not "implement" Lisp in XML.

spend at least 1 hour reading this article:

this means subsequent articles or wikipedia articles or spend time to
think about it. Go over parts you thought its not clear. You'll
understand.

Xah
http://xahlee.org/


Pascal Costanza

unread,
Dec 26, 2008, 6:22:52 AM12/26/08
to

LOL!

Tayssir John Gabbour

unread,
Dec 26, 2008, 7:35:33 AM12/26/08
to
On Dec 25, 2:12 pm, Pascal Costanza <p...@p-cos.net> wrote:

> Stanisław Halik wrote:
> > Maybe the best argument against popular languages could be a five-minute
> > conversation with an average programmer?
>
> Or a subscription to the Daily WTF feed athttp://thedailywtf.com/;)

Sadly, I've seen monstrous Common Lisp code which is magnificent in
its ugliness. You wouldn't believe what DECLARE SPECIAL can do, in the
hands of someone with a vendetta against LET.

Or for a more common example, execute this in front of a newbie (and
offer no guidance for what her computer does next):
(asdf-install:install :clsql)

We'll assume you remembered to install/enable asdf-install...

Or try editing Lisp code without Paredit. If you already use Paredit,
have you noticed how much pity you feel for Lisp users futzing with
parens? "I don't see parens anymore!" they'll claim, when you're
watching them doing all sorts of complicated processes involving paren-
matching and indentation.

I recently taught someone Common Lisp. (She enjoyed using it for a
night after I left, then put it away like a forgotten toy.) To explain
COND and LET, I had to fire up Clojure. That made CL's versions
clearer.

(This is not to pick on Common Lisp in particular: the whole software
world suffers from it. For example, I can't believe anyone at Sun ever
wondered why applets didn't take off. And those people who say that
Linux is ready for grandma... how many grandmothers have they driven
to early graves?)


Tayssir

Stanisław Halik

unread,
Dec 26, 2008, 8:07:38 AM12/26/08
to
thus spoke budden <budde...@mail.ru>:

>> Already there: You can use the "integer infix parameter" argument
> Maybe, but integers look a bit hakish here. I though of something
> like:
> #wsql[ select name from comments into :name] (
> (list #wperl[ $foo ] name) ; name is bound here with SQL embedding

> It is just a bit unfair - we need extra space to separate dispatching
> symbol.

And why is that? Bind #\[ to read-delimited list and #\] to
(get-macro-character #\)) and it should Just Work.

Stanisław Halik

unread,
Dec 26, 2008, 8:16:14 AM12/26/08
to
thus spoke Tayssir John Gabbour <tayssi...@googlemail.com>:

> Or try editing Lisp code without Paredit. If you already use Paredit,
> have you noticed how much pity you feel for Lisp users futzing with
> parens? "I don't see parens anymore!" they'll claim, when you're
> watching them doing all sorts of complicated processes involving paren-
> matching and indentation.

FWIW, Paredit's great, but it's missing one important operation:

(defun nest-sexp ()
(interactive)
(let ((start (point))
(end (save-excursion
(forward-sexp)
(point))))
(insert "( ")
(goto-char (+ 2 end))
(insert ")")
(goto-char (1+ start))))

Tayssir John Gabbour

unread,
Dec 26, 2008, 9:21:10 AM12/26/08
to
On Dec 26, 2:16 pm, Stanisław Halik <sthalik+use...@tehran.lain.pl>
wrote:

> FWIW, Paredit's great, but it's missing one important operation:
>
> (defun nest-sexp ()
> (interactive)
> (let ((start (point))
> (end (save-excursion
> (forward-sexp)
> (point))))
> (insert "( ")
> (goto-char (+ 2 end))
> (insert ")")
> (goto-char (1+ start))))

Cool... but doesn't that do basically the same thing as paredit-wrap-
sexp? (Though it looks handy in that it adds an extra space in front
of your cursor.)


Tayssir

Tayssir John Gabbour

unread,
Dec 26, 2008, 9:24:45 AM12/26/08
to
On Dec 26, 3:21 pm, Tayssir John Gabbour <tayssir.j...@googlemail.com>
wrote:

> Cool... but doesn't that do basically the same thing as paredit-wrap-
> sexp? (Though it looks handy in that it adds an extra space in front
> of your cursor.)

paredit-wrap-sexp is incidentally bound to M-(.

For some reason, I always feel like I'm making some kinda energy orb
when typing that chord... filling it with the next sexp. (Or
generating an empty orb if there is no next sexp.)


Tayssir

On Dec 26, 3:21 pm, Tayssir John Gabbour <tayssir.j...@googlemail.com>
wrote:
> On Dec 26, 2:16 pm, Stanis³aw Halik <sthalik+use...@tehran.lain.pl>

jos koot

unread,
Dec 26, 2008, 2:17:45 PM12/26/08
to
On Dec 25, 12:34 pm, p...@informatimago.com (Pascal J. Bourguignon)
wrote:

Pros for Scheme (rather than Lisp) I can think of:
1: uniform syntax (with a good editor you hardly notice the
parentheses any longer after two days of practice)
2: very few semantical restrictions.
3: Most important: a program is a datum that can be read simply by
(read port). Therefore it is rather easy two write code that
manipulates and generates programs.
4: The hygienic macros of syntax-rules and syntax-case facilitate the
construction of macro's (this is related to point 3, of course)
5: point 4 makes it very easy to extend the language to your own
needs.

I don't know why, but for a product to be supreme is not enough to be
choosen by a general public or even to survive. Sometimes I even
suspect some programmers (I dont want you to read this a
generalization) that they prefer cryptic notation (and documentation)
above modern clear notation and acceessible documentation, just
because their knowledge of the cryptics lends them some power over
people (may be customers) without that knowledge.

There are some difficulties newbies may experience when being
introduced in Lisp or Scheme. The most important one is, I think, the
distinction between 'quotation' and 'mention'. For example `(a b c)'
is a list, while `(list 'a 'b 'c)' or `(quote (a b c))' are
expressions (btw lists too) that evaluate to the list `(a b c)'. Some
may considere this a contra. I think it is a pro, for it forces the
programmer to keep in mind the distinction between 'quotation' and
`mention'. I mean the question: "what is left of a sorcerer after his
tricks have been exposed?"

(if you want to respond to my 2 cents, please cc it to jos dot koot at
telefonica dot com)
Jos

Wade

unread,
Dec 26, 2008, 5:57:15 PM12/26/08
to
I have been considering the popularity thing. It is probably solvable
by using marketing/persuasion. There is a show here in Canada
called the "The Age of Persuasion". It has thoughtful insights into
how to persuade people. Here as link into the series of audio casts.

http://www.cbc.ca/ageofpersuasion/2008/06/six_remarkable_brands_1.html


Wade

WalterGR

unread,
Dec 26, 2008, 6:39:23 PM12/26/08
to
On Dec 26, 2:57 pm, Wade <wade.humen...@gmail.com> wrote:

> I have been considering the popularity thing.  It is probably solvable
> by using marketing/persuasion.

It's _partially_ solvable via marketing. Marketing only solves the
first half of the expected-benefits vs. barrier-to-entry problem. If
we convince people to check out Lisp but it's still a pain in the ass
to get started, we're no better off than we were before.

The marketing of Lisp _is_ terrible. It's put succinctly by this blog
post:

http://www.lispcast.com/drupal/node/29

...though it gives significant leniency to Lisp by using common-
lisp.net as the Lisp example: it's not even in the top 10 Google hits
for Lisp, and unlike the relevant top 10 (minus Wikipedia and
planet.lisp.org,) it actually has a decent design aesthetic.

Combining marketing with reducing the barrier to entry: the single
biggest thing that would improve Lisp's popularity would be making the
Able home page the #1 Google hit for Lisp. (http://
phil.nullable.eu/) Move the "Potential issues and To-do list" section
to a separate page, add a "Getting started with Lisp" section with a
link to the Practical Common Lisp book, and we'd be set.

Walter

WalterGR

unread,
Dec 26, 2008, 7:23:59 PM12/26/08
to
Here's a screenshot tour of the top 10 Google hits for Lisp:

http://waltergr.com/tlgh/

(These may differ from your top 10 ghits - Google customizes results
based on your search history... Clear your Google cookie and you
should see the same pages.)

Walter

alien_guy

unread,
Dec 26, 2008, 7:29:39 PM12/26/08
to
On Fri, 26 Dec 2008 15:39:23 -0800, WalterGR wrote:
> Combining marketing with reducing the barrier to entry: the single
> biggest thing that would improve Lisp's popularity would be making the
> Able home page the #1 Google hit for Lisp. (http:// phil.nullable.eu/)

good heavens! if this is the "biggest thing that would improve Lisp's
popularity" then I'd rather CL remain unpopular as it is.
why is it that noobs want to advertise such primitive tools as ABLE or
CUSP/Eclipse ?

WalterGR

unread,
Dec 26, 2008, 7:55:02 PM12/26/08
to

You don't know a thing about me, so it's impolite to call me a
"noob." Further, did you read my post at all? I said Able being the
#1 link on Google would best help its popularity, not that every Lisp
programmer should use Able.

Your post captures precisely why Lisp isn't more popular.

"I know about this programming language that's more powerful than
*any* other programming language out there. You want to learn it?
Okay, first you have to use this specific programming environment. No
no no... you'll learn to *like* those key chords! It's one of the
benefits, you see. Besides, if you don't like them, you can change
them. How do you change them? Oh, you just use this programming
language that's more powerful than *any* other programming language
out there."

Walter

philip....@gmail.com

unread,
Dec 26, 2008, 8:05:27 PM12/26/08
to
On Dec 27, 12:29 am, alien_guy <l...@l.org> wrote:
> good heavens! if this is the "biggest thing that would improve Lisp's
> popularity" then I'd rather CL remain unpopular as it is.
> why is it that noobs want to advertise such primitive tools as ABLE or
> CUSP/Eclipse ?

Scanning my inbox I have many emails from people who've contacted me
to say that they now program in Lisp because of ABLE. Is it not a good
thing that these people now program Lisp rather than just picking up
Python or Ruby? They had the curiosity to look a little beyond the
obvious choices...is it not a good idea to help them on their way?

So I'm curious as to why it would be better for Lisp to remain
unpopular than to provide tools that make it easier for new
programmers to start using the language. If you believe ABLE is
harming Lisp, as you seem to imply, then perhaps I should take the
site down?

Phil

Tamas K Papp

unread,
Dec 26, 2008, 8:11:38 PM12/26/08
to
On Fri, 26 Dec 2008 15:39:23 -0800, WalterGR wrote:

> Combining marketing with reducing the barrier to entry: the single
> biggest thing that would improve Lisp's popularity would be making the
> Able home

I still haven't seen a convincing argument on _why_ people should be
wasting their time on improving Lisp's "popularity". Why is it an end in
itself? For example, mathematics courses are not popular among
undergrads even at the better universities. Does that make them less
useful? Would mathematicians and scientist gain anything by making
partial differential equations more "popular"?

Also, the problems you mention with Lisp are superficial. "No easy
download"? You can download and install a working CL implementation with
minimal effort, especially compared to the effort of learning the
language. I don't see this as the effective barrier to entry, people who
can't jump this hurdle shouldn't be programming computers anyhow. Again,
compare with mathematics: for most math subjects, there is no "easy
download" Idiot's Guide textbook with cartoons you can drool onto.
People still learn them simply because they are useful. Those who need
some area of mathematics will find it, despite the fact that none of them
have mascots.

Tamas

Tamas K Papp

unread,
Dec 26, 2008, 8:23:21 PM12/26/08
to
On Fri, 26 Dec 2008 17:05:27 -0800, philip.armitage wrote:

> On Dec 27, 12:29 am, alien_guy <l...@l.org> wrote:
>> good heavens! if this is the "biggest thing that would improve Lisp's
>> popularity" then I'd rather CL remain unpopular as it is. why is it
>> that noobs want to advertise such primitive tools as ABLE or
>> CUSP/Eclipse ?
>
> Scanning my inbox I have many emails from people who've contacted me to
> say that they now program in Lisp because of ABLE. Is it not a good
> thing that these people now program Lisp rather than just picking up
> Python or Ruby? They had the curiosity to look a little beyond the
> obvious choices...is it not a good idea to help them on their way?

Nothing is wrong with that, even though you have no counterfactual -- how
do you know that these people wouldn't have learned Lisp if they didn't
encounter ABLE?

> So I'm curious as to why it would be better for Lisp to remain unpopular
> than to provide tools that make it easier for new programmers to start
> using the language. If you believe ABLE is harming Lisp, as you seem to
> imply, then perhaps I should take the site down?

ABLE might be helping Lisp, but the effect is minuscule. I am amazed
that some people on CLL are arguing about the supreme importance of
development environments when discussing Lisp's "popularity". It is like
arguing that the Karamazov Brothers is not popular because it is printed
in the wrong font. Give me a break. Even if Lisp had the best IDE ever
(whatever that means), it would not become popular with the crowd that is
thrilled by Perl.

Go on working on ABLE by all means, more choice is always beneficial.
But please do not delude yourself into thinking that having another
editor/environment would make Lisp spread like wildfire.

Tamas

alien_guy

unread,
Dec 26, 2008, 9:23:08 PM12/26/08
to
On Fri, 26 Dec 2008 16:55:02 -0800, WalterGR wrote:
> Your post captures precisely why Lisp isn't more popular.

I still need to be explained why I should strive for popularity. Your
arguments are much too similar to those of many religious fanatics I met
who cannot conceive that there are people who do not wish to proselytise
their own personal faith.

> "I know about this programming language that's more powerful than *any*
> other programming language out there. You want to learn it? Okay, first

Again, why would I want to teach CL to somebody else ?

Zach Beane

unread,
Dec 26, 2008, 9:32:30 PM12/26/08
to
WalterGR <walt...@gmail.com> writes:

> ...though it gives significant leniency to Lisp by using common-
> lisp.net as the Lisp example: it's not even in the top 10 Google hits
> for Lisp, and unlike the relevant top 10 (minus Wikipedia and
> planet.lisp.org,) it actually has a decent design aesthetic.

Add planet.lisp.org as far as I'm concerned. A redesign is long past
due.

Zach

WalterGR

unread,
Dec 26, 2008, 9:42:59 PM12/26/08
to
On Dec 26, 5:11 pm, Tamas K Papp <tkp...@gmail.com> wrote:
> On Fri, 26 Dec 2008 15:39:23 -0800, WalterGR wrote:
> > Combining marketing with reducing the barrier to entry: the single
> > biggest thing that would improve Lisp's popularity would be making the
> > Able home
>
> I still haven't seen a convincing argument on _why_ people should be
> wasting their time on improving Lisp's "popularity".  Why is it an end in
> itself?

It's _not_ an end in itself. Do people *really* argue that? Has no
one *ever* presented an argument for why Lisp's popularity will be
beneficial? Wow. Prepare to have your mind blown:

If Lisp is more popular, then there will be more jobs available
programming in Lisp.

If Lisp is more popular, then my shared web hosting provider will
support it better.

If Lisp is more popular, more libraries will be written in Lisp.

If Lisp is more popular, more bugs in those libraries will get fixed.

I could go on.

I'm not going to respond to your mathematics metaphor, because I have
no personal reasons why I want math to be more popular.

> Also, the problems you mention with Lisp are superficial.  "No easy
> download"?  You can download and install a working CL implementation with
> minimal effort, especially compared to the effort of learning the
> language.

The "No easy download" reference was about why Lisp's marketing sucks.

> I don't see this as the effective barrier to entry, people who
> can't jump this hurdle shouldn't be programming computers anyhow.

Why are you making straw-man arguments? You know full well that for
serious Lisp development you don't just download an arbitrary Lisp
implementation, code in Notepad and copy-and-paste into the REPL.

You write later:

> I am amazed that some people on CLL are arguing about the supreme
> importance of development environments when discussing Lisp's
> "popularity".

Who said that? I sure didn't.

> It is like arguing that the Karamazov Brothers is
> not popular because it is printed in the wrong font.

To do serious Lisp development (at least with free implementations)
you need to download _an_ Emacs, _a_ Lisp implementation, install
SLIME, learn the foreign Emacs key bindings, discover that all the
Lisp videos you've been watching are actually using a configuration
you don't have, spend time Googling to discover newline-and-indent and
everything else you need... Yes, it's *exactly* like not liking the
font of a book.

Walter

alien_guy

unread,
Dec 26, 2008, 9:57:59 PM12/26/08
to
On Fri, 26 Dec 2008 21:32:30 -0500, Zach Beane wrote:
> Add planet.lisp.org as far as I'm concerned. A redesign is long past
> due.

what's wrong with it ? I find it refreshingly minimalistic and devoid of
gratuitous CSS trickery (the oposite of stackoverflow.com)

WalterGR

unread,
Dec 26, 2008, 10:05:34 PM12/26/08
to
On Dec 26, 6:32 pm, Zach Beane <x...@xach.com> wrote:

Really? I think you've done a fantastic job. I'd only suggest
increasing the margin-left on the right sidebar, so the headings
aren't smushed against the dashed vertical line.

Just by virtue of using a sans serif font and not using rainbow.gif as
a horizontal rule you're at least 13 years ahead of the rest.

Walter


Tamas K Papp

unread,
Dec 26, 2008, 10:17:56 PM12/26/08
to
On Fri, 26 Dec 2008 18:42:59 -0800, WalterGR wrote:

> On Dec 26, 5:11 pm, Tamas K Papp <tkp...@gmail.com> wrote:
>> On Fri, 26 Dec 2008 15:39:23 -0800, WalterGR wrote:
>> > Combining marketing with reducing the barrier to entry: the single
>> > biggest thing that would improve Lisp's popularity would be making
>> > the Able home
>>
>> I still haven't seen a convincing argument on _why_ people should be
>> wasting their time on improving Lisp's "popularity".  Why is it an end
>> in itself?
>
> It's _not_ an end in itself. Do people *really* argue that? Has no one
> *ever* presented an argument for why Lisp's popularity will be
> beneficial? Wow. Prepare to have your mind blown:

Sorry, mind still in place.

> If Lisp is more popular, then there will be more jobs available
> programming in Lisp.

> [...]

You seem to forget that all optimization problems should reflect the
costs, not only the benefits. All your arguments apply equally well
to the lollipop industry (if lollipops were more popular, there would
be more jobs in lollipop manufacturing, etc). So what? Without the
costs, such enumerations of benefits are meaningless. I understand
that those things would be good for you, but then you have to go ahead
and bear the costs of implementing the change.

>> I don't see this as the effective barrier to entry, people who can't
>> jump this hurdle shouldn't be programming computers anyhow.
>
> Why are you making straw-man arguments? You know full well that for
> serious Lisp development you don't just download an arbitrary Lisp
> implementation, code in Notepad and copy-and-paste into the REPL.

It is you who is making a straw-man argument; I never said anything
about Notepad etc.

> To do serious Lisp development (at least with free implementations) you
> need to download _an_ Emacs, _a_ Lisp implementation, install SLIME,
> learn the foreign Emacs key bindings, discover that all the Lisp videos
> you've been watching are actually using a configuration you don't have,

Gosh. I am amazed anyone manages to use Lisp after all. Let's see,
apt-get install slime sbcl emacs22-gtk, that takes <5 minutes, working
through the Emacs tutorial should take another 45 minutes at most,
then voila. Certainly a huge investment of your time.

And then I am sure people go and kill themselves when they discover
that Lisp videos used some other configuration. I can understand the
sentiment, if I see a screenshot when someone used different colors
for highlighting, I lock myself in my closet and cry for hours.

Ok, so you might not have Linux. Then you can download one of the
commercial Lisps, they have reasonable IDEs. After you decide you
like the language but hate the limitations of the free versions of
commercial implementations, you can install Emacs+SLIME+Clisp/SBCL on
your Windows machine. I am perfectly OK with people devoting their
time to making this process easier if they feel like doing it, nice
effort, good luck.

But whining that Lisp is not popular because of IDEs is a joke. Lisp
is not "popular" because it is Lisp: it requires mental effort to
learn, and the majority of people hate to exert themselves either
mentally or physically, programmers no exception. There are
programmers who genuinely and honestly like Object Pascal, for
example, and no amount of effort will make them appreciate Lisp. Move
on.

Tamas

WalterGR

unread,
Dec 26, 2008, 11:43:52 PM12/26/08
to
On Dec 26, 7:17 pm, Tamas K Papp <tkp...@gmail.com> wrote:

> You seem to forget that all optimization problems should reflect the
> costs, not only the benefits.

Where did I forget this?

> All your arguments apply equally well
> to the lollipop industry (if lollipops were more popular, there would
> be more jobs in lollipop manufacturing, etc).  So what?

It seemed you were without reasons for why Lisp's increased popularity
would be beneficial. I provided you some.

> I understand
> that those things would be good for you, but then you have to go ahead
> and bear the costs of implementing the change.

I never said there'd be no costs, nor did I say I'd not bear such
costs.

> But whining that Lisp is not popular because of IDEs is a joke.

I never whined. I never even said that Lisp should be more popular!
I merely outlined why Lisp isn't more popular.

> I am perfectly OK with people devoting their time to making this process
> easier if they feel like doing it, nice effort, good luck.

Great! That's all you needed to say.

Walter

Wade

unread,
Dec 27, 2008, 12:13:56 AM12/27/08
to
On Dec 26, 4:39 pm, WalterGR <walte...@gmail.com> wrote:
> On Dec 26, 2:57 pm, Wade <wade.humen...@gmail.com> wrote:
>
> > I have been considering the popularity thing.  It is probably solvable
> > by using marketing/persuasion.
>
> It's _partially_ solvable via marketing.  Marketing only solves the
> first half of the expected-benefits vs. barrier-to-entry problem.  If
> we convince people to check out Lisp but it's still a pain in the ass
> to get started, we're no better off than we were before.

There are large barrier-to-entry for many successful brands.
There is nothing wrong with barriers and there are and will always be
barriers to entry to using Lisp. Other programming
languages have the same barriers as Lisp has, the difference is that
they are taught in schools and the barrier is slowly removed over
years of learning. Lisp is hardly taught any more and the onus is
on students to teach themselves. I also think that most people who
are
trying Lisp are the experienced programmers. When they find
it a pain they think there is something wrong with Lisp and not
with their education and experience (and that is a big problem).
They have to un-learn and re-learn which takes
four or five times the energy just learning would take.

(The refreshing part in my experience is the young programmers
who I have met that have taught themselves Lisp without going
through the current programmer education. I have nothing but
admiration for them).

If the perceived pain-in-the-ass aspect can be turned around into
positive...

Wade

jos...@corporate-world.lisp.de

unread,
Dec 27, 2008, 2:44:45 AM12/27/08
to

I don't think the choice is black or white. Having a better IDE than
Emacs+SLIME+CL
would help some users. Note that these things are all very
'subjective'. People
have different needs. For a group of people Emacs+SLIME+CL is fine.
But for me it is not. Much too complex for the task at hand. I would
want a much simpler tool. Even though I use Emacs (and related)
for a long time, I tend to avoid SLIME+Emacs. It is really a
very capable tool and better than most editors for many tasks.
But the user interface is a nightmare (IMHO).

I would expect that many Lisp users like a simple, GUI-based IDE.
If developers build such IDEs and try to reach those users, it
is fine with me. There is some need for that. Clozure CL developers
collected in a short time more than $20k to pay
some developer improving the IDE. The commercial CL implementations
survive
in part because they have to offer something in the area of
IDEs.


> Tamas

Pascal Costanza

unread,
Dec 27, 2008, 4:35:23 AM12/27/08
to
Tamas K Papp wrote:
> On Fri, 26 Dec 2008 15:39:23 -0800, WalterGR wrote:
>
>> Combining marketing with reducing the barrier to entry: the single
>> biggest thing that would improve Lisp's popularity would be making the
>> Able home
>
> I still haven't seen a convincing argument on _why_ people should be
> wasting their time on improving Lisp's "popularity".

People are not wasting their time. They just do what they believe is
useful to them and others, or what they just enjoy. Like everybody else.

Pascal J. Bourguignon

unread,
Dec 27, 2008, 4:50:08 AM12/27/08
to
alien_guy <l...@l.org> writes:

> On Fri, 26 Dec 2008 16:55:02 -0800, WalterGR wrote:
>> Your post captures precisely why Lisp isn't more popular.
>
> I still need to be explained why I should strive for popularity. Your
> arguments are much too similar to those of many religious fanatics I met
> who cannot conceive that there are people who do not wish to proselytise
> their own personal faith.

Actually, more than "popularity", what whould be in the interest of most
lispers, I'd guess, is to strive for more corporate penetration. We
would like lisp be more used in corporation, so we would get more lisp jobs.


>> "I know about this programming language that's more powerful than *any*
>> other programming language out there. You want to learn it? Okay, first
>
> Again, why would I want to teach CL to somebody else ?

It would be part of the strategy to make lisp more used in corporate
world. In enterprises, we often hear that there are not enough lisp
programmers, that it would be even harder to hire lisp programmers than
good C++ (or whatever) programmers.


--
__Pascal Bourguignon__

Pascal J. Bourguignon

unread,
Dec 27, 2008, 4:58:18 AM12/27/08
to
Wade <wade.h...@gmail.com> writes:
> [...] Other programming

> languages have the same barriers as Lisp has, the difference is that
> they are taught in schools and the barrier is slowly removed over
> years of learning. Lisp is hardly taught any more and the onus is
> on students to teach themselves. [...]

Other programming languages are taught in schools because enterprises
want programmers in these languages (and finance universities in that
direction). Programming languages are popular because they can land
their users a job.

--
__Pascal Bourguignon__

Rob Warnock

unread,
Dec 27, 2008, 5:49:58 AM12/27/08
to
WalterGR <walt...@gmail.com> wrote:
+---------------

| To do serious Lisp development (at least with free implementations)
| you need to download _an_ Emacs, _a_ Lisp implementation, install
| SLIME, learn the foreign Emacs key bindings, discover that all the
| Lisp videos you've been watching are actually using a configuration
| you don't have, spend time Googling to discover newline-and-indent and
| everything else you need...
+---------------

I was *almost* with you until this bit of silliness. No, sorry,
you *DON'T* need all of that stuff to do "serious Lisp development".
All you need is an implementation that works on the platform(s)
you care about [CMUCL, for me, for FreeBSD & Linux], an editor
with just a *few* basic Lisp-friendly feaures[1], and a desire
to actually *code* something rather than bitch about lack of
perfect tools.


-Rob

[1] Namely:

1. Simple auto-indentation to the same level as the previous line;
2. The ability to shift groups of lines back & forth;
3. Parentheses-matching, that is, will blink or otherwise show
you the matching open parenthesis when you type a closing one.

For reasons detailed several times here previously, I don't use
happen to use Emacs/SLIME. But most versions of "Vi" or "Vim"
have the above three minimal features, and that's what I've been
using *quite* successfuly to code & deliver Scheme & Lisp applications
for the last 16+ years. Others' mileage may vary, but still...

-----
Rob Warnock <rp...@rpw3.org>
627 26th Avenue <URL:http://rpw3.org/>
San Mateo, CA 94403 (650)572-2607

philip....@gmail.com

unread,
Dec 27, 2008, 8:19:41 AM12/27/08
to
On Dec 27, 1:23 am, Tamas K Papp <tkp...@gmail.com> wrote:
> Go on working on ABLE by all means, more choice is always beneficial.  
> But please do not delude yourself into thinking that having another
> editor/environment would make Lisp spread like wildfire.

I code in Lisp because it's the most pleasant language I've found to
use. I wrote my own editor because when I first came to the language I
didn't find an environment that I liked and I wanted something to work
on so it made sense. Making it available to others was an
afterthought, not some attempt at popularity.

But when someone criticises my work in a public forum, I am allowed to
defend it without being accused of "deluding myself".

Phil

jos...@corporate-world.lisp.de

unread,
Dec 27, 2008, 8:42:01 AM12/27/08
to

He, writing software, publishing it and maintaining/expanding a user
base is nothing
bad. More power to you.

Tamas K Papp

unread,
Dec 27, 2008, 8:48:54 AM12/27/08
to

I am not accusing you of anything. I appreciate that you write software
and make it public.

My point was that I don't think that the (perceived) lack of IDEs is what
keeps Lisp from being popular.

Tamas

jos...@corporate-world.lisp.de

unread,
Dec 27, 2008, 9:08:16 AM12/27/08
to

I think that a better IDE would help a lot. Currently Common Lisp has
no
really good free native (!) IDE. Imagine Eclipse or Netbeans written
in Lisp.
But better. I really think that would help software developers a lot.
It would also have effects like a mature, cross platform GUI lib or
an environment for developing desktop apps. For me this is a logical
next step to bring Lisp (back) to the desktop.


Tamas K Papp

unread,
Dec 27, 2008, 9:42:37 AM12/27/08
to
On Sat, 27 Dec 2008 06:08:16 -0800, jos...@corporate-world.lisp.de wrote:

> I think that a better IDE would help a lot. Currently Common Lisp has no
> really good free native (!) IDE. Imagine Eclipse or Netbeans written in
> Lisp.

I am fully satisfied with Emacs, despite its warts. The biggest
advantage is that I can develop Lisp, C, and R code, write LaTeX
documents, edit text files and compose e-mail in the same single
program. Even if you gave me the best Lisp IDE, R IDE, C IDE, LaTeX-
specific editor and general text editor, I would still be disadvantaged
because now I would have to use 5 different programs.

That said, I realize that people have different tastes and some don't
like Emacs, so if they have the time, resources and willingness, sure,
go ahead and write a native Lisp IDE. But realistically, I think that
writing programs like that is a complex and non-rewarding task which
requires attention to minute details. People get started on such
projects, but they fail to gain momentum. Emacs is far from ideal,
but it is "good enough" so that many people don't want to waste time
on writing IDEs.

Tamas

Steven E. Harris

unread,
Dec 27, 2008, 10:09:18 AM12/27/08
to
WalterGR <walt...@gmail.com> writes:

> You want to learn it? Okay, first you have to use this specific
> programming environment. No no no... you'll learn to *like* those
> key chords!

How did you leap from luring someone into Lisp to luring him into Emacs?
Yes, I prefer to use Emacs for my Lisp programming. I also prefer it for
/all/ of my programming and editing in general. Java is the only
exception, insofar as the other popular IDEs offer features my team uses
that aren't available with within an appropriate Emacs mode. Regardless,
I have my Java-focused IDE's editor configured to work as much as
possible like Emacs.

You could persuade people to like or dislike Emacs as a separate
endeavor. Don't wrap that up in your crusade for Lisp.

--
Steven E. Harris

WalterGR

unread,
Dec 27, 2008, 2:36:06 PM12/27/08
to
On Dec 27, 7:09 am, "Steven E. Harris" <s...@panix.com> wrote:

> WalterGR <walte...@gmail.com> writes:
> > You want to learn it?  Okay, first you have to use this specific
> > programming environment.  No no no...  you'll learn to *like* those
> > key chords!
>
> How did you leap from luring someone into Lisp to luring him into Emacs?

Am I mistaken that Emacs + SLIME is the de facto standard Lisp
development environment? That's the sense I get reading *any* thread
on c.l.l that starts with someone asking what development environment
to use.

> Don't wrap that up in your crusade for Lisp.

Don't be rude. I have no crusade for Lisp, nor could you possibly
find one in my postings. I've always been discussing why I think Lisp
isn't more popular.

Alien Guy, Tamas, and Steven: I don't know if you're intentionally
mischaracterizing my posts for the sake of baiting me into argument or
if there's a language barrier (giving the benefit of the doubt I'll
assume it's the latter,) but unless you do me the courtesy of
carefully reading my posts I will not reply further to yours.

Thanks,

Walter

WalterGR

unread,
Dec 27, 2008, 2:48:14 PM12/27/08
to
On Dec 27, 2:49 am, r...@rpw3.org (Rob Warnock) wrote:

> WalterGR  <walte...@gmail.com> wrote:
>
> +---------------
> | To do serious Lisp development (at least with free implementations)
> | you need to download _an_ Emacs, _a_ Lisp implementation, install
> | SLIME, learn the foreign Emacs key bindings, discover that all the
> | Lisp videos you've been watching are actually using a configuration
> | you don't have, spend time Googling to discover newline-and-indent and
> | everything else you need...
> +---------------
>
> I was *almost* with you until this bit of silliness. No, sorry,
> you *DON'T* need all of that stuff to do "serious Lisp development".
> All you need is an implementation that works on the platform(s)
> you care about [CMUCL, for me, for FreeBSD & Linux], an editor
> with just a *few* basic Lisp-friendly feaures[1]

I'm glad that works for you. I prefer a development environment
that's a little more robust - auto-indentation, auto-completion, go-to-
definition, hooks into the Hyperspec, etc.

> Others' mileage may vary, but still...

Yup.

> ...and a desire to actually *code* something rather than bitch


> about lack of perfect tools.

You don't know a thing about me, nor my desires, nor how much code
I've written. I've been describing my thoughts about why Lisp isn't
more popular. As I said to Alien Guy, Tamas, and Steven: unless you


do me the courtesy of carefully reading my posts I will not reply
further to yours.

Walter

Tamas K Papp

unread,
Dec 27, 2008, 3:14:00 PM12/27/08
to
On Sat, 27 Dec 2008 11:36:06 -0800, WalterGR wrote:

> Am I mistaken that Emacs + SLIME is the de facto standard Lisp
> development environment? That's the sense I get reading *any* thread on
> c.l.l that starts with someone asking what development environment to
> use.

I know of no systematic survey so I can't say. Also consider that CLL is
not a representative sample of Lisp users.

But I know why I would recommend Emacs+SLIME: it is free, easy to learn,
works well, and Emacs is worth trying even for other things than Lisp.
Perhaps people are recommending it because they find it useful? That
could happen, however strange that sounds to you.

> Alien Guy, Tamas, and Steven: I don't know if you're intentionally
> mischaracterizing my posts for the sake of baiting me into argument or
> if there's a language barrier (giving the benefit of the doubt I'll

Yes, everyone who disagrees with you is intentionally mischaracterizing
your posts. We conspire against you intentionally off-list and laugh
behind your back. You are not paranoid at all.

> assume it's the latter,) but unless you do me the courtesy of carefully
> reading my posts I will not reply further to yours.

Suits me.

Tamas

Bakul Shah

unread,
Dec 27, 2008, 4:41:22 PM12/27/08
to
WalterGR wrote:
> On Dec 27, 2:49 am, r...@rpw3.org (Rob Warnock) wrote:
>> WalterGR <walte...@gmail.com> wrote:
>>
>> +---------------
>> | To do serious Lisp development (at least with free implementations)
>> | you need to download _an_ Emacs, _a_ Lisp implementation, install
>> | SLIME, learn the foreign Emacs key bindings, discover that all the
>> | Lisp videos you've been watching are actually using a configuration
>> | you don't have, spend time Googling to discover newline-and-indent and
>> | everything else you need...
>> +---------------
>>
>> I was *almost* with you until this bit of silliness. No, sorry,
>> you *DON'T* need all of that stuff to do "serious Lisp development".
>> All you need is an implementation that works on the platform(s)
>> you care about [CMUCL, for me, for FreeBSD & Linux], an editor
>> with just a *few* basic Lisp-friendly feaures[1]
>
> I'm glad that works for you. I prefer a development environment
> that's a little more robust - auto-indentation, auto-completion, go-to-
> definition, hooks into the Hyperspec, etc.

If you had originally said "*I* prefer a development environment
that's a little more robust" etc., there would be no argument.
I believe Rob was objecting about your *general* statement of "To
do serious Lisp development you need to download _an_ Emacs" etc.
as your experience can not be generalized to all developers.

>> ...and a desire to actually *code* something rather than bitch
>> about lack of perfect tools.
>
> You don't know a thing about me, nor my desires, nor how much code
> I've written. I've been describing my thoughts about why Lisp isn't
> more popular. As I said to Alien Guy, Tamas, and Steven: unless you
> do me the courtesy of carefully reading my posts I will not reply
> further to yours.

Why do you think he is talking about *you*? The way I read what
he said was that a desire to actually code something (& the other
things he mentioned) are much more important for "serious Lisp
development" than the quality of tools. I actually disagree with
Rob on two points. 1) I suspect he *does* want (and perhaps attains)
a perfect development environment but his idea of what that is,
is very different from yours! Perhaps the only thing we can agree
on is that a perfect development environment is one that allows
one to write code most efficiently most of the time. 2) Desire is
not sufficient. It has never written one damn line of code for me!
It is like the difference between hunger and eating.

To bring this back to your original question: write lots of working
code that does things people want! That'd do lot more to popularize
your language of choice than all this philosophizing. So Carpe Diem!
Or Carpe da-keyboard!!

WalterGR

unread,
Dec 28, 2008, 12:48:20 AM12/28/08
to
On Dec 27, 1:41 pm, Bakul Shah <bakul+use...@bitblocks.com> wrote:

> Why do you think he is talking about *you*?  The way I read what
> he said was that a desire to actually code something (& the other
> things he mentioned) are much more important for "serious Lisp
> development" than the quality of tools.

Ah. My apologies to Rob if that's the case.

Walter

Kenny

unread,
Dec 28, 2008, 1:51:37 AM12/28/08
to

> On Dec 26, 5:11 pm, Tamas K Papp <tkp...@gmail.com> wrote:
>>I still haven't seen a convincing argument on _why_ people should be
>>wasting their time on improving Lisp's "popularity". Why is it an end in
>>itself?

Do you think Lisp more effective for software development?

Mate in two.

kenneth

Steven E. Harris

unread,
Dec 28, 2008, 9:43:16 AM12/28/08
to
WalterGR <walt...@gmail.com> writes:

> Am I mistaken that Emacs + SLIME is the de facto standard Lisp
> development environment?

Probably not. I use it, and I've recommended that other people try
it. In case Kenny chimes in, I have tried both Allegro CL's and
Lispwork's IDEs and, while each did have a few nice things, I spent too
much effort trying to get each to behave more like SLIME. Had I started
out differently, though, those other IDEs would have seemed more
natural.

> That's the sense I get reading *any* thread on c.l.l that starts with
> someone asking what development environment to use.

A lot of people like it, I agree. In October I met Luke Gorrie (SLIME's
original author) at the Lisp 50 event in Nashville and gushed praise
upon him for helping make SLIME. However, I don't think it's the only
way to find productivity for Lisp programming. All Emacs users
appreciate the tools that let them "stay at home". I'm typing this
message in Gnus, which is wonderful for too many reasons to count, but,
again, it also lets the Emacs user "stay at home".

> Don't be rude.

I didn't mean to be. I apologize for being curt. The post of yours to
which I replied stood out because it looked to be introducing a needless
fork in the discussion about Lisp's popularity, turning it toward a
discussion about Emacs, which has a whole set of advocacy problems of
its own.

> Alien Guy, Tamas, and Steven: I don't know if you're intentionally
> mischaracterizing my posts for the sake of baiting me into argument

No, don't read that much into what I wrote. My intention was to put a
roadblock or at least a guardrail into the discussion to push its focus
back onto Lisp itself, and not get hung up on discussing Emacs.

--
Steven E. Harris

Xah Lee

unread,
Dec 28, 2008, 11:22:03 AM12/28/08
to

Xah Lee wrote:
> > vectorAngle[{a1_, a2_}] := Module[{x, y},
> > {x, y} = {a1, a2}/Sqrt[a1^2 + a2^2] // N;
> > If[x == 0, If[Sign@y === 1, π/2, -π/2],
> > If[y == 0, If[Sign@x === 1, 0, π],
> > If[Sign@y === 1, ArcCos@x, 2 π - ArcCos@x]
> > ]
> > ]
> > ]
>
> > SetDelayed[vectorAngle[List[Pattern[a1,Blank[]],Pattern[a2,Blank[]]]],
> > Module[List[x,y],
> > CompoundExpression[
> > Set[List[x,y],
> > N[Times[List[a1,a2],
> > Power[Sqrt[Plus[Power[a1,2],Power[a2,2]]],-1]]]],
> > If[Equal[x,0],
> > If[SameQ[Sign[y],1],Times[π,Power[2,-1]],
> > Times[Times[-1,π],Power[2,-1]]],
> > If[Equal[y,0],If[SameQ[Sign[x],1],0,π],
> > If[SameQ[Sign[y],1],ArcCos[x],
> > Plus[Times[2,π],Times[-1,ArcCos[x]]]]]]]]]

> > The following shows the same code with tokens transformed into the
> > lisp style.
>
> > (SetDelayed
> > (vectorAngle (list (Pattern a1 (Blank)) (Pattern a2 (Blank))))
> > (let (list x y)
> > (progn
> > (setq (list x y)
> > (N (* (list a1 a2)
> > (exp (sqrt (+ (exp a1 2) (exp a2 2))) -1))))
> > (if (eq x 0)
> > (if (equal (signum y) 1) (* π (exp 2 -1))
> > (* (* -1 π) (exp 2 -1)))
> > (if (eq y 0) (if (equal (signum x) 1) 0 π)
> > (if (equal (signum y) 1) (acos x)
> > (+ (* 2 π) (* -1 (acos x)))))))))

Pascal J. Bourguignon wrote:
> The above is not Common Lisp, either.

The point in that section of the article
http://xahlee.org/UnixResource_dir/writ/notations.html
is to demonstrate the isomorphism of the syntax between Mathematica
and lisp.

It is not about whether simple transmutation of the syntax of
Mathematica can become a runnable Common Lisp program.

Xah wrote:
> > In the latter, it uses a full nested form (called FullForm in
> > Mathematica). This form is isomorphic to lisp's nested parenthesis
> > syntax, token for token (i.e. lisp's “(f a b)” is Mathematica's “f
> > [a,b]”). As you can see, this form, by the sheer number of nested
> > brackets, is in practice problematic to read and type.

Pascal wrote:
> What's problematic is not being able to program... to write elegant code.

The issue addressed in the article is about language syntax and its
relation to coding. It is not about whether it is possible to create
elegant code in a lang with bad syntax.

Xah
http://xahlee.org/


Dan Weinreb

unread,
Dec 28, 2008, 2:36:06 PM12/28/08
to
On Dec 23, 6:08 am, MishoM <mihaylov.mih...@gmail.com> wrote:
> Hi,
>
> I'm really new to Lisp. I had heard of it before and got the
> impression of a dead language with an exotic syntax and no real use.
> My opinion was changed by Paul Graham's article <a href = "http://www.paulgraham.com/avg.html">Beating the averages</a>.
>
> I started investigating and in the last weeks I've been watching the
> videos of "Structure and Interpretation of Computer Programs" and I'm
> reading "Practical Common Lisp". I liked a lot what I heard and read
> and tried to tell my friends and colleagues about it, but the reaction
> was like I'm going nuts, even though I made it clear that I intend to
> learn more and try to implement a nontrivial program in Common Lisp
> before forming my final opinion. The most frequent argument I heard
> was: "If Lisp was that good, it would be much more popular".
>
> So I started asking myself why isn't Lisp popular. Is it because of
> it's syntax? Is it because of the prejudice that it is slow? Or some
> other reason? I searched the Internet a little and saw that other
> people had asked themselves the same question. A discussion on
> Lispcast titled <a href = "http://www.lispcast.com/drupal/node/29">No
> easy download</a> caught my attention along with another article by
> Paul Graham - <a href = "http://www.paulgraham.com/popular.html">Being
> Popular</a>.
>
> So I formed my own opinion on why Lisp isn't popular and summarized it
> in the following two points:
>
> 1. There are not enough libraries in Lisp. Even worse, most of the
> existing libraries are not standard. The fastest way to implement
> something is to have it already implemented for you.
>
> 2. Most people don't see the advantages of Lisp over their programming
> language even for tasks for which Lisp is really much more suitable,
> because they don't know what can be done easily in Lisp.
>
> And then I asked myself if there are circumstances which would help
> Lisp get back on center stage. What I'm certain of is two things.
> First, as time goes by, more and more features of Lisp will get
> introduced to other languages and its will become harder to convince
> people to make the transition. And second, trying to get people to
> learn Lisp so they would appreciate it won't work. They should be
> convinced of the use to learn it before they agree to do it. And so I
> got to this crazy idea which I want to share. If I'm being stupid
> please bear with me.
>
> The best way to convince people to learn Lisp is by convincing them to
> use it first and then use that to show them its advantages. I don't
> know about Scheme, but the FFI of Common Lisp seems to be good enough
> to allow for other languages to use libraries written in Lisp. So if
> there are powerful libraries written in Lisp which can be used from C+
> +, Java, C#, Perl, Python, Ruby, etc, people will use them. Several
> widely used popular libraries in Lisp, especially for tasks which are
> outside the traditional Lisp domain, can really make a difference in
> the attitude towards the language.
>
> The other thing which is mandatory is to make rich libraries for Lisp
> which are readily available, comprehensive, free and standard. The
> best way to do this is by creating the prerequisites for the emergence
> of libraries which are de facto standard, like what boost is for C++.
> Instead of almost 10 libraries for GUI of which people don't know
> which to choose, there should be no more than three and it should be
> immediately clear what's the use of each of them.
>
> And the third thing which could really boost things up is some way to
> make both kinds of libraries very public so that non-lispers could
> become aware that:
>
> 1. They can benefit from Lisp without learning it through powerful
> libraries written in Lisp.
> 2. There will benefit from investing in learning Lisp, because there
> are a lot of solutions readily available.
>
> And here comes my crazy idea. All of this can be achieved through a
> web site targeted at developers in all programming languages. This
> site should be the best programming libraries directory on the
> internet, hosting libraries in any programming language. Its main goal
> should be to hold as many libraries as possible and provide powerful
> search, ranking and comparison features. Here are some of the features
> I have in mind:
>
> 1. Each library should have in its description separate fields for
> implementation language(s) and target language(s) unlike sourceforge
> which has only one language field. To the users of the library it
> matters much more what languages can use the library, but the
> implementation language is important too.
>
> 2. The "supported feature" fields of the libraries should have
> rankings associated with them so that users could rank the support for
> individual features separately.
>
> 3. The users should be able to add new library categories with custom
> feature fields.
>
> 4. The users should be able to sort the libraries according to their
> own ranking criteria like the <a href = "http://
> shootout.alioth.debian.org/gp4/index.php">Gentoo Benchmark<\a> or in
> some other way.
>
> 5. The users should be able to create comparison tables for two or
> more libraries, choosing which features to compare.
>
> I think that if such a site exists and contains all important
> libraries for the major programming languages it will attract enough
> attention to start the ball rolling and become the best programming
> libraries directory. Of course a site of this scale will require some
> serious funding but I believe this is a solvable problem.
>
> And with this site in place, it will be up to the Lisp community to
> start actively pursuing the interest of the other programmers. The key
> is to identify the most popular libraries and implement them in Common
> Lisp and Scheme. This will provide Lisp with the libraries that people
> want thus making it ultimately more useful. And if these libraries are
> more powerful than the original and are made available to other
> programming languages, they will have the potential to start to draw
> people towards Lisp.
>
> Of course there is a reduced version of this agenda, which is to use
> existing software project sites like Sourceforge and implement the
> most popular libraries there in Lisp and post them on Sourceforge. But
> existing project sites are not targeted at libraries specifically so
> they don't provide the tools to highlight the key features and compare
> them. Furthermore, a good libraries site for Lisp is needed anyway,
> and it will only gain if it allows libraries in other languages
> because it will draw the attention of non-lispers.
>
> Well that's it, I hope I didn't annoy anybody, and sorry for the
> really long post, but I wanted to share this idea and see what others
> think.

I can understand that people might say "If Lisp were that good, it
would be much more popular", but it's not well-reasoned. By nearly
any measure, C is one of the very most popular programming language.
Is that because it's "good"? ("Good" can mean many different things
in this context, too.)

The problem of libraries has been brought up many times, by everyone
from beginners to the most advanced Common Lisp developers. On one
hand, there are a lot more libraries around than most people know.

However, it's not easy enough to find the library you want. And, as
you say, sometimes there are many libraries that bear on the same
problem, and it's hard to know which is the most suitable for your
purpose. This is particularly a problem for web application
frameworks, since there are many fundamentally different approaches to
providing such a framework. It's also hard to know which works best.

ome aren't comprehensive enough, i.e. they're missing important
abilities or features. Some don't have very good documentation. Some
don't run on all the Common Lisp implementations or underlying
operating systems.

As is often the case with open-source libraries in any language, they
sometimes depend on other libraries, and you end up having to go on a
scavenger hunt to pull together the transitive set of dependent
libraries, being sure to get the right version of each one. Sometimes
they're all stored on different sites, not all of which area always
up.

I agree completely that more features of Lisp are appearing in other
popular languages, making it harder to persuade people that Lisp is a
good language to get invovled with. You used the future tense, but
it's actually been going on for many years already.

I disagree that one of the best ways to boost Lisp's popularity would
be to write libraries written in Lisp that can be used from other
languages. As far as someone using some other language is concerned,
a library is a black box; what language the library is written in is
not of primary importance.

I also don't think that the Lisp community should undertake to
construct a software repository for all the languages in the world.
Other languages alreadly have their own repositories. PERL developers
have CPAN, for example, and aren't looking for a replacement for it.

I do think it would be very valuable to create a repository for Lisp
libraries and other open-source software and documents. I'll be
writing more about this soon.

In the replies to your post, "Ali" said:

"Lispers generally don't care about popularity because they can
already do what they want already. At least a few see it as a waste of
time to have lots of newbs around."

There are some Lisp people who feel that way, but I think most of us
realize that we'd all benefit greatly if Lisp were more popular.
Those of us who like and appreciate developing in Lisp would like to
see more people writing and maintaining good libraries. We'd like
there to be more jobs available that use Lisp, and more companies
happy to develop new software in Lisp. We'd like to see more effort
put into improving and porting Lisp implementations, more Lisp
textbooks and other resources, and so on. This is all controlled by a
kind of positive feedback: more people will use Lisp if there are
better resources, and better resources will be created if there are
more Lisp users, etc.

For some useful information about the current Common Lisp
implementations, and pointers to libraries, tutorials, textbooks, user
groups, and all kinds of other resources, see

http://common-lisp.net/~dlw/LispSurvey.html

-- Dan Weinreb

WalterGR

unread,
Dec 28, 2008, 7:31:55 PM12/28/08
to
On Dec 27, 9:48 pm, WalterGR <walte...@gmail.com> wrote:
> On Dec 27, 1:41 pm, Bakul Shah <bakul+use...@bitblocks.com> wrote:
>
> > Why do you think he is talking about *you*? [snip]

>
> Ah. My apologies to Rob if that's the case.
>
> Walter

Er, my apologies to _Steven_ if that's the case.

On Dec 28, 6:43 am, "Steven E. Harris" <s...@panix.com> wrote:


> WalterGR <walte...@gmail.com> writes:
> > Am I mistaken that Emacs + SLIME is the de facto standard Lisp
> > development environment?
>
> Probably not. I use it, and I've recommended that other people try

> it. [snip] I apologize for being curt. The post of yours to


> which I replied stood out because it looked to be introducing a needless
> fork in the discussion about Lisp's popularity, turning it toward a
> discussion about Emacs, which has a whole set of advocacy problems of
> its own.

But that's the thing... it's impossible to separate the two because
when budding / prospective Lisp developers ask which development
environment to use, the default answer is "use Emacs." My contention
is that the default response doesn't do anything to help Lisp's
cause. As you say, Emacs "has a a whole set of advocacy problems of
its own."

If Emacs + SLIME *weren't* the default answer, then I wouldn't have
been harping on Emacs, and would have been harping on the other
barriers to entry I listed. To prove my point, during the discussion
of Lisp marketing on this thread, I said, "the single biggest thing
that would improve Lisp's popularity would be making the Able home
page the #1 Google hit for Lisp." Alien Guy responds, "why is it that


noobs want to advertise such primitive tools as ABLE or CUSP/

Eclipse?" Point, set, match.

> > Alien Guy, Tamas, and Steven: I don't know if you're intentionally
> > mischaracterizing my posts for the sake of baiting me into argument
>
> No, don't read that much into what I wrote.

My apologies. I'm a bit defensive since my original arguments about
Lisp's popularity being affected by barriers to entry have come to be
construed as either a) "Walter the noob wants Tamas K. Papp to
personally work to make Lisp more popular," or b) "Walter the noob
refuses to learn Lisp because he doesn't like Emacs," neither of which
are true, and both of which *completely* miss the point of my
arguments.

Though I have come to realize that there are many on c.l.l who can't
imagine not using Emacs + SLIME, can't imagine not telling every
curious programmer who stumbles across Lisp that he should use it too,
and can't imagine people working on alternatives. I don't think I
have the rhetorical prowess to convince them that maybe that's not the
best thing for Lisp's popularity.

Walter

John Thingstad

unread,
Dec 28, 2008, 7:40:24 PM12/28/08
to
På Sun, 28 Dec 2008 15:43:16 +0100, skrev Steven E. Harris <s...@panix.com>:

> WalterGR <walt...@gmail.com> writes:
>
>> Am I mistaken that Emacs + SLIME is the de facto standard Lisp
>> development environment?
>
> Probably not. I use it, and I've recommended that other people try
> it. In case Kenny chimes in, I have tried both Allegro CL's and
> Lispwork's IDEs and, while each did have a few nice things, I spent too
> much effort trying to get each to behave more like SLIME. Had I started
> out differently, though, those other IDEs would have seemed more
> natural.
>

Under LispWorks if you dowload Edi Weitz Lisp Starter Pack it adds
somethig called the Lisp Works addons that give you the most usefull bits
of SLIME functionality that are missing. Personally I can't even use LW
without it anymore.

--------------
John Thingstad

Raffael Cavallaro

unread,
Dec 28, 2008, 9:29:52 PM12/28/08
to
On 2008-12-28 19:40:24 -0500, "John Thingstad" <jpt...@online.no> said:

> Under LispWorks if you dowload Edi Weitz Lisp Starter Pack it adds
> somethig called the Lisp Works addons that give you the most usefull
> bits of SLIME functionality that are missing. Personally I can't even
> use LW without it anymore.

Seconded
--
Raffael Cavallaro, Ph.D.

WalterGR

unread,
Dec 28, 2008, 9:57:42 PM12/28/08
to
On Dec 28, 4:31 pm, WalterGR <walte...@gmail.com> wrote:

> Though I have come to realize that there are many on c.l.l who can't
> imagine not using Emacs + SLIME, can't imagine not telling every
> curious programmer who stumbles across Lisp that he should use it too,
> and can't imagine people working on alternatives.  I don't think I
> have the rhetorical prowess to convince them that maybe that's not the
> best thing for Lisp's popularity.

To avoid any misunderstanding: by "I don't think I have the rhetorical


prowess to convince them that maybe that's not the best thing for

Lisp's popularity" I didn't mean those "who can't imagine not using
Emacs + SLIME." I'm all for people using the tools they prefer - I
can't imagine believing otherwise. There are just those for whom
Emacs _is_ a barrier to entry, and I hope that efforts like ABLE and
Eclipse + CUSP are encouraged rather than disparaged.

Walter

Peder O. Klingenberg

unread,
Dec 29, 2008, 4:03:24 AM12/29/08
to
Tamas K Papp <tkp...@gmail.com> writes:

> Reading passively reading will never teach you any Lisp (or any other
> programming language, or mathematics, natural sciences, economics, etc.
> for that matter), you need to get your hands dirty and _do_ stuff.

That's not universally true. It depends on how you learn things,
which is an individual trait. I learned Lisp over a summer holiday,
reading ANSI Common Lisp on a lawn chair. This was back when I was a
student and laptops were expensive, so I didn't have a computer there.
I worked out the examples and exercises in my head instead, and by the
time I installed cmucl and ilisp for the first time I already had a
reasonable grasp of the language.

...Peder...
--
I wish a new life awaited _me_ in some off-world colony.

Stanisław Halik

unread,
Dec 29, 2008, 6:45:29 AM12/29/08
to
In comp.lang.lisp jos koot <jos....@telefonica.net> wrote:

> 4: The hygienic macros of syntax-rules and syntax-case facilitate the
> construction of macro's (this is related to point 3, of course)
Their worthless-excuse-of-a-macro-system can hardly be called an
advantage. Common Lispers excercise their creativity to define
macro-based abstractions, but the same doesn't hold true for Scheme.

Reason? Their macro system sucks and they're in denial.

FUT ignored.

--
You only have power over people so long as you don’t take everything
away from them. But when you’ve robbed a man of everything he’s no longer
in your power — he’s free again. -- Aleksandr Isayevich Solzhenitsyn

Stanisław Halik

unread,
Dec 29, 2008, 6:51:12 AM12/29/08
to
thus spoke Pascal J. Bourguignon <p...@informatimago.com>:

> Actually, more than "popularity", what whould be in the interest of most
> lispers, I'd guess, is to strive for more corporate penetration. We
> would like lisp be more used in corporation, so we would get more lisp jobs.

How's that achievable without an inescapable B&D sandbox?

Stanisław Halik

unread,
Dec 29, 2008, 7:02:55 AM12/29/08
to
thus spoke jos...@corporate-world.lisp.de <jos...@corporate-world.lisp.de>:

> I think that a better IDE would help a lot. Currently Common Lisp has
> no really good free native (!) IDE. Imagine Eclipse or Netbeans
> written in Lisp.

Climacs shows some promise :-) Perhaps with time it's going to grow some
IDE-ish features.

> next step to bring Lisp (back) to the desktop.

Threading on win32 seems to be unpossible. The best-case scenario seems
to be sbcl's win32 port reaching stable status.

jos...@corporate-world.lisp.de

unread,
Dec 29, 2008, 7:16:33 AM12/29/08
to
On 29 Dez., 13:02, Stanisław Halik <sthalik+use...@tehran.lain.pl>
wrote:

> thus spoke jos...@corporate-world.lisp.de <jos...@corporate-world.lisp.de>:
>
> > I think that a better IDE would help a lot. Currently Common Lisp has
> > no really good free native (!) IDE. Imagine Eclipse or Netbeans
> > written in Lisp.
>
> Climacs shows some promise :-) Perhaps with time it's going to grow some
> IDE-ish features.

There is already CLIM-Desktop:

http://www.cliki.net/clim-desktop

Developers welcome!

>
> > next step to bring Lisp (back) to the desktop.
>
> Threading on win32 seems to be unpossible. The best-case scenario seems
> to be sbcl's win32 port reaching stable status.

Clozure CL on Windows could also be cool. The port is in the works.


>
> --
> You only have power over people so long as you don't take everything
> away from them. But when you've robbed a man of everything he's no longer

> in your power -- he's free again. -- Aleksandr Isayevich Solzhenitsyn

Pascal J. Bourguignon

unread,
Dec 29, 2008, 7:34:49 AM12/29/08
to
Stanisław Halik <sthalik...@tehran.lain.pl> writes:

> thus spoke Pascal J. Bourguignon <p...@informatimago.com>:
>
>> Actually, more than "popularity", what whould be in the interest of most
>> lispers, I'd guess, is to strive for more corporate penetration. We
>> would like lisp be more used in corporation, so we would get more lisp jobs.
>
> How's that achievable without an inescapable B&D sandbox?

Basically, enterprises are there to make a profit. If you can earn
more money (or reduce expanses) by using Lisp technology rather than
something else, most CFO should be able to convince the most obtuse CEO.


And for the B&D lovers:
Even a Java programmer may think out of the box.
But for a long time yet, macros won't think out of the box.
Replace Java programmers by Lisp macros! :-)

--
__Pascal Bourguignon__

It is loading more messages.
0 new messages