Account Options

  1. Sign in
The old Google Groups will be going away soon, but your browser is incompatible with the new version.
Google Groups Home
« Groups Home
Servlets in CL (really about lousy Lisp teaching)
There are currently too many topics in this group that display first. To make this topic appear first, remove this option from another topic.
There was an error processing your request. Please try again.
flag
  Messages 101 - 125 of 126 - Collapse all  -  Translate all to Translated (View all originals) < Older  Newer >
The group you are posting to is a Usenet group. Messages posted to this group will make your email address visible to anyone on the Internet.
Your reply message has not been sent.
Your post was successful
 
From:
To:
Cc:
Followup To:
Add Cc | Add Followup-to | Edit Subject
Subject:
Validation:
For verification purposes please type the characters you see in the picture below or the numbers you hear by clicking the accessibility icon. Listen and type the numbers you hear
 
Shaun Rowland  
View profile  
 More options Jun 1 2000, 3:00 am
Newsgroups: comp.lang.lisp
From: Shaun Rowland <rowl...@cis.ohio-state.edu>
Date: 2000/06/01
Subject: Re: Servlets in CL (really about lousy Lisp teaching)

Jeff Dalton <j...@todday.aiai.ed.ac.uk> writes:
> cbbro...@knuth.brownes.org (Christopher Browne) writes:

> > >Yes there is a problem with how universities teach Lisp. [...]

> > The problem is that the typical way of teaching Lisp (or Scheme)
> > seems to be as a _part_ of a course, often on comparative programming
> > languages.

> True, but even courses devoted to Lisp can give students a misleading
> impression of the language.

Forgive my post if I tend to ramble as I am still basking in the glow of
my newfound Lisp awareness and slowly catching up on news, but luckily I
have a counter example to share.  I agree that in many instances what
you describe is the case, but I don't see why it has to be, or rather
why it tends to be as such.  One of my co-workers teaches a class on
Lisp.  It is a one credit hour technical elective, but the amount of
information and the impression students are left with is not even close
to what you have described in most cases, not that what you said
incorrect.

> Some trivial signs that Lisp is likely to end up looking bad: "Lisp" is
> written as "LISP"; RPLACA and RPLACD get an earlier or more prominent
> mention than SETF; you're told that EQ is only for comparing atoms
> (or symbols); EQ is first introduced in a discussion of destructive
> modification of lists; you're told that in Lisp "everything is a
> list"; Lisp is called "an interpreted language"; Lisp is called "an AI
> language"; you're given the impression that no one likes Lisp's syntax
> but they put up with it in order to get the programming environment or
> because it makes macros easy; the instructor keep apologising for
> Lisp's syntax or for its use of names such as LAMBDA, COND, CAR, and
> CDR; you're told that "CAR" stands for (rather than originally stood
> for) "Contents of Address Register".

It seems to me that if an instructor is always apologizing for Lisp's
syntax they just don't get it or they don't know how to teach it.
Perhaps that is the case many times.  In the Lisp class I am referring to
other languages are poked fun of a bit in fact :-) The text for this
class is Graham's ANSI Common Lisp.  If you stretch it a bit, you can go
all the way to CLOS (Chapter 11 non-inclusive) in just one quarter.
That may seem like a lot to do in one quarter, but I have been going
through the book on my own doing _all_ the exercises and I know that it
can be done (sans doing all the exercises).  Most of the students keep
up, but a lot of that has to do with the quality of the instructor and
the amount of clues he can lay claim to.  In the least they are left
with quite a different impression of Lisp than described here.  Perhaps
we are just lucky!

> One of the worst problems, I think, is that courses often fail to get
> students to understand Lisp data as objects, "objects" meaning that
> they have an identity, live in their own storage, and so on (rather
> than that they're instances of classes).  From that, it will make
> sense - in the sense that it forms a coherent picture - that procedure
> calls and assignments don't copy, that EQ and EQL can test object
> identity, that it's possible to determine the type of an object at
> run-time, that types are primarily associated with objects rather
> than variables or other places where (refs to) objects are stored;
> that hash tables can make connections between particular objects;
> that lists, arrays, etc, can contain arbitrary objects rather than
> being specialised to some particular element type; that it's easy
> to implement simple O-O "extensions"; and so on.

I feel that there is a fundamental flaw with how CS students are taught
in general.  I see some courses and am left just asking myself "Why?"  I
don't want to get into specifics, unfortunately, but I am pretty
discontent with the whole thing really.  I see a desire to teach a
paradigm where many limitations of certain languages are worked around
and ideas like software reuse and OO techniques are employed, and I am
left wondering why the implementation language used to teach these
concepts is not Lisp or something more along those lines.  Why?

How hard are these concepts to grasp really?  Is it that difficult to
teach functional programming?  I just don't get it.  I don't see how
many people just cannot put their heads around the concepts you just
listed.  I think that the fact that one paradigm is drilled into their
heads from day one while everything else is left as an after thought
might have something to do with it.  To me this is a serious flaw.

> But courses that just do list processing in Lisp never get there.

Very true, but this is not how it has to be, even for a one credit hour
class.

> > Students tend to get the gist of what they're taught; when they're
> > taught that the only point to Lisp is to have a section in a course
> > where you do useless things with it, it _must_ be pretty useless.

> Yes, and when students are required to use Lisp and find it an
> unpleasant experience, they tend to resent it, and this can turn
> into an active dislike of the language.

Does anyone feel that Lisp or scheme should be taught first in a CS
program?  It seems to me that this would give people a real chance to
learn something.  My academic experience, which is highly unusual to say
the, involved learning C++ first, then C.  I found these languages
fairly easy to grasp even if they were taught haphazardly.  Then
outside of the academic environment I discover things like Lisp where
there are greater possibilities.  Now, I am not yet an expert on Lisp,
but I can feel it whenever I read a new chapter out of Graham's ANSI
Common Lisp or work on the chapter questions.  I can catch a glimpse of
something greater, where I am not limited in many ways.  It's like I
have a whole new way of approaching problems that I would not have had
otherwise.  It seems to me that I would have had a much more productive
time if I would have been introduced to Lisp first.

> > This is _exactly_ where all the "driveby flamings" tend to come from.

> I think so too, in many cases at least.

Those who perpetrate "driveby flamings" scare me.  These are most likely
the same people who write the following code:

while (1) {
        fork();

}

printf("Got here.\n");

Sorry about the C there, but I didn't make that up.  I see this all the
time, and since I am the system administrator I know when the labs that
deal with these basic concepts are due, and in classes where these
concepts should already have been learned.  It may seem like people
writing code like this is a fluke, but let me tell you, a lot of people
who are moderately advanced in CS programs do it, and not just here.
Much to my dismay I am left wondering if most of the people who get CS
degrees really know anything at all.
--
Shaun Rowland   rowl...@cis.ohio-state.edu
http://www.cis.ohio-state.edu/~rowland/


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Discussion subject changed to "Servlets in CL" by Matt Curtin
Matt Curtin  
View profile  
 More options Jun 1 2000, 3:00 am
Newsgroups: comp.lang.lisp
From: Matt Curtin <cmcur...@interhack.net>
Date: 2000/06/01
Subject: Re: Servlets in CL

>>>>> "Christopher" == Christopher Browne <cbbro...@knuth.brownes.org> writes:

  Christopher> CL may have DEFSTRUCT, but the subset that instructors
  Christopher> present to students is highly unlikely to include that
  Christopher> portion of the vocabulary, just as it is highly
  Christopher> unlikely to include arrays, LOOP, or, for that matter,
  Christopher> hash tables.

I teach Lisp (CIS459.31) at Ohio State University.  It's a one
credit-hour course that lasts one quarter (10 weeks).  Just this year,
I switched primary texts to Graham's _ANSI_Common_Lisp_.

We cover structures, arrays, and hash tables.  We discuss LOOP but not
in detail.

The class has five labs.  Lab 4 requires students to write their own
program that will demonstrate use of arrays, structures, or hash
tables.  I've seen folks implement things from Tic-Tac-Toe games to
databases to keep track of wines in a collection.

One quarter isn't long at all, and being only one credit-hour doesn't
help for the presentation of such a big language.  But clearly,
(most) students _can_ and _do_ get it.

Perhaps proper instruction of Lisp is lacking in many places or in
general.  I do think that by painting so broad a stroke, you're doing
those of us who teach Lisp and care about doing it well a great
disservice.

--
Matt Curtin cmcur...@interhack.net http://www.interhack.net/people/cmcurtin/


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Discussion subject changed to "Servlets in CL (really about lousy Lisp teaching)" by Shaun Rowland
Shaun Rowland  
View profile  
 More options Jun 1 2000, 3:00 am
Newsgroups: comp.lang.lisp
From: Shaun Rowland <rowl...@cis.ohio-state.edu>
Date: 2000/06/01
Subject: Re: Servlets in CL (really about lousy Lisp teaching)

Jeff Dalton <j...@todday.aiai.ed.ac.uk> writes:
> cbbro...@knuth.brownes.org (Christopher Browne) writes:

> > >Yes there is a problem with how universities teach Lisp. [...]

> > The problem is that the typical way of teaching Lisp (or Scheme)
> > seems to be as a _part_ of a course, often on comparative programming
> > languages.

> True, but even courses devoted to Lisp can give students a misleading
> impression of the language.

Forgive my post if I tend to ramble as I am still basking in the glow of
my newfound Lisp awareness and slowly catching up on news, but luckily I
have a counter example to share.  I agree that in many instances what
you describe is the case, but I don't see why it has to be, or rather
why it tends to be as such.  One of my co-workers teaches a class on
Lisp.  It is a one credit hour technical elective, but the amount of
information and the impression students are left with is not even close
to what you have described in most cases, not that what you said is
incorrect.

> Some trivial signs that Lisp is likely to end up looking bad: "Lisp" is
> written as "LISP"; RPLACA and RPLACD get an earlier or more prominent
> mention than SETF; you're told that EQ is only for comparing atoms
> (or symbols); EQ is first introduced in a discussion of destructive
> modification of lists; you're told that in Lisp "everything is a
> list"; Lisp is called "an interpreted language"; Lisp is called "an AI
> language"; you're given the impression that no one likes Lisp's syntax
> but they put up with it in order to get the programming environment or
> because it makes macros easy; the instructor keep apologising for
> Lisp's syntax or for its use of names such as LAMBDA, COND, CAR, and
> CDR; you're told that "CAR" stands for (rather than originally stood
> for) "Contents of Address Register".

It seems to me that if an instructor is always apologizing for Lisp's
syntax they just don't get it or they don't know how to teach it.
Perhaps that is the case many times.  In the Lisp class I am referring to
other languages are poked fun of a bit in fact :-) The text for this
class is Graham's ANSI Common Lisp.  If you stretch it a bit, you can go
all the way to CLOS (Chapter 11 non-inclusive) in just one quarter.
That may seem like a lot to do in one quarter, but I have been going
through the book on my own doing _all_ the exercises and I know that it
can be done (sans doing all the exercises).  Most of the students keep
up, but a lot of that has to do with the quality of the instructor and
the amount of clues he can lay claim to.  In the least they are left
with quite a different impression of Lisp than described here.  Perhaps
we are just lucky!

> One of the worst problems, I think, is that courses often fail to get
> students to understand Lisp data as objects, "objects" meaning that
> they have an identity, live in their own storage, and so on (rather
> than that they're instances of classes).  From that, it will make
> sense - in the sense that it forms a coherent picture - that procedure
> calls and assignments don't copy, that EQ and EQL can test object
> identity, that it's possible to determine the type of an object at
> run-time, that types are primarily associated with objects rather
> than variables or other places where (refs to) objects are stored;
> that hash tables can make connections between particular objects;
> that lists, arrays, etc, can contain arbitrary objects rather than
> being specialised to some particular element type; that it's easy
> to implement simple O-O "extensions"; and so on.

I feel that there is a fundamental flaw with how CS students are taught
in general.  I see some courses and am left just asking myself "Why?"  I
don't want to get into specifics, unfortunately, but I am pretty
discontent with the whole thing really.  I see a desire to teach a
paradigm where many limitations of certain languages are worked around
and ideas like software reuse and OO techniques are employed, and I am
left wondering why the implementation language used to teach these
concepts is not Lisp or something more along those lines.  Why?

How hard are these concepts to grasp really?  Is it that difficult to
teach functional programming?  I just don't get it.  I don't see how
many people just cannot put their heads around the concepts you just
listed.  I think that the fact that one paradigm is drilled into their
heads from day one while everything else is left as an after thought
might have something to do with it.  To me this is a serious flaw.

> But courses that just do list processing in Lisp never get there.

Very true, but this is not how it has to be, even for a one credit hour
class.

> > Students tend to get the gist of what they're taught; when they're
> > taught that the only point to Lisp is to have a section in a course
> > where you do useless things with it, it _must_ be pretty useless.

> Yes, and when students are required to use Lisp and find it an
> unpleasant experience, they tend to resent it, and this can turn
> into an active dislike of the language.

Does anyone feel that Lisp or scheme should be taught first in a CS
program?  It seems to me that this would give people a real chance to
learn something.  My academic experience, which is highly unusual to say
the least, involved learning C++ first then just working with C.  I
found these languages fairly easy to grasp even if they were taught
haphazardly.  Then outside of the academic environment I discover things
like Lisp where there are greater possibilities.  I am not an expert on
Lisp, but I can feel it whenever I read a new chapter out of Graham's
ANSI Common Lisp or work on the chapter questions.  I can catch a
glimpse of something greater, where I am not limited in many ways.  It's
like I have a whole new way of approaching problems that I would not
have had otherwise.  It seems to me that I would have had a much more
productive time if I would have been introduced to Lisp first.

> > This is _exactly_ where all the "driveby flamings" tend to come from.

> I think so too, in many cases at least.

Those who perpetrate "driveby flamings" scare me.  These are most likely
the same people who write the following code:

while (1) {
        fork();

}

printf("Got here.\n");

Sorry about the C there, but I didn't make that up.  I see this all the
time, and since I am the system administrator I know when the labs that
deal with these basic concepts are due, and in classes where these
concepts should already have been learned.  It may seem like people
writing code like this is a fluke, but let me tell you a lot of people
who are moderately advanced in CS programs do it, and not just here.
Much to my dismay I am left wondering if many who get CS degrees really
know anything at all.
--
Shaun Rowland   rowl...@cis.ohio-state.edu
http://www.cis.ohio-state.edu/~rowland/


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Discussion subject changed to "Servlets in CL" by Christopher Browne
Christopher Browne  
View profile  
 More options Jun 1 2000, 3:00 am
Newsgroups: comp.lang.lisp
From: cbbro...@knuth.brownes.org (Christopher Browne)
Date: 2000/06/01
Subject: Re: Servlets in CL
Centuries ago, Nostradamus foresaw a time when Matt Curtin would say:

>>>>>> "Christopher" == Christopher Browne <cbbro...@knuth.brownes.org> writes:

>  Christopher> CL may have DEFSTRUCT, but the subset that instructors
>  Christopher> present to students is highly unlikely to include that
>  Christopher> portion of the vocabulary, just as it is highly
>  Christopher> unlikely to include arrays, LOOP, or, for that matter,
>  Christopher> hash tables.

>I teach Lisp (CIS459.31) at Ohio State University.  It's a one
>credit-hour course that lasts one quarter (10 weeks).  Just this year,
>I switched primary texts to Graham's _ANSI_Common_Lisp_.

>We cover structures, arrays, and hash tables.  We discuss LOOP but not
>in detail.

Sounds rather good.

>The class has five labs.  Lab 4 requires students to write their own
>program that will demonstrate use of arrays, structures, or hash
>tables.  I've seen folks implement things from Tic-Tac-Toe games to
>databases to keep track of wines in a collection.

>One quarter isn't long at all, and being only one credit-hour doesn't
>help for the presentation of such a big language.  But clearly,
>(most) students _can_ and _do_ get it.

>Perhaps proper instruction of Lisp is lacking in many places or in
>general.  I do think that by painting so broad a stroke, you're doing
>those of us who teach Lisp and care about doing it well a great
>disservice.

I'd tend to think that if Graham's book is used as the text,
it would be fairly difficult for an instructor to simultaneously
contend the relative "obsolescence" of Lisp.

I'm certainly not trying to preclude the thought that there are
indeed good presentations out there; good teaching is surely a
laudable thing.

--
cbbro...@hex.net - <http://www.ntlug.org/~cbbrowne/linux.html>
Microsoft: The Scientology of Computing


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Matt Curtin  
View profile  
 More options Jun 1 2000, 3:00 am
Newsgroups: comp.lang.lisp
From: Matt Curtin <cmcur...@interhack.net>
Date: 2000/06/01
Subject: Re: Servlets in CL

>>>>> "Christopher" == Christopher Browne <cbbro...@knuth.brownes.org> writes:

  Christopher> I'm certainly not trying to preclude the thought that
  Christopher> there are indeed good presentations out there; good
  Christopher> teaching is surely a laudable thing.

At the same time, I readily recognize that there are serious problems
in many cases with how Lisp is taught.  I don't think this is as much
an issue with Lisp as it is with teaching in general.  Some folks are
just _boring_.  Others don't really know their topic very well.

The big problem that Lisp does face in education is that there is the
possibility that what little folks do know about Lisp isn't highly
relevant to anything, or they'll have some general prejudice about
something that's so "old".  (Strange how in any other context, that
sort of thing isn't called "old" or "obsolete", it's called "history"
and "culture", both generally considered Good Things.)

Combine that with the relatively little amount of noise that is made
about Lisp and the need for Lisp programmers in the industry and there
just isn't much in the way of incentive for folks to learn the
language well where there isn't someone there to give students a good
introduction.  Anyone can look at the amount of hype that surrounds
Java and see that even where there isn't lots in the way of formal
education about a language, people can see that it's big enough to be
motivated to do what's necessary to learn it.

People sometimes ask me why there aren't billions of ads for Lisp
programmers, why they don't hear a lot about the need for there to be
more Lisp programmers, etc.  I like to answer thusly:
 o How much of all software development is maintenance work?
   (Answers vary, but it's always a LOT, typically in the 80-95%
   range.)
 o If programs are written correctly the first time, there aren't
   going to be lots of bugs that need to be fixed.
 o If programs are designed well from the beginning, they should be
   able to do quite a lot without needing to have lots of code changes
   made.
 o A language that helps programmers write good programs will
   therefore require much less maintenance work.
 o If the vast majority of programming is maintenance work, the need
   for maintenance programmers will largely be dictated by how badly
   the programs are being written.  That can be heavily influenced by
   the language choice.

So the answer, of course, is that there is a need for Lisp programmers
to build new systems.  But there isn't much need for Lisp programmers
to fix all the junk that everyone else has already written four times.
As a result, there will be less "visibility" of the language.

Am I exaggerating?  Probably.  Is there an element of truth in what
I'm saying when I answer this way?  I think so.  But in what other way
could a genuine Lisp programmer answer?  I think "getting it right
early on" is an important element of Lisp itself and its culture.  I
like to convey that to students.

--
Matt Curtin cmcur...@interhack.net http://www.interhack.net/people/cmcurtin/


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Discussion subject changed to "Squalling Brats Flinging Dung At One Another Re: Servlets in CL" by Christopher Browne
Christopher Browne  
View profile  
 More options Jun 2 2000, 3:00 am
Newsgroups: comp.lang.lisp
From: cbbro...@news.hex.net (Christopher Browne)
Date: 2000/06/02
Subject: Squalling Brats Flinging Dung At One Another Re: Servlets in CL
Centuries ago, Nostradamus foresaw a time when Erik Naggum would say:

>* Rainer Joswig <rainer.jos...@ision.net>
>| Please waste other people's time.

>  If I can waste your time so you don't continue to slander people and
>  companies and create unnecessary animosity between developer groups,
>  that's a _very_ good thing in my view.  So, I'm glad your time is
>  wastable with such simple means.

Could you "squalling brats" _PLEASE_ take your "waste of time" to
email, where it won't trouble the rest of us?

Sometimes, my .sigmonster picks something incredibly more appropriate
than anything I would have _tried_ to choose myself; this is one of
those occasions...
--
This program posts news to billions of machines throughout the galaxy.
Your message will cost the  net enough to bankrupt your entire planet.
As a result your species will  be sold into slavery.  Be sure you know
what you are doing.  Are you absolutely sure you want to do this? [yn]
y
cbbro...@hex.net- <http://www.ntlug.org/~cbbrowne/lsf.html>


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Discussion subject changed to "Servlets in CL" by Christopher Browne
Christopher Browne  
View profile  
 More options Jun 2 2000, 3:00 am
Newsgroups: comp.lang.lisp
From: cbbro...@news.hex.net (Christopher Browne)
Date: 2000/06/02
Subject: Re: Servlets in CL
Centuries ago, Nostradamus foresaw a time when Robert Monfera would say:

>"Andrew K. Wolven" wrote:
>> Mallery isn't doing anything for the benefit of the Lisp Community itself,
>> and
>> is only alienating supporters if he thinks I am going to make any customer
>> cough up more than two hundred bucks for CL-HTTP when Apache is free.

>If $200 is big money for a web server for your customers, then I don't
>envy you, but supposedly your talent can add a lot of value to it (embed
>the web server in an application, for example), and help you make decent
>money.  Or is it that you can't get the clients to pay for anything?

Sometimes it's appallingly remarkable what clients are unwilling to
pay for...

The _problem_ is that with the availability of Apache, for free, and
Boa, for free, and Roxen Challenger, for free, and AOLserver, for
free, Zope, for free, IIS :-), for free, and probably a bunch of other
options, _for free_, a lot of people look pretty funny at the notion
of charging anything much for a web server.

Sure, Apple's WebObjects is pretty expensive; of course, it appears to
have dropped from $50K to $700, which is suggestive that declining web
server prices are the norm rather than than the abnorm.

I agree that $200 isn't all that much, but it's sure not unusual for
web servers to be priced vastly lower than that.

>As for the CL-HTTP license, I think that a meaningful commercial license
>(maybe along with an alternative, unsupported OS license) would be
>preferable, but I don't think it would make a difference for you, as you
>are clearly out of your medication.

The problem with the CL-HTTP license doesn't seem to me to be the
price, but rather the fact that the licensing is fairly vague.

If I wanted to build a derivative of CL-HTTP, and redistribute it, it
may be reasonably likely that it will be fine with the authors for me
to do so, perhaps at some fee, but it seems evident that there's not a
"pricing sheet" on how to do it.  I'd essentially have to pre-arrange
terms individually with the authors.

The uncertainty that is entailed is discouraging.

I can't speak for Wolven's meds :-).
--
Rules of the Evil Overlord #140. "I will instruct my guards when
checking a cell that appears empty to look for the chamber pot. If the
chamber pot is still there, then the prisoner has escaped and they may
enter and search for clues. If the chamber pot is not there, then
either the prisoner is perched above the lintel waiting to strike them
with it or else he decided to take it as a souvenir (in which case he
is obviously deeply disturbed and poses no threat). Either way,
there's no point in entering." <http://www.eviloverlord.com/>
cbbro...@ntlug.org- <http://www.hex.net/~cbbrowne/lsf.html>


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Discussion subject changed to "Squalling Brats Flinging Dung At One Another Re: Servlets in CL" by Erik Naggum
Erik Naggum  
View profile  
 More options Jun 2 2000, 3:00 am
Newsgroups: comp.lang.lisp
From: Erik Naggum <e...@naggum.no>
Date: 2000/06/02
Subject: Re: Squalling Brats Flinging Dung At One Another Re: Servlets in CL
* Christopher Browne
| Could you "squalling brats" _PLEASE_ take your "waste of time" to
| email, where it won't trouble the rest of us?

  You're responding to a message posted 2000-05-18 on 2000-06-02 with
  a complaint like that?  _Why_?  I think you're the squalling brat
  flinging dung at others when you take that long after THINGS HAVE
  ALREADY QUIETED DOWN to complain.  Just quit your pointless and
  counterproductive complaining, will you?  Sheesh!

#:Erik
--
  If this is not what you expected, please alter your expectations.


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Tim Bradshaw  
View profile  
 More options Jun 2 2000, 3:00 am
Newsgroups: comp.lang.lisp
From: Tim Bradshaw <t...@cley.com>
Date: 2000/06/02
Subject: Re: Squalling Brats Flinging Dung At One Another Re: Servlets in CL
* Erik Naggum wrote:

* Christopher Browne

> | Could you "squalling brats" _PLEASE_ take your "waste of time" to
> | email, where it won't trouble the rest of us?
>   You're responding to a message posted 2000-05-18 on 2000-06-02 with
>   a complaint like that?  _Why_?  I think you're the squalling brat
>   flinging dung at others when you take that long after THINGS HAVE
>   ALREADY QUIETED DOWN to complain.  Just quit your pointless and
>   counterproductive complaining, will you?  Sheesh!

I think the article got injected twice -- there's another copy in my
spool dated 19-may: I guess his newsreader fouled up?

--tim


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Christopher Browne  
View profile  
 More options Jun 3 2000, 3:00 am
Newsgroups: comp.lang.lisp
From: cbbro...@news.hex.net (Christopher Browne)
Date: 2000/06/03
Subject: Re: Squalling Brats Flinging Dung At One Another Re: Servlets in CL
Centuries ago, Nostradamus foresaw a time when Tim Bradshaw would say:

>* Erik Naggum wrote:
>* Christopher Browne
>> | Could you "squalling brats" _PLEASE_ take your "waste of time" to
>> | email, where it won't trouble the rest of us?

>>   You're responding to a message posted 2000-05-18 on 2000-06-02 with
>>   a complaint like that?  _Why_?  I think you're the squalling brat
>>   flinging dung at others when you take that long after THINGS HAVE
>>   ALREADY QUIETED DOWN to complain.  Just quit your pointless and
>>   counterproductive complaining, will you?  Sheesh!

>I think the article got injected twice -- there's another copy in my
>spool dated 19-may: I guess his newsreader fouled up?

Reinjection of some spool; oops...  Sorry about that...
--
aa...@freenet.carleton.ca - <http://www.ntlug.org/~cbbrowne/>
Why does the word "lisp" have an "s" in it?

 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Discussion subject changed to "about teaching (and learning) Lisp" by David Bakhash
David Bakhash  
View profile  
 More options Jun 3 2000, 3:00 am
Newsgroups: comp.lang.lisp
From: David Bakhash <ca...@alum.mit.edu>
Date: 2000/06/03
Subject: about teaching (and learning) Lisp
So after reading random stuff from this thread, here's my $0.02 about
what should be taught first:

> Does anyone feel that Lisp or scheme should be taught first in a CS
> program?  It seems to me that this would give people a real chance
> to learn something.  My academic experience, which is highly unusual
> to say the, involved learning C++ first, then C.

here's what I believe to be true about human beings.  Let's first make
the generalization that the "city" is better than the "country" in the
same way that "Common Lisp" is better than "C" (note: not Lisp, but
particularly CL; I am not talking about Scheme here).  This is just an
assumption, and I'm trying to make a point.

It seems, from my experience, that if you take a country boy, born and
raised in the country, and then move him to the city, and he
assimilates, and gets used to it, then it's very hard for him to go
back; much harder, in fact, than for a city boy, born and raised in
the city, to go to the country, get used to it out there (farming or
whatever) and then return to the city.

Applying this [mere generalization] to the programming question of
which language to teach first, it would make sense to teach C first
and CL second.  Because then programmers "know" C, but once they've
"seen the better way" it's hard to go back.  Given the choice, they'd
rather "live in the city" now.

This is basically already what is happening.  _very_ few
students/programmers see CL before either C, C++, Pascal, Basic, or
Java.  And this is kinda the way I like it.  It means that nearly ALL
CL programmers know another language, and that makes CL prorammers
wiser, more knowledgable, and more versatile.  I'd rather that the CL
community remain small, but that its members be, on average, "wiser"
than other programmers.  Does this sound elitist?  Maybe.  Probably.
But I think it's the right way.  I don't want to see high school kids
and your typical Perl scripting hackers having a serious impact on CL.

The other side of the coin here is that with the influence of features
in other languages, people will move over to CL and then miss things
not present in CL, but in other languages, and so the trend will be to
wash CL into the other languages.  But it's good for CL to have users
who know about features in other languages.

My only gripe is that Common Lisp is not marketed properly to many
people who would really benefit from it.  I'll just recount a story.
I met a guy a year or so ago who graduated CMU with an advanced degree
in computer science, and then came to MIT to do his PhD.  He was doing
all sorts of complex analyses, proofs, etc.  We were talking, and he
said he used C.  I said something like "coming from CMU, I'd have
figured that you, especially, would use CL for your work..."  He then
said something like "Are you crazy?  that language sucks!  it's not
even compiled!".  And this is someone who got his B.S. and M.S. at
CMU.  So go figure.  people just arn't getting the right information.
they're also not getting the opportunities to use CL with the right
level of instruction.

dave


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
vsync  
View profile  
 More options Jun 3 2000, 3:00 am
Newsgroups: comp.lang.lisp
From: vsync <vs...@quadium.net>
Date: 2000/06/03
Subject: Re: about teaching (and learning) Lisp

David Bakhash <ca...@alum.mit.edu> writes:
> But I think it's the right way.  I don't want to see high school kids
> and your typical Perl scripting hackers having a serious impact on CL.

Um, since I just now finished 11th grade, does that mean I should go
away now?

The REST of it was quite well written...  =)

--
vsync
http://quadium.net/ - last updated Thu Jun 1 23:57:30 MDT 2000
Orjner.


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
David Bakhash  
View profile  
 More options Jun 3 2000, 3:00 am
Newsgroups: comp.lang.lisp
From: David Bakhash <ca...@alum.mit.edu>
Date: 2000/06/03
Subject: Re: about teaching (and learning) Lisp

vsync <vs...@quadium.net> writes:
> David Bakhash <ca...@alum.mit.edu> writes:

> > But I think it's the right way.  I don't want to see high school kids
> > and your typical Perl scripting hackers having a serious impact on CL.

> Um, since I just now finished 11th grade, does that mean I should go
> away now?

This is why I hate generalizations.  You must consider what I'm saying
in context.

Trying to standardize and perfect a programming language comes from a
maturity in programming that tends to come over time.  I'm 26, and still
find myself learning tons, both about CL and about programming in
general.  that's all I was trying to say.  

dave


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
vsync  
View profile  
 More options Jun 3 2000, 3:00 am
Newsgroups: comp.lang.lisp
From: vsync <vs...@quadium.net>
Date: 2000/06/03
Subject: Re: about teaching (and learning) Lisp

David Bakhash <ca...@alum.mit.edu> writes:
> vsync <vs...@quadium.net> writes:

> > David Bakhash <ca...@alum.mit.edu> writes:

> > > But I think it's the right way.  I don't want to see high school kids
> > > and your typical Perl scripting hackers having a serious impact on CL.

> > Um, since I just now finished 11th grade, does that mean I should go
> > away now?

> This is why I hate generalizations.  You must consider what I'm saying
> in context.

Sorry, humor's kind of hard to convey on Usenet...  I think I had a
smiley in there somewhere.  Anyway, I did get your point and I
agree with you.

Unfortunately, the way society is, a more "elite" language will just
be regarded as somehow bad.  This happens at work all the time.  If I
need to implement something, some of the managers (not all, thank
goodness) request details about how I'm doing it.  Most of the time,
these managers don't understand the information they're given, and it
ends up being that if they've heard of the tool I'm using, they like
it.  If they haven't, they don't, and no additional information will
change their minds.

If programmers themselves often don't understand what Lisp is, as in
your example of the CMU student, then this will translate to even less
acceptance among those who make the decisions.  This isn't to say that
you aren't right, but I don't think there really is a good solution.
Personally, I wish they'd trust those of us who do the actual work to
be able pick the right tool for the job, but...  =)

> Trying to standardize and perfect a programming language comes from a
> maturity in programming that tends to come over time.  I'm 26, and still
> find myself learning tons, both about CL and about programming in
> general.  that's all I was trying to say.  

Very well stated.  I think if a person isn't willing to learn, they
shouldn't be allowed anywhere near a computer (but that's another
topic =), much less programming, because there's so much exploration
involved.  I think one of my favorite things about Lisp is the way it
encourages such exploration.  Instead of having to lay out every
detail of a program beforehand, with a huge cost if I change my mind
later, I can just let it grow organically as I add features.  Lisp
really puts fun and adventure into programming, which is as it should
be.

--
vsync
http://quadium.net/ - last updated Thu Jun 1 23:57:30 MDT 2000
Orjner.


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Shaun Rowland  
View profile  
 More options Jun 4 2000, 3:00 am
Newsgroups: comp.lang.lisp
From: Shaun Rowland <rowl...@cis.ohio-state.edu>
Date: 2000/06/04
Subject: Re: about teaching (and learning) Lisp

David Bakhash <ca...@alum.mit.edu> writes:
> Applying this [mere generalization] to the programming question of
> which language to teach first, it would make sense to teach C first
> and CL second.  Because then programmers "know" C, but once they've
> "seen the better way" it's hard to go back.  Given the choice, they'd
> rather "live in the city" now.

I can follow your logic, and it seems sound to me.  I believe that I
wrote more of my own experiences in there than I wanted to.  The reason
that I was thinking of teaching Lisp first is because it would give
students the exposure to a new language they might not otherwise get.
The problem in the one credit hour technical elective example is the
class is optional.  There are a few different technical electives that a
student can take in fact, and the Lisp class is only offered one quarter
of the year.  That's very unfortunate in my eyes.  I could go on for
hours about how I think what is actually learned by most students hurts
them in ways, but I won't.  I just wish that the Lisp class was
required.  I think that everyone would benefit from the experience.
What is even worse in this situation is that one must know what Lisp is
already.  How else would one know to take the class in the first place?
There is not much motivation given the C/C++ "focus" in other classes
unless clues about what Lisp is and why it might be important to learn
are already present.  If Lisp were taught first it would still be
necessary to learn C or C++.  This would accomplish my goal, but the
reasons for my general question are too specific.

> This is basically already what is happening.  _very_ few
> students/programmers see CL before either C, C++, Pascal, Basic, or
> Java.  And this is kinda the way I like it.  It means that nearly ALL
> CL programmers know another language, and that makes CL prorammers
> wiser, more knowledgable, and more versatile.  I'd rather that the CL
> community remain small, but that its members be, on average, "wiser"
> than other programmers.  Does this sound elitist?  Maybe.  Probably.
> But I think it's the right way.  I don't want to see high school kids
> and your typical Perl scripting hackers having a serious impact on CL.

I can see the benefits you state here, but I don't agree with the last
sentence in this context.  The students in a CS program are not supposed
to be just typical Perl scripting hackers.  If you want that go to a
technical college or learn it on your own.

> My only gripe is that Common Lisp is not marketed properly to many
> people who would really benefit from it.  I'll just recount a story.
> I met a guy a year or so ago who graduated CMU with an advanced degree
> in computer science, and then came to MIT to do his PhD.  He was doing
> all sorts of complex analyses, proofs, etc.  We were talking, and he
> said he used C.  I said something like "coming from CMU, I'd have
> figured that you, especially, would use CL for your work..."  He then
> said something like "Are you crazy?  that language sucks!  it's not
> even compiled!".  And this is someone who got his B.S. and M.S. at
> CMU.  So go figure.  people just arn't getting the right information.
> they're also not getting the opportunities to use CL with the right
> level of instruction.

Right, but I don't take too much stock in what people with B.S. and
M.S. degrees tell me.  I have too much experience dealing with them :-)
Unfortunately people with B.S. and M.S. degrees often do a good job
representing their own population, just not a good job representing the
real truth that can be found in Lisp.  Now that probably sounds elitist!

None of what I am saying here means that Lisp is the one true way for
everyone.  I would rather see students receive good exposure to Lisp
along with other languages.  If that were happening I don't believe we
would see answers like "that language sucks!  It's not even compiled!"
Any objections would be more along the lines of what I expect from
someone with an advanced degree in computer science and not someone who
has no real idea of the benefits of one language over another for
certain applications.  Often times I believe I expect too much.
--
Shaun Rowland   rowl...@cis.ohio-state.edu
http://www.cis.ohio-state.edu/~rowland/


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Andy Freeman  
View profile  
 More options Jun 5 2000, 3:00 am
Newsgroups: comp.lang.lisp
From: Andy Freeman <ana...@earthlink.net>
Date: 2000/06/05
Subject: Re: about teaching (and learning) Lisp

> CL programmers know another language, and that makes CL prorammers
> wiser, more knowledgable, and more versatile.  I'd rather that the
CL
> community remain small, but that its members be, on average, "wiser"
> than other programmers.  Does this sound elitist?  Maybe.  Probably.
> But I think it's the right way.  I don't want to see high school
kids
> and your typical Perl scripting hackers having a serious impact on

CL.

Umm, I'm confused.  How does using have an impact, particularly
a negative one?  (Perl went non-linear because Larry Wall is
non-linear.)

Precisely what is the virtue in being a back-water language?

A lisp could, and arguably should, have had the position that
Python is getting.  Yet, due to the lisp communities insistence
on fragmentation and not acknowledging the importance of interaction
with the outside world, Python is going to be important, and lisp
is, well, lisp....  (Python is interpreted as bytecodes.)

This story has been repeated a number of times.  Why is this
a good thing?

-andy

Sent via Deja.com http://www.deja.com/
Before you buy.


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Andy Freeman  
View profile  
 More options Jun 5 2000, 3:00 am
Newsgroups: comp.lang.lisp
From: Andy Freeman <ana...@earthlink.net>
Date: 2000/06/05
Subject: Re: about teaching (and learning) Lisp
In article <8hf89s$89...@nnrp1.deja.com>,
  Andy Freeman <ana...@earthlink.net> wrote:

> This story has been repeated a number of times.  Why is this
> a good thing?

I mentioned Python because that's the best choice for what
I'm doing now.

After I hit "send", I remembered a dinner that I had with a
very senior executive at an e-commerce company.  I asked a
meaningless question and was rather floored by the response
"you know, XML could have been lisp, but ...."  That wasn't
an answer to my question, and I doubt that he knew that I
knew lisp, let alone preferred it, but it's still interesting.

When I have to start processing XML with Python, I'm not
going to think fondly of the people who find virtue in
keeping lisp in the back-water.  It's not pure, it's stagnant.

-andy

Sent via Deja.com http://www.deja.com/
Before you buy.


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Johan Kullstam  
View profile  
 More options Jun 5 2000, 3:00 am
Newsgroups: comp.lang.lisp
From: Johan Kullstam <kulls...@ne.mediaone.net>
Date: 2000/06/05
Subject: Re: about teaching (and learning) Lisp

the problem, as i see it, is that very few students/programmers see CL
at all.  as an electrical engineer, i can tell you i was never exposed
to it in any class.

if they do, the don't see it before learning *all of* C, C++, pascal,
basic *and* java.  then they see lisp.  they think -- lisp looks
weird.  it's got all these parenthesis and the professor gives three
minor projects having to do with flattening lists.  student gets the
idea that
1) flattening lists is a pointless exercise.
2) it was harder than it ought to be.
3) dealing with lists was supposed to be lisp's strength.
4) lisp sucks.
this is *not* the impression i want to have lisp give.

if you have people fluent in lisp before seeing C++, maybe they will
react in appropriate horror to that.  as it is, they put up with C++
because it's more like things they know.  once someone has invested
the effort to be good at C++ it will be *very* hard to expand their
minds.  no one wants to admit they are wrong.

> And this is kinda the way I like it.  It means that nearly ALL
> CL programmers know another language, and that makes CL prorammers
> wiser, more knowledgable, and more versatile.

it also means there are too damn few lisp programmers.  this means
that
1) lisp compilers and tools are expensive
2) no more lisp machines
3) significant bit rot on useful things like window systems, number
   crunching &c.

i mean, lisp would be *the* natural language for window based
programming.  look how well emacs does with reacting to keystrokes.
C++ limps along with class inheritance, but it doesn't have lambda.
CL has functional *and* OOP style.  it's a natural for windows (not
microsoft but in general).  but does everyone have nice lisp based
windowing systems?  noooooo we are struggling with monstrosities
constructed in C++.  why?  because lisp isn't near popular enough.

> I'd rather that the CL
> community remain small, but that its members be, on average, "wiser"
> than other programmers.  Does this sound elitist?  Maybe.  Probably.
> But I think it's the right way.  I don't want to see high school kids
> and your typical Perl scripting hackers having a serious impact on
> CL.

what i am afraid of is worse is better and we will, in the end, all be
reduced to windows visual basic.

lots of idiots knowing lisp doesn't bother me in the least.  it will
mean lots of smart people knowing lisp too.  a language isn't good or
bad just on popularity alone, but being popular helps.  sometimes,
more really *is* more.

> The other side of the coin here is that with the influence of features
> in other languages, people will move over to CL and then miss things
> not present in CL, but in other languages, and so the trend will be to
> wash CL into the other languages.  But it's good for CL to have users
> who know about features in other languages.

i'd be happy if CL just had users period.  (yes, i know CL does have
users, but i want more of them!)

> My only gripe is that Common Lisp is not marketed properly to many
> people who would really benefit from it.  I'll just recount a story.
> I met a guy a year or so ago who graduated CMU with an advanced degree
> in computer science, and then came to MIT to do his PhD.  He was doing
> all sorts of complex analyses, proofs, etc.  We were talking, and he
> said he used C.  I said something like "coming from CMU, I'd have
> figured that you, especially, would use CL for your work..."  He then
> said something like "Are you crazy?  that language sucks!  it's not
> even compiled!".  And this is someone who got his B.S. and M.S. at
> CMU.  So go figure.  people just arn't getting the right information.
> they're also not getting the opportunities to use CL with the right
> level of instruction.

i agree totally with this last paragraph.

--
johan kullstam l72t00052


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Johann Hibschman  
View profile  
 More options Jun 5 2000, 3:00 am
Newsgroups: comp.lang.lisp
From: Johann Hibschman <joh...@physics.berkeley.edu>
Date: 2000/06/05
Subject: Re: about teaching (and learning) Lisp

Johan Kullstam writes:
> i mean, lisp would be *the* natural language for window based
> programming.  look how well emacs does with reacting to keystrokes.
> C++ limps along with class inheritance, but it doesn't have lambda.
> CL has functional *and* OOP style.  it's a natural for windows (not
> microsoft but in general).  but does everyone have nice lisp based
> windowing systems?  noooooo we are struggling with monstrosities
> constructed in C++.  why?  because lisp isn't near popular enough.

I have to agree with this, but I don't know what to do about it.
(Write software, I suppose.)  I'm a CL dabbler; I like it, it's fun,
and it's a good source of ideas.  Over the weekend, though, I found
myself re-implementing a miniature version of CLOS generic functions
in Python, because that style of modularity fit what I was doing
better.  I was just doing simple GUI development, telling objects how
to use the GUI to display themselves, edit themselves, and so on.

It's a beautiful fit; the GUI stuff stays in the GUI methods, while
everything else stays in the more basic methods.  Wow.  A light goes
on.

I don't quite know where to go from here, but I'm back to watching CL
very carefully.  I like the feeling.

--
Johann Hibschman                           joh...@physics.berkeley.edu


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Discussion subject changed to "Servlets in CL" by David Bakhash
David Bakhash  
View profile  
 More options Jun 8 2000, 3:00 am
Newsgroups: comp.lang.lisp
From: David Bakhash <ca...@alum.mit.edu>
Date: 2000/06/08
Subject: Re: Servlets in CL

Joe Marshall <jmarsh...@alum.mit.edu> writes:
> cbbro...@knuth.brownes.org (Christopher Browne) writes:

> > --> C has structs; the only way to simulate that in Lisp is via
> >     those horribly inefficient association lists.

> Alists?  What are those?  My first lisp course covered propertly lists
> on symbols.....

we'll, I'd have retored by saying that CL has well-capable and efficient
structs in most implementations.  But symbol plists arn't considered to
be extremely efficient, and I'd guess that alists and plists are on the
same order of inefficiency wrt access times in most implementations.
One reason I don't like using plists is that I feel that the data is
somehow hidden.  Of course, it's not, but it always feels like it's one
level underneath the surface.  I feel that while compile-time systems
should make full use of plists, your runtime systems should not use them
heavily.  But I'd like to know more about how people use them, since I
very seldom use them.

dave


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Philip Lijnzaad  
View profile  
 More options Jun 8 2000, 3:00 am
Newsgroups: comp.lang.lisp
From: Philip Lijnzaad <lijnz...@ebi.ac.uk>
Date: 2000/06/08
Subject: Re: Servlets in CL

David> I feel that while compile-time systems should make full use of plists,
David> your runtime systems should not use them heavily.  But I'd like to
David> know more about how people use them, since I very seldom use them.

Well, I know lisp mostly from emacs-hacking, but rarely come across it.
Based on the emacs lisp corpus I find the following stats:

emacs/20.5/lisp/*.el has 236 uses of GET in 191995 lines of code (0.1 %)
emacs/20.5/lisp/emacs-lisp/*.el has 116 uses of GET in 35448 lines (0.3 %)

supporting the feeling that plists aren't a main stream thing. However, they
do seem to be a very useful construct for clever things like compilers,
debuggers, profilers and code-instrumenters such as advice.el. I expect there
to be correlation between the occurrences of EVAL and of p-lists :-)

                                                                      Philip
--
Is your dog vegetarian too?
--------------------------------------------------------------------------- --
Philip Lijnzaad, lijnz...@ebi.ac.uk \ European Bioinformatics Institute,rm A2-24
+44 (0)1223 49 4639                 / Wellcome Trust Genome Campus, Hinxton
+44 (0)1223 49 4468 (fax)           \ Cambridgeshire CB10 1SD,  GREAT BRITAIN
PGP fingerprint: E1 03 BF 80 94 61 B6 FC  50 3D 1F 64 40 75 FB 53


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Joe Marshall  
View profile  
 More options Jun 8 2000, 3:00 am
Newsgroups: comp.lang.lisp
From: Joe Marshall <jmarsh...@alum.mit.edu>
Date: 2000/06/08
Subject: Re: Servlets in CL

David Bakhash <ca...@alum.mit.edu> writes:
> But I'd like to know more about how people use them, since I
> very seldom use them.

Nor should you.  Plists are a `poor man's 2-d table'.  The problem is
that this table is not first class, the key pairs come from a global
namespace, and the table shared with every function that uses a 2-d
table.

The latter two problems are ameliorated somewhat by packages, but in
most cases where a plist is being used, a hash table, alist, btree,
etc. would be a better choice.


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Erik Naggum  
View profile  
 More options Jun 8 2000, 3:00 am
Newsgroups: comp.lang.lisp
From: Erik Naggum <e...@naggum.no>
Date: 2000/06/08
Subject: Re: Servlets in CL
* David Bakhash
| But I'd like to know more about how people use them, since I
| very seldom use them.

* Joe Marshall <jmarsh...@alum.mit.edu>
| Nor should you.

  What nonsense!

| Plists are a `poor man's 2-d table'.

  Well, that's _one_ view.

| The problem is that this table is not first class, the key pairs
| come from a global namespace, and the table shared with every
| function that uses a 2-d table.

  Firstclassitude is _so_ overrated.  Don't listen to Schemers!

  Property lists exist in many objects, not just symbols.  They are
  very convenient ways to store _incidental_ information with the
  object when the object itself is vastly more important than the
  _property_ you want to associate with it.  Take symbols.  If the
  symbol has it's very own, very good raison d'être, you'd be a fool
  to set up an eq hash table to store some particular properties on
  them, and particular to set up a whole bunch of them, probably named
  by their own symbols, to hold on to each one.  You already have the
  symbol in hand, so it's a wanton waste of resources to use an
  expensive external mechanism to avoid being criticized by Schemers.

  However, if you don't use symbols for the many good reasons for
  which you _should_ use symbols, but for some of the more numerous
  good reasons to _avoid_ using symbols, it's just stupid to waste
  resources on symbols only for their property lists.  Remember,
  symbols are _expensive_ little things.  If you gotta have them, you
  might as well exploit that fact, but if don't have to for some other
  reason, property lists is not a reason to use them.

  Scheme exposure damages your brain if you want to program in Common
  Lisp in your real life.  Scheme doesn't have symbols, so they're
  _envious_ of our very useful property lists!  (Or whatever, they
  simply don't _get_¹ the symbol as a first-class object, no matter
  how much they otherwise rant and rave about firstclassitude².)

#:Erik
-------
¹ pun intended
² this really should be a word
--
  If this is not what you expected, please alter your expectations.


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Joe Marshall  
View profile  
 More options Jun 9 2000, 3:00 am
Newsgroups: comp.lang.lisp
From: Joe Marshall <jmarsh...@alum.mit.edu>
Date: 2000/06/09
Subject: Re: Servlets in CL

Erik Naggum <e...@naggum.no> writes:
>   Property lists exist in many objects, not just symbols.  They are
>   very convenient ways to store _incidental_ information with the
>   object when the object itself is vastly more important than the
>   _property_ you want to associate with it.  

I was objecting to the `globalness' of property lists.  `Naked'
property lists don't have this problem.

>   Take symbols.  If the symbol has it's very own, very good raison
>   d'être, you'd be a fool to set up an eq hash table to store some
>   particular properties on them, and particular to set up a whole
>   bunch of them, probably named by their own symbols, to hold on to
>   each one.  You already have the symbol in hand, so it's a wanton
>   waste of resources to use an expensive external mechanism to avoid
>   being criticized by Schemers.

Erik raises a good point, but there are drawbacks to using plists even
in this situation.  Since symbol plists are a global structure, they
share the same drawbacks as any other global structure, like a global
variable.  

There is no way to manipulate properties as a collection, however.
It is difficult, for example, to enumerate all symbols with a
particular property, or to maintain two sets of properties with the
same name.  

A particular example is in a compiler.  Many compilers put properties
on symbols indicating how to process forms with these symbols.
However, when you want to retarget the compiler, you have problems.
You must replace the properties that the compiler is looking for with
a new set, but doing that makes the compiler useless for the current
machine.  There is no easy way to say `ok, do the compile, but use a
non-standard set of properties'.  If there were instead an explicit
table rather than an *implicit* one scattered about the environment,
it would be trivial to hand the compiler a different set of special
symbols.

Perhaps I should say:  `it's a wanton violation of abstraction to use
a global mechanism to avoid being criticized by Erik.'

>   Scheme exposure damages your brain if you want to program in Common
>   Lisp in your real life.  Scheme doesn't have symbols, so they're
>   _envious_ of our very useful property lists!  (Or whatever, they
>   simply don't _get_¹ the symbol as a first-class object, no matter
>   how much they otherwise rant and rave about firstclassitude².)

MIT Scheme has both symbols and propertly lists, but they are not
advertised.

 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Erik Naggum  
View profile  
 More options Jun 9 2000, 3:00 am
Newsgroups: comp.lang.lisp
From: Erik Naggum <e...@naggum.no>
Date: 2000/06/09
Subject: Re: Servlets in CL
* Joe Marshall <jmarsh...@alum.mit.edu>
| Erik raises a good point, but there are drawbacks to using plists
| even in this situation.  Since symbol plists are a global structure,
| they share the same drawbacks as any other global structure, like a
| global variable.

  I'm sure it's possible to view them this way, but _why_?  This looks
  like unfounded fear to me, and I'm not at all sure how to respond
  when the technical issues at hand seem completely irrelevant.  Are
  global variables unilaterally and universally _bad_, now?  Furrfu!

| There is no way to manipulate properties as a collection, however.
| It is difficult, for example, to enumerate all symbols with a
| particular property, or to maintain two sets of properties with the
| same name.

  The latter is obviously solved by the package system.  The former is
  the same problem as finding all the keys that have values in a hash
  table which match certain criteria.  If you have such a need, you
  cater to it by using something else.  If you don't have such a need,
  you don't need to do something else.  Contrary to what nearly every
  Scheme proponent will react as if he meant, we do not deal with the
  fully general abstract notion of a program, but an actual program
  that has a number of real-world constraints.  If using property
  lists would lead to problems, smart people use something else, but
  Scheme proponents conclude that it is problem-laden and will never
  use it even when there are no problems.

| A particular example is in a compiler.  Many compilers put
| properties on symbols indicating how to process forms with these
| symbols.  However, when you want to retarget the compiler, you have
| problems.  You must replace the properties that the compiler is
| looking for with a new set, but doing that makes the compiler
| useless for the current machine.  There is no easy way to say `ok,
| do the compile, but use a non-standard set of properties'.  If there
| were instead an explicit table rather than an *implicit* one
| scattered about the environment, it would be trivial to hand the
| compiler a different set of special symbols.

  Or you could be sufficiently smart and use one level of indirection
  in the properties: The code does not reference properties by a
  constant value (symbol), but by the value of a global symbol.

  I'm sorry, but I"m not into this "let's find one more ridiculous
  problem with something I don't like" game.  If you enjoy such games
  and impractical purity, Scheme is for you.  If you are smart enough
  to deal with the real world in its sometimes messy complexity, stay
  with Common Lisp and observe that unlike static typing and Scheme
  proponents, other programmers trust that you have a working brain
  and know when using a practical, useful mechanism is a good idea and
  when it is not.  Smart people never listen to those who claim that
  something is always bad or always good, anyway.

#:Erik
--
  If this is not what you expected, please alter your expectations.


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Messages 101 - 125 of 126 < Older  Newer >
« Back to Discussions « Newer topic     Older topic »