LISP - Powerful computer programming language designed for manipulating
lists of data or symbols rather than processing numerical data, used
extensively in artificial intelligence applications. It was designed
in the 1950s and early 1960s by a group headed by J. McCarthy at MIT.
Its name derives from "list processor". Radically different from such
other programming languages a ALGOL, C, C++, FORTRAN and Pascal, it
requires large memory space and is slow in executing programs.
There is no entry on Common Lisp, but there are very positive entries on
Java, C++, JavaScript, SQL, XML, object-oriented programming, etc, etc.
I find it rather depressing to discover that an otherwise fine reference
work is so opinionated and also out-dated on an irrelevant issue that is
even a non-sequitur like _performance_ for a programming _language_.
If this work is a success at Merriam-Webster, it will probably be updated
regularly. The copy I looked at was the first printing, in 2000, so I
have no idea whether they sell enough to make an update soon, but it
would still be nice if we could "lobby" them for a better entry. Does
anyone know how to do this most effectively?
///
--
Norway is now run by a priest from the fundamentalist Christian People's
Party, the fifth largest party representing one eighth of the electorate.
--
The purpose of computing is insight, not numbers. -- Richard Hamming
I don't blame M-W. My guess is that they got their description from any of
a number of sources that probably seemed reputable. Their description of
Lisp is typical of what many so-called "experts" in the CS industry believe
about Lisp. I'm sure you could find similar descriptions in many surveys
of programming languages.
--
Barry Margolin, bar...@genuity.net
Genuity, Woburn, MA
*** DON'T SEND TECHNICAL QUESTIONS DIRECTLY TO ME, post them to newsgroups.
Please DON'T copy followups to me -- I'll assume it wasn't posted to the group.
Have you checked out Wikipedia? <URL:http://www.wikipedia.com/>
Its various Lisp entries could certainly use improvement as well (the
Common Lisp entry in particular), but the nice part is that you can go
right ahead and fix the things that annoy you the most, or entirely
rewrite it, or whatever. That way, you don't have to be continually
disappointed in the quality of the content; you and others can instead
continually improve it.
--
Edward O'Connor
t...@oconnor.cx
Erik Naggum wrote:
> it would still be nice if we could "lobby" them for a better entry. Does
> anyone know how to do this most effectively?
kenny
clinisys
My goal is to correct the misleading entry, not cast blame nor speculate
on the probable explanation why such a misleading entry found its way
into their encyclopeadia. We have all seen them before, probably many
times. It would be so nice to see something _else_ for a change. How do
we best cause that to happen?
* Kenny Tilton
| sug...@m-w.com?
I suppose this exercise in brevity means you think I should send them an
e-mail. That had actually occurred to me. What I would like to know
more about is whether anyone has had any previous success in changing any
of the other numerous misleading explanations of (Common) Lisp in the
literature. If nobody has even _tried_, it is pretty hard to "win".
| Jeez, we can't win can we? Says it all, really.
First we try. As the saying (almost) goes: If you fail, cry, try again.
No. Are they the source of Merriam-Webster's and Encyclopedia
Britannica's misleading and out-dated opinions about Lisp?
> Erik Naggum <er...@naggum.net> wrote:
> > I find it rather depressing to discover that an otherwise fine
> > reference work is so opinionated and also out-dated on an
> > irrelevant issue that is even a non-sequitur like _performance_
> > for a programming _language_.
>
> I don't blame M-W. My guess is that they got their description from
> any of a number of sources that probably seemed reputable.
It's even more endemic then this. :(
It just seems to be accepted as fact by many people that Lisp is an
obscure, slow language used only in academia (particularly nasty
example:
http://www.xemacs.org/Architecting-XEmacs/lisp-engine.html
where it is casually stated that Lisp is not "actively used for
program development outside of small research communities"). What's
worse is that many haven't even heard of it...
I work in a mixed administrative/development group for a large
company. I started using Lisp whenever I could. *Very* few of the
other developers had even *heard* of Lisp, those who had thought it to
be obscure. Ironically, part of the groups responsibility is to
administrate a huge Lisp system (software related to broadband
switches).
I propose we rename Common Lisp to something that is all capital
letters and doesn't have "Lisp" has a substring, adopt some kind of
cute furry critter has a mascot, and flood the market with 3000 page
"Teach Yourself <new name> in 21 Days" books. Everyone will start
using Lisp.
Gabe Garza
>I propose we rename Common Lisp to something that is all capital
>letters and doesn't have "Lisp" has a substring,
Java++#. Perlthon. XPscript.
>adopt some kind of
>cute furry critter has a mascot,
Linus Torvalds?
>and flood the market with 3000 page
>"Teach Yourself <new name> in 21 Days" books.
Strap together CLTL2 (suitably ANSI-ed), PAIP, the two Graham Books,
the Keene book, and Zen and the Art of Motorcycle Maintenance. Voila!
Sashank
Erik Naggum wrote:
>
> * Erik Naggum
> | it would still be nice if we could "lobby" them for a better entry.
> | Does anyone know how to do this most effectively?
>
> * Kenny Tilton
> | sug...@m-w.com?
>
> I suppose this exercise in brevity means ...
No, it means just send in a correction. My understanding is that a
correction would be welcomed, these folks dread false entries like we
dread bugs.
Correcting "slow" is easy, throw them some C++, Lisp, Java timings. And
say "maybe before everyone started compiling Lisp, but things have
changed" -- offer the salve that they used to be right but they need an
update because things have changed.
Correcting "large memory" is harder: "yeah, but so is a full-blown C++
app and btw have you looked at the cost of RAM (or typical system RAM)
lately?!!" That gets into argumentation as opposed to "correction". But
something along those lines might support an argument that (again) while
once true it is meaningless now to define Lisp according to the RAM
required by "hello, world", a thoroughly irrelevant measure.
BTW, I liked that "powerful language" lead they used. I would open by
expressing my appreciation of that.
kenny
clinisys
The question is really what constitutes a sufficiently good "bug report"
that is has the effect of getting the bug fixed. This is not the trivial
problem it appears to be. Just as anyone can make "improvements" to a
public project like wikipedia, anyone can send in "bug reports" to a
dictionary, and so it is important to ensure that it is not dismissed as
"operator error". Therefore, I would like to hear from people who have
actually _succeeded_ in causing changes to encyclopedia or dictionary
entries, especially when it comes to the misleading impression of Lisp.
Apparently, nobody here has even tried to correct any of the sad entries
in the numerous places they have seen them.
| Correcting "slow" is easy
| Correcting "large memory" is harder:
I had in mind to point out (as I also did in the head article in this
thread) that _languages_ do not take up memory space, nor do they execute
programs in the first place, so it is an entirely irrelevant comment.
| BTW, I liked that "powerful language" lead they used. I would open by
| expressing my appreciation of that.
I concur.
> I propose we rename Common Lisp to something that is all capital
> letters and doesn't have "Lisp" has a substring, adopt some kind of
> cute furry critter has a mascot, and flood the market with 3000 page
> "Teach Yourself <new name> in 21 Days" books. Everyone will start
> using Lisp.
Visual L++
That statement is pretty close to true, although "not *widely* used" would
probably be more accurate.
Lisp misinformation is widespread in the CS community. It has plenty of
momentum, so I have very little expectation of changing this.
I suggest a community letter be written. Try to include; J. McCarthy (since
they recognize him as the main developer of Lisp and would respect his
opinion); members of X3J13, vendors (Franz, Xanalys); some words of support
from Academia (MIT, ...); the ACM (I am sure they would listened to).
In the letter:
State that the definition is deficient in such and such areas....
Propose a new definition and additional definitions for Common Lisp....
ASK that this new definition be included in the next edition...
I nominate someone who can personally contact people and get their
signatures.
They would more than likely change.
My 2 cents.
Wade
Edward> Have you checked out Wikipedia? <URL:http://www.wikipedia.com/>
Erik> No. Are they the source of Merriam-Webster's and Encyclopedia
Erik> Britannica's misleading and out-dated opinions about Lisp?
Perhaps the fact that they botched Lisp so badly should be an alarm
bell warning that other entries might similarly be obsolete and/or
inaccurate, but that you don't have the domain knowledge to recognize
it. Perhaps it only _seems_ an otherwise excellent reference because
you (speaking generally) _want_ the rest of the world to be neatly
condensed into a portable, practical and accessible volume more than
you want purity of truth. Perhaps it is time to reevaluate that
perception.
--
Russell Senior ``The two chiefs turned to each other.
sen...@aracnet.com Bellison uncorked a flood of horrible
profanity, which, translated meant, `This is
extremely unusual.' ''
It really wouldn't be fair to the other CS
entries, which I'm sure didn't make it in via special
pleading.
--d
Encyclopedias are supposed to use expert submissions for their definitions.
Its the only way. Either their experts are ignorant of Lisp (and need
correction) or they did not use any (Lisp) experts. Let the other language
supporters worry about their own submissions.
It is not pleading, it is ASKing. I am sure Merriam-Webster wants accurate
entries. One does not have to whine to get one's way.
Wade
Dorai Sitaram wrote:
> It really wouldn't be fair to the other CS
> entries, which I'm sure didn't make it in via special
> pleading.
That's why it should be offered as a correction per se, and why the only
easy target is "slow". Well, OK, getting a Common Lisp mention (embedded
or as a separate entry) might also be easy. But maybe you have something
there: if there is a flaw in the description of some other language
mention that, too. Did they say Java was write-once, run many? Did they
say C++ was powerful? ")
It would be important I think to mention that the definition was once
upon a time accurate, before optimizing Lisp compilers came along. That
makes it clear that they have simply missed something, and my
understanding is these folks live for accuracy.
Perhaps the way to go is not to come on too strong with a whole 'nother
definition, but just offer the correction, mention Common Lisp as an
event worth noting, offer to supply more info. And if there is a better
independent description somewhere, a link to that.
kenny
clinisys
They probably used computer science experts, not Lisp experts. Like I said
before, that entry is typical of what most CS professors and practitioners
think of Lisp. It was pretty true 20 years ago when most of the "experts"
learned their craft. If I were an encyclopedia editor, I would expect that
someone practicing their craft for several decades would be competent to
write a one-paragraph description of something.
For a multi-page entry on a big topic, I'd expect the publisher to look for
someone with detailed expertise on that specific entry. E.g. the entry on
dogs should be written by people who specialize in dogs, not general
zoologists or zookeepers. But I think you're expecting a bit much if you
think they'll spend the resources to look for experts in Lisp for a tiny
entry like that; if they have general computer resources, they'll use them
for the minor entries. The effort has to be proportional to the result.
> If I were an encyclopedia editor, I would expect that
> someone practicing their craft for several decades would be competent to
> write a one-paragraph description of something.
I've said this before, but it's especially relevant again here:
Programming languages are like political parties or religions.
One doesn't let a Democrat extol the virtues of the Republican party, nor
vice versa.
One wouldn't have a Rabbi explain Christianity, nor a Reverand Judaism,
even though both probably have a basic understanding.
> For a multi-page entry on a big topic, I'd expect the publisher to look for
> someone with detailed expertise on that specific entry. E.g. the entry on
> dogs should be written by people who specialize in dogs, not general
> zoologists or zookeepers. But I think you're expecting a bit much if you
> think they'll spend the resources to look for experts in Lisp for a tiny
> entry like that; if they have general computer resources, they'll use them
> for the minor entries. The effort has to be proportional to the result.
Pre-web, this was so. I'm not sure it takes 10 minutes to find an expert
on most things these days.
Encyclopedias must anticipate that facts change and must recognize
that when they've badly done something, experts will present
themselves. I bet we won't have the trouble some of us might think
we're going to have in getting them to acknowledge an update.
Heck, ask them to add a hyperlink pointer to the Association of Lisp Users.
But a political scientist should be able to provide a summary of what each
party represents.
>One wouldn't have a Rabbi explain Christianity, nor a Reverand Judaism,
>even though both probably have a basic understanding.
No, but I might ask a professor of religion.
The problem, as I see it, is that the encyclopedia shouldn't be "extolling
virtues" of anything. Do the entries on dogs and cats indicate which is a
better pet?
>> For a multi-page entry on a big topic, I'd expect the publisher to look for
>> someone with detailed expertise on that specific entry. E.g. the entry on
>> dogs should be written by people who specialize in dogs, not general
>> zoologists or zookeepers. But I think you're expecting a bit much if you
>> think they'll spend the resources to look for experts in Lisp for a tiny
>> entry like that; if they have general computer resources, they'll use them
>> for the minor entries. The effort has to be proportional to the result.
>
>Pre-web, this was so. I'm not sure it takes 10 minutes to find an expert
>on most things these days.
You can get answers quickly. The hard part is determining whether the
person who answered is really an expert. Regular participants in
comp.lang.lisp know that Kent and Erik are very knowledgeable, but how
would the encyclopedia expert know this a priori?
The word "enterprise" still hasn't been recognized as yet another
sales department method for manipulating administrative beurocrats
yet, so why not ...
Enterprise L++
;)
--
--Ed Cashin integrit file-verification system:
eca...@terry.uga.edu http://integrit.sourceforge.net/
Note: If you want me to send you email, don't munge your address.
All the more reason for an encyclopedia not to let its
entries be coerced into becoming political
propaganda.
>One doesn't let a Democrat extol the virtues of the Republican party, nor
>vice versa.
Republicans extolling the Republican party doesn't make
for a great encyclopedia entry either. An entry by a
nonpartisan professor or historian or journalist should
be adequate. By your yardstick, an entry on
terrorism by a non-terrorist would be sorely lacking,
but I don't expect any 'cyclopedia really wants to
"rectify" this.
--d
>In article <9rc2gm$1c7$1...@news3.cadvision.com>,
>Wade Humeniuk <hume...@cadvision.com> wrote:
>>Encyclopedias are supposed to use expert submissions for their definitions.
>>Its the only way. Either their experts are ignorant of Lisp (and need
>>correction) or they did not use any (Lisp) experts. Let the other language
>>supporters worry about their own submissions.
>
>They probably used computer science experts, not Lisp experts. Like I said
>before, that entry is typical of what most CS professors and practitioners
>think of Lisp. It was pretty true 20 years ago when most of the "experts"
>learned their craft. If I were an encyclopedia editor, I would expect that
>someone practicing their craft for several decades would be competent to
>write a one-paragraph description of something.
>
>For a multi-page entry on a big topic, I'd expect the publisher to look for
>someone with detailed expertise on that specific entry. E.g. the entry on
>dogs should be written by people who specialize in dogs, not general
>zoologists or zookeepers. But I think you're expecting a bit much if you
>think they'll spend the resources to look for experts in Lisp for a tiny
>entry like that; if they have general computer resources, they'll use them
>for the minor entries. The effort has to be proportional to the result.
From (limited) experience (as a copy-editor on a technical dictionary and
onetime contributor to a technical encyclopedia) I would say that reference
publishers' ideas of both experts and sources are not like ours at all (fsvo
"ours"). Experts are often on a catch-as-catch-can basis, if only because the
absolutely best-qualified people are too busy and, if they accept, will likely
farm the work out to an apprentice anyway. And way too much is made of
reference materials _appearing in print_, which means that marketing bumf
may be taken as an arbiter of fact, or at least a source of information about
what terms and issues in a field are important.
It's not really their fault, but it can be annoying.
paul
> In article <sfwvgh2...@world.std.com>,
> Kent M Pitman <pit...@world.std.com> wrote:
> >Barry Margolin <bar...@genuity.net> writes:
> >
> >> If I were an encyclopedia editor, I would expect that
> >> someone practicing their craft for several decades would be competent to
> >> write a one-paragraph description of something.
> >
> >I've said this before, but it's especially relevant again here:
> >
> >Programming languages are like political parties or religions.
> >
> >One doesn't let a Democrat extol the virtues of the Republican party, nor
> >vice versa.
>
> But a political scientist should be able to provide a summary of what each
> party represents.
Yes, but it's not going to be divorced from their point of view. Ask
a Stalinist-sympathizing history professor about Trotskyism:
"A Social-Democratic political program that came about when a
section of the participants of the October Revolution became
disenchanted with its results. Its main priciples are ..."
Or a Trotskyist-sympathizer about Stalinism:
"A political tendancy that arose from the bureaucratization of the
October Revolution. Its politics are characterized by ..."
Or a "non-political" one about Communism at all:
"A failed experiment in ..."
The definition a Trotskyist or a Stalinist give of their own tendancy
is going to be the most useful.
> You can get answers quickly. The hard part is determining whether the
> person who answered is really an expert.
Computer Science professors who *use* Common Lisp; vendors who make
it; McCarthy; researchers in industry who use it; people on the ANSI
committee.
> Regular participants in comp.lang.lisp know that Kent and Erik are
> very knowledgeable, but how would the encyclopedia expert know this
> a priori?
The above-listed people come with qualifications about anyone can see.
--
/|_ .-----------------------.
,' .\ / | No to Imperialist war |
,--' _,' | Wage class war! |
/ / `-----------------------'
( -. |
| ) |
(`-. '--.)
`. )----'
And S-expressions should probably be written with curly-braces,
because everyone knows that's the modern way:
{
let {
{new-lang {find-L++}}
}
{
if {
and {market-y-p new-lang}
{lots-of-curly-braces-p new-lang}
}
{succeed}
{error "You need to modernize your language!"}
No one will ever be divorced from their point of view. The only way to get
that is to ask someone who doesn't have a point of view, but they're
probably not knowledgeable about the subject matter so it's even worse.
>> You can get answers quickly. The hard part is determining whether the
>> person who answered is really an expert.
>
>Computer Science professors who *use* Common Lisp; vendors who make
>it; McCarthy; researchers in industry who use it; people on the ANSI
>committee.
They'll probably be biased in the other direction. I imagine if you were
to ask people on the C++ committee you'd get a description of how great it
is, but we know it's a load of crap.
>> Regular participants in comp.lang.lisp know that Kent and Erik are
>> very knowledgeable, but how would the encyclopedia expert know this
>> a priori?
>
>The above-listed people come with qualifications about anyone can see.
How is a first-time reader of the group supposed to recognize those people?
McCarthy very rarely posts here.
> In article <xcv6692...@apocalypse.OCF.Berkeley.EDU>,
> Thomas F. Burdick <t...@apocalypse.OCF.Berkeley.EDU> wrote:
> >Barry Margolin <bar...@genuity.net> writes:
> >> But a political scientist should be able to provide a summary of what each
> >> party represents.
> >
> >Yes, but it's not going to be divorced from their point of view.
>
> No one will ever be divorced from their point of view. The only way to get
> that is to ask someone who doesn't have a point of view, but they're
> probably not knowledgeable about the subject matter so it's even worse.
What's with the creative quoting? You took the first sentance of my
paragraph and left all the support for it out. I wasn't making an
argument for radical objectivity, which is what you were
(artificially) arguing against.
> >> You can get answers quickly. The hard part is determining whether the
> >> person who answered is really an expert.
> >
> >Computer Science professors who *use* Common Lisp; vendors who make
> >it; McCarthy; researchers in industry who use it; people on the ANSI
> >committee.
>
> They'll probably be biased in the other direction. I imagine if you were
> to ask people on the C++ committee you'd get a description of how great it
> is, but we know it's a load of crap.
You can give a description of how great something is; or you can give
a description of something. The C++ committee, if they were trying to
write a non-biased description, would certainly fail at the non-biased
part, but would probably provide a useful description that would
reveal their technical and political goals and point of view.
> >> Regular participants in comp.lang.lisp know that Kent and Erik are
> >> very knowledgeable, but how would the encyclopedia expert know this
> >> a priori?
> >
> >The above-listed people come with qualifications about anyone can see.
[referring here to the list including the ANSI committee, McCarthy, etc]
> How is a first-time reader of the group supposed to recognize those people?
> McCarthy very rarely posts here.
We weren't talking about the first-time reader of this group, we were
talking about an encyclopedia editor. Anyhow, McCarthy is the only
one in there who needs introduction. "The inventor of Lisp back in
1950-whenever ..."
> j...@itasoftware.com writes:
>
> > Gabe Garza <g_g...@ix.netcom.com> writes:
> >
> > > I propose we rename Common Lisp to something that is all capital
> > > letters and doesn't have "Lisp" has a substring, adopt some kind of
> > > cute furry critter has a mascot, and flood the market with 3000 page
> > > "Teach Yourself <new name> in 21 Days" books. Everyone will start
> > > using Lisp.
> >
> > Visual L++
>
> And S-expressions should probably be written with curly-braces,
> because everyone knows that's the modern way:
Curly braces are *so* 80's. We need to use angle brackets, so people
will think it's some kind of futuristic XML.
<defun fact <x>
<if <= x 0> 1 <* x <fact <1- x>>>>>
(progn
(set-syntax-from-char #\< #\()
(set-syntax-from-char #\> #\))
(set-macro-character #\< (lambda (stream char)
(declare (ignore char))
(read-delimited-list #\> stream)))
(set-syntax-from-char #\( #\a)
(set-syntax-from-char #\) #\a)
(defun l++-print-cons (*standard-output* cons)
(write-char #\<)
(unless (null cons)
(loop
(prin1 (car cons))
(cond
((consp (cdr cons))
(setf cons (cdr cons))
(write-char #\Space))
((not (null (cdr cons)))
(write-string " . ")
(prin1 (cdr cons))
(return))
(t
(return)))))
(write-char #\>))
(set-pprint-dispatch 'list #'l++-print-cons))
Gabe Garza
Well, the other CS entries _were_ written by people who were quite up to
date on the topics they wrote about.
> >> Regular participants in comp.lang.lisp know that Kent and Erik are
> >> very knowledgeable, but how would the encyclopedia expert know this
> >> a priori?
> >
> >The above-listed people come with qualifications about anyone can see.
>
> How is a first-time reader of the group supposed to recognize those people?
> McCarthy very rarely posts here.
I would be very badly surprised if editors of an encyclopedia were to
use Usenet as a primary source of their information. It just is not
to be considered a source of definitive knowledge.
Standards published by national and international standardization
organizations, OTOH, are sources of definitive knowledge. So at a
bare minimum I'd expect a conscientious editor to look up current
standards on Lisp, and compare his definition with the definitions he
encounters. This will also give him pointers to the responsible
working groups (or sub-committees, or whatever the actual technical
entities of the respective organization are called), and so the
mandated contact points for further inquiries.
This is the minimum amount of trouble I'd expect from an editor of --
let's say -- a "computer" encyclopedia.
If that seems like too much trouble to go to for the encyclopedia in
question (which it may well might be), then I would suggest that the
term is not suitable for inclusion in their encyclopedia, and should
hence be dropped. I actually don't see why a generic encyclopedia
should have entries for particular programming languages, and can't
make do with a generic entry under "programming languages". But if it
does intend to include such entries, then it better make sure that
they are at least accurate. Employing some random CS post-graduate to
regurgitate the tales he heard about is not the way to compile
encyclopedias.
It is better to have no entry, than it is to present a misleading
entry.
Regs, Pierre.
--
Pierre R. Mai <pm...@acm.org> http://www.pmsf.de/pmai/
The most likely way for the world to be destroyed, most experts agree,
is by accident. That's where we come in; we're computer professionals.
We cause accidents. -- Nathaniel Borenstein
Considering the large number of computer-releated entries in this volume,
a lot more than I have found in any other encyclopedia of comparable size
(I went ahead and bought it :), they have made a significant effort to
fill the need of third-millennium collegiate users. I think this bodes
well for an updated entry in a future edition, and I frankly do not quite
understand the depressingly defeatist attitude of those who think there
is no use -- a long journey starts with the first step, and if we can get
at least one modern reference work get it right, maybe others will follow
in the years to come.
For purposes of the discussion about the level of accuracy, detail and
"political party"-like treatment that Lisp got in comparison with other
languages get, it might be worth looking at the entries for Java and C++:
Java - Modular object-oriented programming lgnauge developed by Sun
Microsystems in 1995 specifically for the Internet. Java is based on
the ida that the same software should run on many different kinds of
computers, consumer gadgets, and other devices; its code is translated
according to the needs of the machine on which it is running. The most
visible examples of Java software are the interactive programs called
"applets" that animate sites on the World Wide Web, where Java is a
standard creative tool. Java provides an interface to HTML.
C++ - Object-oriented version (see object-oriented programming) of the
computer programming language C. Developed by Bjarne Stroustrup of
Bell Laboratories in the early 1980s, it is a traditional C language
with added object-oriented capabilities. C++, along with Java, has
become popular for developing commercial software packages that
incorporate multiple interrelated applications.
I for one would like to see a larger entry for Lisp. Lisp is a historical
and very important development in computer programming. It is one of the
oldest languages and the people that have worked on it have influenced the
development of programming concepts and other computer languages. About 10
years ago there was a special issue of the ACM devoted to Lisp. Maybe
something can be taken from there? I no longer have my copy.
Wade
I don't really see what "fair" has to do with anything. An encyclopedia is
about being as accurate as it can, not being evenly misinformed. If any other
entry is similarily inaccurate it should be corrected as well.
Coby
--
(remove #\space "coby . beck @ opentechgroup . com")
I would be surprised too. Usenet is a great resource for in-depth details and
general research when combined with other sources. But there are certainly too
many opinions to get an accurate five-line summary of any topic you can
trust... or perhaps more specifically that you can *justify* trusting.
> hence be dropped. I actually don't see why a generic encyclopedia
> should have entries for particular programming languages, and can't
> make do with a generic entry under "programming languages". But if it
> does intend to include such entries, then it better make sure that
> they are at least accurate. Employing some random CS post-graduate to
> regurgitate the tales he heard about is not the way to compile
> encyclopedias.
>
I'm sure they employed a very reputable one. Like Barry said, that description
is a widely held belief. I don't "blame" them at all for echoing an "expert"
what else can they realistically do? I would blame them if someone or some
group submitted an easily verifiable correction and they ignored it. Even if
the group were gathered from a Usenet newsgroup! :)
Regardless of how widely held the belief, describing _languages_ as
requring large memory space and executing programs slowly is very low
quality craftsmanship from a CS professional. Any CS professional worth
his salt knows that languages, and especially members of the Lisp family
past and present, are implemented in many different ways on differnt
kinds of computers that make such a blanket generalization embarrassing.
| I don't "blame" them at all for echoing an "expert" what else can they
| realistically do?
They could think a little bit about what it means for a language to take
up memory space. It is a very sloppy way to write what they had in mind,
even to someone who does not know that much about computers and languages.
> * Kenny Tilton
> | Did they say Java was write-once, run many? Did they say C++ was
> | powerful?
>
> For purposes of the discussion about the level of accuracy, detail and
> "political party"-like treatment that Lisp got in comparison with other
> languages get, it might be worth looking at the entries for Java and C++:
Basically the standard folklore, also.
check
http://www.m-w.com/cgi-bin/dictionary
Unfortunately, they still do not have an entry for Haskell or SML :-(
up to here that's probably true for nearly every programming language
that has compilers for more than one architecture
hs
--
Apart from the obvious disagreement about who the good guys are, what
is the difference between "You are either with us or against us" and
"There are only good muslim and infidels"?
You might be surprised to learn that there is a subtle difference between
a dictionary and an encyclopedia, such as completely different contents,
despite certain trademarks and words in large print on the dust jacket
that a not very bright observer may find sufficiently similar to jump to
wrong conclusions.
> For purposes of the discussion about the level of accuracy, detail and
> "political party"-like treatment that Lisp got in comparison with other
> languages get, it might be worth looking at the entries for Java and C++:
>
> Java - Modular object-oriented programming lgnauge developed by Sun
> Microsystems in 1995 specifically for the Internet. Java is based on
They echo the current Sun propaganda but Java was originally designed
for embedded devices.
> the ida that the same software should run on many different kinds of
> computers, consumer gadgets, and other devices; its code is translated
> according to the needs of the machine on which it is running. The most
> visible examples of Java software are the interactive programs called
> "applets" that animate sites on the World Wide Web, where Java is a
> standard creative tool. Java provides an interface to HTML.
>
> C++ - Object-oriented version (see object-oriented programming) of the
> computer programming language C. Developed by Bjarne Stroustrup of
> Bell Laboratories in the early 1980s, it is a traditional C language
> with added object-oriented capabilities. C++, along with Java, has
> become popular for developing commercial software packages that
> incorporate multiple interrelated applications.
I'm not aware of any major commercial software packages written in
Java. They have tried to rewrite the WordPerfect suite in Java but the
project was a failure.
Completely unrelated but the October number of CACM contains an
article by Henry Legard with the following fascinating quote: "In
parallel with the development of CASE came the C++ language - a super
set of C, but still a simple language." I'd hate to see something that
man considers a complex language.
--
Lieven Marchand <m...@wyrd.be>
She says, "Honey, you're a Bastard of great proportion."
He says, "Darling, I plead guilty to that sin."
Cowboy Junkies -- A few simple words
...
> They could think a little bit about what it means for a language to take
> up memory space. It is a very sloppy way to write what they had in mind,
> even to someone who does not know that much about computers and languages.
I don't know what all the fuss is about. Certainly if there's an
inaccuracy in the encyclopedia then anyone at all can point it out to
the editors. If the inaccuracy is pointed out with precision,
clarity, and with some helpful references, they will have little
trouble verifying the correction themselves.
A good encyclopedia is likely to have good editors who would welcome
an accurate, well-presented correction, no matter who presents it.
One of the more interesting things that have been uncovered by this
discussion is that nobody has ever even _tried_ to communicate with the
editors of any existing reference works to update the entries on (Common)
Lisp from the 1960's version they mostly have today. Small wonder nobody
has published anything "better" -- those who could have helped them have
refrained from doing so. The "fuss" is about getting to the point where
the (Common) Lisp communicate can actually talk to these editors.
I have been reluctant to write something on my own and asked for some
guidance from those who have already tried and succeeded -- now I know
that they do not exist. This has frankly surprised me a bit -- there
have been enough complaints here about how _unfairly_ Lisp has been
treated, yet nobody have been angered enough by the unfairness to act.
> One of the more interesting things that have been uncovered by this
> discussion is that nobody has ever even _tried_ to communicate with the
> editors of any existing reference works to update the entries on (Common)
> Lisp from the 1960's version they mostly have today. Small wonder nobody
> has published anything "better" -- those who could have helped them have
> refrained from doing so. The "fuss" is about getting to the point where
> the (Common) Lisp communicate can actually talk to these editors.
Well, I myself have never noticed up until this discussion.
I don't tend to read encyclopedias, frankly. The last time I used one
was in high school, in science fiction class, when I found one useful
to provide appropriate and convincing references to actual
documentable incidents of time travel. (I'm not kidding.) Sometime
subsequent to that, I decided they didn't do a lot of thorough
research and I made a note to not put as much trust in their content
as I had in earlier grades.
Nevertheless, the do exist and the fact that I feel I have generally
outgrown them and/or learned to distrust them is not a proof that they
are not something that should be kept an eye on.
As to the issue of getting to the point of communicating, I have assumed
that those carrying on the conversation here would reach a consensus about
what was required and would make the communication. If they do not, I
certainly will involve myself. I'm quite outraged, but I see no reason
to apply infinite force until we're sure simple force will not suffice.
SOMEONE should contact them, and if that doesn't work, we should discuss
the mode of failure (being ignored, explicitly denied credential, etc.)
and figure out how to proceed.
> I have been reluctant to write something on my own and asked for some
> guidance from those who have already tried and succeeded -- now I know
> that they do not exist. This has frankly surprised me a bit -- there
> have been enough complaints here about how _unfairly_ Lisp has been
> treated, yet nobody have been angered enough by the unfairness to act.
Pre- or post-discussion? I don't see the discussion as having been
terminated. Neither do I see very large harm being caused by delaying
a few days while we discuss things.
I'm not John McCarthy, nor even any more a J13 member, but if my
credential as an expert in having been Project Editor for ANSI Common
Lisp or ISO ISLISP would be helpful in approaching them, I would be
happy to use it. (I'm quite sure I could round up appropriate other
names to stand with me, if it comes to that.) But, for
strategic/learning reasons, it seems to me best to hold that until the
second round of contact, and to prefer the first round of contact to
merely apply "truth" as a credential and see how far that gets us.
This forum is not probably representative of the Lisp community as a
whole, having probably some biases in terms of the mix of people it
attracts, but nevertheless it is probably "sufficiently
representative" to serve as a sounding board to find out what kind of
details should go into an appropriate suggested entry. If, beyond what
this forum can provide, I can personally provide any additional help
to whoever wants to contact them, please send me email and I'll do so.
> I don't tend to read encyclopedias, frankly.
Well, general-purpose encyclopedias are one thing (and I think this is
the thing being discussed); and domain-specific ones are another.
Sure, a domain-specific encyclopedia won't be able to capture encyclic
knowledge of a field, but it can be *quite* useful, nonetheless. For
example, my Larousse Gastronomique is a wonderful reference, and has
quite an astonishing bredth and depth of information (in its domain).
Of course, this is rather tangential, because we're not talking about
a domain-specific encyclopedia.
> Well, general-purpose encyclopedias are one thing (and I think this
> is the thing being discussed); and domain-specific ones are another.
> Sure, a domain-specific encyclopedia won't be able to capture
> encyclic knowledge of a field, but it can be *quite* useful,
> nonetheless. For example, my Larousse Gastronomique is a wonderful
> reference, and has quite an astonishing bredth and depth of
> information (in its domain).
You should make sure that Larousse Gastronomique has the appropriate
definition of Lisp too... :-)
--
(concatenate 'string "cbbrowne" "@cbbrowne.com")
http://www.cbbrowne.com/info/spreadsheets.html
Rules of the Evil Overlord #55. "The deformed mutants and odd-ball
psychotics will have their place in my Legions of Terror. However
before I send them out on important covert missions that require tact
and subtlety, I will first see if there is anyone else equally
qualified who would attract less attention."
<http://www.eviloverlord.com/>
Original
LISP - Powerful computer programming language designed for manipulating
lists of data or symbols rather than processing numerical data, used
extensively in artificial intelligence applications. It was designed
in the 1950s and early 1960s by a group headed by J. McCarthy at MIT.
Its name derives from "list processor". Radically different from such
other programming languages a ALGOL, C, C++, FORTRAN and Pascal, it
requires large memory space and is slow in executing programs.
New
Lisp - A computer programming language originally designed in the 1950s and
early 1960s by a group headed by J. McCarthy at MIT. Lisp is an acronym for
List Processing, the conceptual core for the original Lisp implementations.
Heavily adopted for AI (Artificial Intelligence) research and development in
the 1960s and 1970s its use prompted the development of many programming
techniques in wide use today. Many Lisp dialects were created into the
1980s and then consolidated into the Common Lisp ANSI standard of today.
The main features of Lisp are; uniform and extensible syntax; its
interactive development model (which differs from the compile-link-test
model of the other Algol like languages); and a rich set of data types.
Wade
> Here is a first shot at a new definition,
>
> Original
>
> LISP - Powerful computer programming language designed for manipulating
> lists of data or symbols rather than processing numerical data, used
> extensively in artificial intelligence applications. It was designed
> in the 1950s and early 1960s by a group headed by J. McCarthy at MIT.
> Its name derives from "list processor". Radically different from such
> other programming languages a ALGOL, C, C++, FORTRAN and Pascal, it
> requires large memory space and is slow in executing programs.
>
>
> New
>
> Lisp - A computer programming language originally
> designed in the 1950s and
> early 1960s by a group headed by J. McCarthy at MIT.
I believe the language was originally created in 1958 by John McCarthy.
The group followed. I'd separate these two things.
> Lisp is an acronym for
> List Processing, the conceptual core for the original Lisp implementations.
I don't know about conceptual core. I think a lot of things were.
Symbols and lambda expressions as well. "prominent feature" maybe.
Also, this needs to make clear that while it was formerly a central
data structure, it is now only one of many available data structures,
including a very sophisticated portfolio of array types, several built
built-in hash table types, and customer user-defined object classes.
> Heavily adopted for AI (Artificial Intelligence) research and development in
> the 1960s and 1970s its use prompted the development of many programming
> techniques in wide use today.
I claim (and I seem to be the only one who does, but I still stand by it)
that the really good effect of this is less the issue of the extralingual
AI techniques that programmers can use
and more the stress the AI community placed on the language itself
to become robust
in the face of dynamic change, to accomodate a variety of representational
strategies, to facilitate complex compositional effects such as higher
order functions, to accomodate both symbolic AND numerical programming
efficiently, to offer introspective capabilities, etc. Yes, Lisp enabled
AI but AI did a major and lasting service for Lisp that extends even to now
when Lisp is not used heavily for AI--it made Lisp robust enough that it's
the place people come back to when other languages blow up as "too complex".
> Many Lisp dialects were created into the
The word "into" here is awkward. Maybe "Creation of a large number of
competing Lisp dialects continued into ..." However, it is important to
emphasize that Common Lisp is not the only Lisp branch remaining. It is
really primarily the Maclisp variations were consolidated. I wouldn't
detail all of this here, but it's important to know. The Interlisp
dialect was essentially extinguished. (But on a per-seat count, depending
on how you count it, autolisp and gnu emacs lisp may have ten times as
many users as common lisp. Most doing only very casual one-liners in
init files, though.) The eulisp dialect still exists in some state. ISLISP
also still exists. ANSI CL is not to be neglected but it would be both
unfair for ANSI CL to be named by itself and also not helpful to Lisp's
cause. Mentioning that there are wide differences among dialects is perhaps
important to not having ANSI CL labeled by knowledge of one of these others,
but still those others have some constituency that we should not seek to
ignore.
> 1980s and then consolidated into the Common Lisp ANSI standard of today.
> The main features of Lisp are; uniform and extensible syntax; its
> interactive development model (which differs from the compile-link-test
> model of the other Algol like languages); and a rich set of data types.
Mention of a runtime compiler is critical when talking about interactive,
lest people think that interactive means interpreted. Other features of
Lisp worth a mention are: dynamic memory management ("garbage collection"),
a powerful iteration facility, a world-class
object-oriented programming facility that enables efficient yet fully dynamic
dispatch on one or more arguments, and an industry-leading
error-handling [I prefer condition-handling, but don't think people know
what that means so I say error-handling when talking to non-believers]
facility,
"Common Lisp ANSI standard" is getting into low-level
nitty-gritty, esp compared to the entries for the
other languages, which certainly have strong
standardization bodies too.
"then consolidated into ... Common Lisp of today" patly
discounts Scheme, and suggests misleadingly that
Common Lisp is the sole current descendent from Lisp
history.
--d
I didn't intend my quoting to be misleading, or even realize I was doing
so. I believe in editing quotes down to just enough to provide context for
the response. The supporting text is not necessary for that.
>> How is a first-time reader of the group supposed to recognize those people?
>> McCarthy very rarely posts here.
>
>We weren't talking about the first-time reader of this group, we were
>talking about an encyclopedia editor. Anyhow, McCarthy is the only
>one in there who needs introduction. "The inventor of Lisp back in
>1950-whenever ..."
You (or someone whose argument you're supporting -- I haven't reviewed the
thread to see who said what) said that the editor could go onto the net and
in 10 minutes get a good description of Lisp. I assumed you meant going to
our newsgroup and posting a request for such a description. I think it's
very likely that the editor would be a first-time reader of the group.
They could also enter "Lisp" into a search engine, but trying to find what
they're looking for from that will be an extremely daunting task. Even
after filtering out all the pages about speech impediments there will be
thousands of pages just containing Lisp code (e.g. hundreds of people's
Emacs extensions).
If they find out first that McCarthy is the father of Lisp they could just
write to him asking for a description.
But if they have someone on their staff who is supposedly a computer
science expert, is it unreasonable for them to be trusted to be able to
provide all the trivial (i.e. one-paragraph) entries? If not, what's the
point of having people like that on staff? Is it really feasible to write
to experts for every little thing in the book?
Lisp - A group of computer programming languages originally designed in the
1950s and early 1960s by J. McCarthy of MIT. Lisp is an acronym for List
Processing, one of the conceptual cores of the original Lisps.
> > Heavily adopted for AI (Artificial Intelligence) research and
development in
> > the 1960s and 1970s its use prompted the development of many programming
> > techniques in wide use today.
>
> I claim (and I seem to be the only one who does, but I still stand by it)
> that the really good effect of this is less the issue of the extralingual
> AI techniques that programmers can use
> and more the stress the AI community placed on the language itself
> to become robust
> in the face of dynamic change, to accomodate a variety of representational
> strategies, to facilitate complex compositional effects such as higher
> order functions, to accomodate both symbolic AND numerical programming
> efficiently, to offer introspective capabilities, etc. Yes, Lisp enabled
> AI but AI did a major and lasting service for Lisp that extends even to
now
> when Lisp is not used heavily for AI--it made Lisp robust enough that it's
> the place people come back to when other languages blow up as "too
complex".
Then perhaps a sentence like:
Lisp was heavily adopted for AI (Artificial Intelligence) research and
development in the 1960s and 1970s. Lisp evolved quickly during this time
as new computational techniques were developed. Today these techniques are
commonly used in software development and are fully supported in the modern
Lisp dialects.
>
> > Many Lisp dialects were created into the
>
> The word "into" here is awkward. Maybe "Creation of a large number of
> competing Lisp dialects continued into ..." However, it is important to
> emphasize that Common Lisp is not the only Lisp branch remaining. It is
And then:
Diverse Lisp dialects are still in active use today. These include
standardized dialects (ANSI Common Lisp, IEEE Scheme and EuLisp) and
specialty versions (used for extending applications).
> > 1980s and then consolidated into the Common Lisp ANSI standard of today.
> > The main features of Lisp are; uniform and extensible syntax; its
> > interactive development model (which differs from the compile-link-test
> > model of the other Algol like languages); and a rich set of data types.
>
> Mention of a runtime compiler is critical when talking about interactive,
> lest people think that interactive means interpreted. Other features of
> Lisp worth a mention are: dynamic memory management ("garbage
collection"),
> a powerful iteration facility, a world-class
> object-oriented programming facility that enables efficient yet fully
dynamic
> dispatch on one or more arguments, and an industry-leading
> error-handling [I prefer condition-handling, but don't think people know
> what that means so I say error-handling when talking to non-believers]
> facility,
Maybe change that to:
The main features of Lisp are; uniform and extensible syntax; its
interactive (compiled and interpreted) development model (which differs from
the compile-link.test model of other Algol like languages); a rich set of
data types; dynamic memory management; support for imperative, functional
and object-oriented styles of coding; and industry-leading error handling.
Maybe at the end one could add:
Has a devoted and gifted group of users and proponents!
Wade
Everyone, feel free to edit or write your own versions.
I wouldn't expect an encyclopedia editor to have enough understanding about
computers to realize that the claim makes no sense. They probably don't
know the first thing about how computer languages work.
That entry is an extremely accurate representation of a common
misperception. It's analogous to a pre-Copernican encyclopedia saying that
the Sun revolves around the Earth -- I'm sure they could refer to dozens of
reputable experts they consulted.
I think worrying about this encyclopedia entry is tilting at windmills.
Even if they change it, so what? Do you really think that people doing any
serious comparisons of computer languages are going to use that miniscule
entry as their criteria? Or that changing this encyclopedia will actually
make a dent in the widespread misunderstanding about Lisp in the computer
science industry? I think this is much ado about nothing. (Wow, two
classic literature references in one paragraph! :)
Hmm, one of the most popular dialects of Lisp is Emacs Lisp, and I don't
consider it to have "industry-leading error handling". A generic Lisp
encyclopedia entry should probably not be so biased towards Common Lisp.
I'd expand on "rich set of data types" to mention the fact that they allow
very flexible references between data objects.
True, it's generally been the intent of high-level programming languages.
But some try harder than others. For instance, C has a number of features
that are explicitly left implementation-dependent, so that they can
translate easily into whatever the corresponding hardware operation is.
The big difference in Java's case is that much of its design and
development were related to its use on the web (yes, I know it wasn't
*originally* designed for the web, but by the time it got out of the lab
that's what it was for). With most other application environments, the
developer has some control over how and where the application will run
(e.g. he might choose to sell binary executables that have only been
compiled for a particular machine/OS, so he doesn't have to deal with
porting issues). Because Java applets are most often run on a system
completely outside the control of the developer, environmental independence
is an even more critical feature.
Someone posted the entries for Java and C++. They seemed to be much less
opinionated than the one for Lisp.
Then let others who do not agree with you try to change these entries.
| Do you really think that people doing any serious comparisons of computer
| languages are going to use that miniscule entry as their criteria?
What makes you believe that those are the target audience? People who
would like to know about something they previously knew little or nothing
about go to encyclopedia to satisfy their _curiosity_. You are probably
not that kind of person, but I am. Many a journey to learn new things
have begun with various encyclopedia entries over the years. I would
like an entry to be motivating those who seek to learn. This particular
entry is not. Regardless of your defeatism, the fact is that some people
start with absolutely no knowledge about Lisp and could use an entry that
led them to want to learn more, and not be led _astray_. Some people do
in fact start with their own curiosity as the only motivation. If one in
a thosuand start their journey to something I consider valuable through a
dictionary entry, then it is worth improving it. You do not think so,
but I wonder why you find it worth your time and effort to _discourage_
those who do. What is in this for you to want to _hinder_ an improved
entry? Why are you so interested in _de-motivating_ those who would
simply like such an entry to be more accurate? I find your expressed and
strong _negative_ interest here very puzzling, to say the least. How
could it possibly be a good thing for you to cause an inaccurate entry to
remain unchanged if it can be improved?
| Or that changing this encyclopedia will actually make a dent in the
| widespread misunderstanding about Lisp in the computer science industry?
Yes. "A dent" is precisely what I would hope for. If it has wider
effects over time, that would be a good thing, too, but it is hard to
know these things in advance. For instance, it _may_ be sufficient to
change this one entry to cause other entries to be less inaccurate, as
editors and the experts they consult, also consult each other's entries.
| I think this is much ado about nothing.
Of course you do. You have given up and you want others to give up, too.
I would appreciate if you simply gave up and stopped working so hard to
make others give up, too. Giving up is not a good thing to be encouraged.
I used to think that the only things really doing were big things. But over
time I have realized that there is nothing wrong with doing "little" things.
I am not _that_ important and this hardly takes any of my time (especicially
if I do not let it).
Wade
>
> In article <9rk8v9$nkp$1...@news3.cadvision.com>,
> Wade Humeniuk <hume...@cadvision.com> wrote:
> >The main features of Lisp are; uniform and extensible syntax; its
> >interactive (compiled and interpreted) development model (which differs from
> >the compile-link.test model of other Algol like languages); a rich set of
> >data types; dynamic memory management; support for imperative, functional
> >and object-oriented styles of coding; and industry-leading error handling.
>
> Hmm, one of the most popular dialects of Lisp is Emacs Lisp, and I don't
> consider it to have "industry-leading error handling". A generic Lisp
> encyclopedia entry should probably not be so biased towards Common Lisp.
This is a fair observation, but perhaps not my first choice remedy.
It would be a shame to omit. It might be that a proper attribution
would have sentence or two about subtopics.
Common Lisp, described by American National Standard X3.226-1994,
is known for its extensive collection of pre-defined functions,
sophisticated object-oriented programming system and powerful
error-handling facilities. ISLISP, described by the international
standard ISO/IEC 13816:1997(E), is a much smaller dialect, only
about a tenth the size of Common Lisp, similar in nature, but not a
subset. Gnu Emacs Lisp is the underlying subset of Emacs, a widely
used text editor maintained by the Gnu open source community.
Scheme, a more distant relative of these others, yet one that many
still regard as part of the Lisp family of languages, is defined by
IEEE Standard 1178-1990, emphasizes a functional programming style,
a rigorous formal semantics, and a small core language, features
that make it especially for classroom teaching.
Mention of at least CL, ISLISP, and Scheme can be justified easily by
their status as standards. I decided here perhaps not to mention
Autolisp, in spite of its size of user base, since it's a proprietary
dialect. Emacs, on the other hand, being open source, perhaps
deserves mention in that light. Suggesting that there be entries for
ANSI, ISO, IEEE, "open source" and "Gnu Public License", if there are
not already, would seem like a good idea.
> I'd expand on "rich set of data types" to mention the fact that they allow
> very flexible references between data objects.
You're going to run straight up against the problem of each dialect
having different datatypes. I might say "While early Lisp was
primarily about list processing, modern Lisp dialects generally offer
a rich set of modern datatypes." To which I might add something to
the general effect of (needds work) "Many early Lisp
dialects also included only an interpreter, but modern Lisp dialects
offer both an interpreter and a compiler. The ability to flexibly connect
interpreted and copmiled code, and the ability to generate and load
compiled code while a Lisp image is running are important features of Lisp."
>... (But on a per-seat count, depending
> on how you count it, autolisp and gnu emacs lisp may have ten times as
> many users as common lisp. Most doing only very casual one-liners in
> init files, though.)...
(with-disclaimer :nitpick ; or whatever
Autolisp is indeed a toy language but has a rather
large community of users (20% of Autocad user base
at least). It's used to aid in the drafting
process where the programs are in the 1-1000 lines
range. But it's used in the desing process too, so
the programs range from 10000 to 100000 LOC. I
maintain such a program, used to design latice
steel towers (20000 LOC rougly).)
BTW, when is coming out your interview on
slashdot.org?
Excuse my english, yo hablo español :)
--
Eduardo Muñoz
> Mention of at least CL, ISLISP, and Scheme can be justified easily by
> their status as standards. I decided here perhaps not to mention
> Autolisp, in spite of its size of user base, since it's a proprietary
> dialect. Emacs, on the other hand, being open source, perhaps
> deserves mention in that light. Suggesting that there be entries for
> ANSI, ISO, IEEE, "open source" and "Gnu Public License", if there are
> not already, would seem like a good idea.
From an encyclopedia's point of view, why should "open source" or "GPL'd"
implementations be given more consideration?
Mike McDonald
mik...@mikemac.com
For the same reason that libertarianism or vegetarianism should be.
It is a cultural artifact of substantial importance to a measurably
large group of people, and one that one NOT familiar with the movement
might well like to learn about in capsule form in order to feel minimally
competent to engage in a conversation.
From the point of view of OUR dictionary entry, I think it satisfies
the same general notion of a basis marker as does the term
"standard". That is, standards are concensus actions among people who
subscribe to the notion that consensus is best achieved by standards
groups; the open source community, to some degree implements
standards, but also to some degree is sort of a community that is
anti-standard in its nature, preferring to achieve consensus by the
act of opening something to public change and seeing where that leads.
That emacs has survived this trial by fire intact suggests that it is,
de facto, a sort of standard, perhaps not in the "cast in stone" sense
but definitely in the "this has a fair degree of consensus" sense.
I think it would be political bias to exclude it in the same sense as
it is political bias to say that atheism is not a religion just because
it has no god, or in the same sense as saying "public domain" is not a
copyright issue merely becuase one doesn't register public domain things
in the copyright office or in the same sense as saying that "transparent"
is not a color-related issue just because it has no associated color
component.
I disagree. As far as the general public is concerned (this is a general
encyclopedia, not a CS encyclopedia), these standards, and the differences
between the dialects, are irrelevant. Would you expect the Java entry to
mention details like JFC vs. MFC (I don't do Java, so I don't know if this
is even an issue these days, or even if I'm getting the acronyms right, but
I remember it was the basis of a Sun vs. Microsoft fight a few years ago,
so just assume for the purpose of the question that they still both exist)?
There's an ANSI standard for every piece of office furniture. I would be
very surprised if the encyclopedia entry for chairs mentioned the standard
for office chairs.
I'm sure that zoologists consider the difference between field mice and
white mice to be important. But if I were writing a one-paragraph entry
for "mouse" I wouldn't waste any of its limited space on this.
The description of Lisp is already twice as long as the entries for C++ and
Java. In the grand scheme of things, that seems backwards. As gross as
those languages are, someone doing any research on contemporary
programming, as it's actually practiced in the real world, would need to
know more about those two languages than Lisp. Like it or not, Lisp is a
niche language, and unless some major vendor (read "Microsoft") adopts it,
that's how it's destined to stay.
I'm happily surprised there's an entry for Lisp at all.
Why do I think it's a good idea *not* to mention these details? Because
putting too much detail in makes things more confusing, and hinders
understanding. The entry should provide the basic flavor of what Lisp is,
without going into so much detail that it becomes inaccessible. Mentioning
that dialects exist might be appropriate, but listing them is unnecessary;
I'd make an exception for Scheme only because it doesn't incorporate "Lisp"
into its name (it doesn't take a computer scientist to guess that Common
Lisp, Emacs Lisp, and ISLISP are dialects of Lisp).
If there's a Computer Science encyclopedia, my opinions on just about
everything that has come up in this thread would be completely different.
> Kent M Pitman <pit...@world.std.com> writes:
>
> >... (But on a per-seat count, depending
> > on how you count it, autolisp and gnu emacs lisp may have ten times as
> > many users as common lisp. Most doing only very casual one-liners in
> > init files, though.)...
>
> (with-disclaimer :nitpick ; or whatever
>
> Autolisp is indeed a toy language but has a rather
> large community of users (20% of Autocad user base
> at least). It's used to aid in the drafting
> process where the programs are in the 1-1000 lines
> range. But it's used in the desing process too, so
> the programs range from 10000 to 100000 LOC. I
> maintain such a program, used to design latice
> steel towers (20000 LOC rougly).)
I probably shouldn't have lumped them together. I was more remarking
on Emacs, where often an init file will set a single variable, so a
count of emacs users is perhaps an unfair count of lisp users.
Autolisp, I agree, has more of a range of users and I didn't mean to
minimize that.
> BTW, when is coming out your interview on
> slashdot.org?
I'm working on it between other activities. Spent most of the day on it
today, in fact. It should be done and published soon.
I agree with you; if you were to touch upon every area of human knowledge
in a general encyclopedia, you'd fill a building with dead tree matter.
Should there be entries for:
erythropoeisis
brachial plexus
3,6-dicyano-3,6-dimethylpiperidazine
Collatz conjecture
?
Erythropoeisis is the production of red blood cells. That is important to
a significantly large percentage of the population to warrant inclusion
in a general purpose reference work. :)
Barry Margolin wrote:
>
> I think worrying about this encyclopedia entry is tilting at windmills.
> Even if they change it, so what?
I agree. I think the only recourse now is for every good Lisper to use
Lisp to beat the pants off the competition with insanely great
applications. Then just before they shuffle off this mortal coil and
with their dying breath they ask us how we did it, tell them "Lisp".
But! I have to admit I have evidence to support those who have disagreed
with our grim view. I myself was saved from C++ by a lone article (on
macdev) suggesting I look at MCL. And now we're trying to beat the pants
off the competition ... :)
Well, maybe then we should go with Gabriel's suggestion that we pick a
fight with another NG where we can expect to find converts...java?
kenny
clinisys
One small question: why drop the word "powerful"? They gave lisp so little
credit, we should not give away the one positive comment. Besides, the more
verbatim text that is kept, the easier it will be for them to accept.
As for dialects, I agree with others that details should be somewhere between
miniscule and absent. How about this for sentence four:
"Though there still remain many active dialects of Lisp, most were consolidated
into an ANSI standard version called Common Lisp in <insert year>."
And how about this for sentence five (because I think "interactive devolopment
model is way to specific):
"The main features of Lisp are; uniform and extensible syntax, a rich set of
data types and a flexibility that makes it suitable for symbolic, functional,
object
oriented and many other programming paradigms."
Comments?
Coby
--
(remove #\space "coby . beck @ opentechgroup . com")
Kent> [...] Gnu Emacs Lisp is the underlying subset of Emacs, a
Kent> widely used text editor maintained by the Gnu open source
Kent> community. Scheme, a more [...]
One quibble: There is no "Gnu open source community". GNU is a Free
Software project. There is a difference. Note the all-caps seems to
be the preferred usage.
I think that if you are going to ask an encyclopedia to honor one
communities definition of itself, "equal justice" implies you should
honor another community's definition of itself as well.
Kent> [...] Suggesting that there be entries for ANSI, ISO, IEEE,
Kent> "open source" and "Gnu Public License", if there are not
Kent> already, would seem like a good idea.
One (other) quibble: it is the GNU General Public License.
--
Russell Senior ``The two chiefs turned to each other.
sen...@aracnet.com Bellison uncorked a flood of horrible
profanity, which, translated meant, `This is
extremely unusual.' ''
[I guess if we're going to quibble, we might as well get deep into it.]
> >>>>> "Kent" == Kent M Pitman <pit...@world.std.com> writes:
>
> Kent> [...] Gnu Emacs Lisp is the underlying subset of Emacs, a
> Kent> widely used text editor maintained by the Gnu open source
> Kent> community. Scheme, a more [...]
>
> One quibble: There is no "Gnu open source community". GNU is a Free
> Software project. There is a difference.
Yes, I suppose this is right.
(Btw, I truly abhor this abuse of the term free, though. Public
domain software is the only truly free software. The only distinction
between public domain software and free software is the set of senses
in which free software is not free. Not enough reason not to use the
term everyone else uses in an encyclopedia, I suppose, but it explains
my apparent unconscious mental desire to accidentally avoid use of
the more prevalent term.)
Also, I generally take free software to be a subset of open software.
Consequently, I would say it was "not as specific as it could be" rather
than, as you at least imply, incorrect.
> Note the all-caps seems to
> be the preferred usage.
Fair enough.
The issue of standardized case is not my strong suit. I've long said
that one day I will make a language called c and an operating system
called unix and claim it violates no one's trademark since a
fundametanl principle of C and Unix is that case matters and that
things in other cases are not confusable. To go after me, they'd have
to admit that perhaps case really isn't the powerful separator it
purports to be.
Or perhaps I've made my own Gnu project starting with what GNU offers,
the only difference being how I spell my name. I'm "free" to do that, no?
Sigh.
> I think that if you are going to ask an encyclopedia to honor one
> communities definition of itself, "equal justice" implies you should
> honor another community's definition of itself as well.
>
> Kent> [...] Suggesting that there be entries for ANSI, ISO, IEEE,
> Kent> "open source" and "Gnu Public License", if there are not
> Kent> already, would seem like a good idea.
>
> One (other) quibble: it is the GNU General Public License.
Yes. But then it should be ggpl. I think it's rude for it to take
the utterly generic term "general public licenses" for something so
specific. It implicitly to suggest that there should be no other
attempts by others to make a general public license. (And yes, I know
all about the GPL/LGPL distinction, but that should be GGPL/GLGPL.)
But they don't do that! They're really, annoyingly, good about
calling it the GNU GPL, even when it's in the middle of a bunch of GNU
stuff and leaving off the branding would be *completely* unambiguous.
The FSF is probably about as likely to say "GPL" as "Linux" :-)
>
> I propose we rename Common Lisp to something that is all capital
> letters and doesn't have "Lisp" has a substring, adopt some kind of
> cute furry critter has a mascot, and flood the market with 3000 page
> "Teach Yourself <new name> in 21 Days" books. Everyone will start
> using Lisp.
>
LML - the Language Markup Language. Lisp kind of *is* a language
markup language, after all.
(also a very obscure way of reverting the lemacs / xemacs transition)
--tim
>
> (Btw, I truly abhor this abuse of the term free, though. Public
> domain software is the only truly free software. The only distinction
> between public domain software and free software is the set of senses
> in which free software is not free. Not enough reason not to use the
> term everyone else uses in an encyclopedia, I suppose, but it explains
> my apparent unconscious mental desire to accidentally avoid use of
> the more prevalent term.)
I found the following interpretation of the term "free software" very
reasonable (even if the FSF does not see it in that way). Its author
is Linus Torvalds (probably) in a message to gnu.misc.discuss.
Yours, Nicolas.
> I found the following interpretation of the term "free software" very
> reasonable (even if the FSF does not see it in that way). Its author
> is Linus Torvalds (probably) in a message to gnu.misc.discuss.
>
> http://groups.google.com/groups?hl=en&frame=right&rnum=121&thl=1150799585,1150661270,1150348296,1150226271,1149127417,1149530119,1149469411,1149343053,1149329132,1149256539,1149241467,1149127166&seekm=ij8zijzwsr.zij%40localhost.localdomain#link126
I don't. As Torvalds rightly notes, the usage of free/freedom, as
meaning the freedom from outside determination through the grant of
certain inalienable rights (allusion intended), has traditionally
_not_ been applied to inanimate objects[1]. There is a reason for that,
and that is the absence of self-consciousness, and thereby the absence
of a will that could result in self-determination. Hence software
will remain non-self-determined, until it reaches a certain level of
self-cosciousness, etc. And if/when that happens, it would be equally
wrong for the FSF to try to determine the rights of this newly
self-conscious software, as it would be for anyone else, except the
software in question.
True freedom cannot ever be granted, since freedom means the freedom
from outside determination, it has to be "taken", by drawing up your
own rules under which you deign to restrict yourself. Freedom is
determination of your self by yourself (or others that _you_ have
delegated that authority too, like e.g. peer groups, governments,
etc.)
So the FSF giving "freedom" to an inanimate object is just as much an
abuse of the word freedom as any other. It needs a subject to
experience and live freedom, and until software communicates its
subjective will in this matter, I don't see why GPL'd software should
be considered any more free than any other software.
Of course I'm quite aware of the epistemological problems in
determining whether something has reached a "sufficient" level of
"subjectness", but that is IMHO beside the point, since I don't see
any author of free-software calling for the banishment of power-off
buttons either.
But I don't think that Torvalds interpretation really represents the
position of the FSF, or at least that of Richard Stallman. In many
texts he has been talking explicitly about the freedom of people, not
the freedom of the software qua subject. The freedom to share
improvements for example, the freedom to give those to his friends,
etc. All of those freedoms only make sense if we consider the freedom
of the people in question, not the freedom of the software-subject.
Regs, Pierre.
Footnotes:
[1] Even if we for example say "freedom of commerce", or "free trade"
it is not the freedom of the inanimate objects "commerce" and
"trade" that we really mean, it is the freedom of people to
engage in commerce and trade that is meant. Freedom is always
tied to a subject which can experience and exercise the freedom
in question. Even if modern legal theory ascribes subjective
qualities to inanimate legal entities (e.g. LLCs), it is really
humans that fill the inanimate entity with its will, i.e. it is
the organs of that entity that determine its will.
--
Pierre R. Mai <pm...@acm.org> http://www.pmsf.de/pmai/
The most likely way for the world to be destroyed, most experts agree,
is by accident. That's where we come in; we're computer professionals.
We cause accidents. -- Nathaniel Borenstein
I agree with Pierre Mai <pm...@acm.org> - this is misguided.
The concept of Freedom is applicable only to the entities with Free Will
- humans.
The whole idea of GNU GPL is summarized in its nickname - "copyleft".
GNU GPLed software is free from the copyright restrictions.
Its license makes sure that the copyright law protects it from the law
itself. I.e., the software under GPL exists in the world of its own -
the world without IP, where all software is PD (public domain).
This is how I understand the expression "Free Software" - software free
from the copyright law.
--- rant ---
The concept of copyright (C) is based on the concept of "IP"
(Intellectual Property) which is by no means obvious, at least not to
the US founding fathers (who specified that copyright can be granted
"for a limited term" -- which is now flagrantly neglected by the US
Congress; see <http://www.podval.org/~sds/copyrt.html>).
E.g., why should MS be able to restrict A's - who bought MS DOS - from
letting B copy it? The usual answer -- that this deprives MS from the
money B would have payed for MS DOS otherwise -- does not hold water
since B might have opted for DR DOS if he could not use A's copy of MS
DOS. Actually, in the 80-ies, MS did no mind that MS DOS was copied
illegally, since this increased their installed base, creating the basis
for the future monopoly. Only when MS Windows became a monopoly, the
choice really became between a legal copy of w95 and an illegal one, and
MS became much more concerned about copyright infringements.
I know that the above is open to criticism.
Nevertheless, I think it is a valid point of view.
--
Sam Steingold (http://www.podval.org/~sds)
Keep Jerusalem united! <http://www.onejerusalem.org/Petition.asp>
Read, think and remember! <http://www.iris.org.il> <http://www.memri.org/>
Those who can laugh at themselves will never cease to be amused.
> E.g., why should MS be able to restrict A's - who bought MS DOS - from
> letting B copy it? The usual answer -- that this deprives MS from the
> money B would have payed for MS DOS otherwise -- does not hold water
> since B might have opted for DR DOS if he could not use A's copy of MS
> DOS. Actually, in the 80-ies, MS did no mind that MS DOS was copied
> illegally, since this increased their installed base, creating the basis
> for the future monopoly. Only when MS Windows became a monopoly, the
> choice really became between a legal copy of w95 and an illegal one, and
> MS became much more concerned about copyright infringements.
>
I read somewhere that certain clothing brands consciously don't stress
too much about shoplifting, because they know that shoplifters
correlate fairly well with the people they want to be seen wearing
their (the brands') clothes. Sounds like the same trick.
--tim
I removed powerful because it was a subjective term. It is like "slow" and
"memory hog". It is my personal preference that adjectives like that are
not included. I do not think computer languages should be classified as
powerful. Effective, yes, expressive, yes. Maybe a better word could be
found?
> As for dialects, I agree with others that details should be somewhere
between
> miniscule and absent. How about this for sentence four:
>
> "Though there still remain many active dialects of Lisp, most were
consolidated
> into an ANSI standard version called Common Lisp in <insert year>."
>
> And how about this for sentence five (because I think "interactive
devolopment
> model is way to specific):
>
I have to disagree, I think the way one develops a program in a Lisp
environment is one its seminal features. Makes life much easier. Lisp
would not be Lisp without it.
> "The main features of Lisp are; uniform and extensible syntax, a rich set
of
> data types and a flexibility that makes it suitable for symbolic,
functional,
> object
> oriented and many other programming paradigms."
>
> Comments?
Version 3: (Shortened, removing direct mention of standards bodies, there
seems to be disagreement over including standards, especially as people are
starting to expand the discussion into GNU and their licenses)
Lisp - A group of general purpose computer programming languages originally
designed in the 1950s and early 1960s by J. McCarthy of MIT. Lisp is an
acronym for List Processing. Adopted for AI (Artificial Intelligence)
research and development in the 1960s and 1970s, Lisp quickly evolved as
new computational techniques were developed. Lisp's main features are;
symbolic processing; uniform and extensible syntax; its interactive
(compiled and interpreted) development model; a rich set of built-in data
types; dynamic memory management; and support for most programming styles.
Modern Lisp Dialects: Common Lisp, Scheme, GNU Emacs Lisp, ISLISP, EuLisp,
AutoLisp.
Wade
I agree. Are there any computer languages that merit an encyclopedia entry
that *aren't* powerful? Java and C++ may be crappy, but it's in our same
power ballpark. Even modern versions of BASIC and Fortran are pretty
powerful. The lowest-power languages I can think of off the top of my head
are Bourne shell scripting, AWK, and RPG-2 (is it still used much?), and I
suspect these are all obscure enough (as far as the general public is
concerned) that there's no encyclopedia entry for them. (Yes, I know
people have written simple programs using editor macros, but I think it's
stretching things to call "sed" a programming language.)
> I agree. Are there any computer languages that merit an encyclopedia entry
> that *aren't* powerful? Java and C++ may be crappy, but it's in our same
> power ballpark. Even modern versions of BASIC and Fortran are pretty
> powerful. The lowest-power languages I can think of off the top of my head
> are Bourne shell scripting, AWK, and RPG-2 (is it still used much?), and I
> suspect these are all obscure enough (as far as the general public is
> concerned) that there's no encyclopedia entry for them. (Yes, I know
> people have written simple programs using editor macros, but I think it's
> stretching things to call "sed" a programming language.)
>
I think if one was being fussy, and using the turing-equivalentness
definition of `power', old FORTRAN (pre Fortran 90?) may be the only
non turing-equivalent language they'd care about. I'm fairly sure
that sh & awk are (there's a Lisp written in awk), and even vi is,
apparently...
Of course this use of the term power is not really helpful, but I
think this kind of confusion is one reason why it's *bad* to use the term.
`expressive' seems better to me.
--tim
How does the fact that someone _might_ have chosen something else affect
the _actual_ losses when a particular choice was made? Suppose I steal a
car, travel somewhere, and return it before the owner needs it (so as to
eliminate the silly counter-argument that software can be copied at no
cost and without affecting the original). Can I now argue that this act
of theft must be acceptable because if I had had to pay for the car under
normal rules and circumstances, I might have taken public transportation?
In my view, the question is not at all what somebody does or does not
"lose" in some trivial monetary terms. The question is whether you have
the _right_ to do what you do. The owner of something laid down some
rules and principles for how to obtain (a copy of) that something, in a
society that has laid down rules and principles for what kinds of rules
and principles an owner can lay down for those who wish to obtain that
something. If you violate the owner's rules and principles for obtaining
that something, it is _wrong_ no matter what. If the owner has violated
the rules and principles of the society in which this takes place, you
_still_ have no right to violate the owner's conditions. The only thing
you should do in case you or your society does not approve of the rules
and principles of obtaining that something is to stay the hell away from
that owner and not even _want_ whatever he is trying to push. Owners of
something you might want who are too stupid to give you reasonable ways
to obtain it or who attempt to violate the conditions of your society or
even of your society as you would _like_ it to be, should be shunned and
_not_ be given signals that what they have to offer is worth obtaining.
However, since many people are unprincipled when faced with sufficient
temptation degree and are usually not aware of any ethical principles at
all unless they benefit from them, indeed _have_ no ethics if they feel
they have a reason to be morally outraged, such as if they feel unfairly
treated, which _would_ happen with a stupid owner who breaks community
expectations if you want to obtain their stuff, a sufficiently "clever"
owner with sufficient disrespect for his users, for society, and for the
rules and principles under which he is expected to operate, might make a
killing leading ignorant and not too bright youngsters into temptation by
making it _possible_ to break their rules and get away with it. Since
Bill Gates has proven to be one of those _presumedly_ intelligent people
(but read his "books") who think they are so smarter than everybody else
thay have no qualms at all flaunting the rules and principles of society,
he built an empire on the immoral and criminal tendencies of people who
were too weak to withstand temptation and too dumb to realize what he was
doing to their respect for the rights of owners of anything they want.
This is why there have always been so many bad people in the Microsoft
camp, stealing software, breaking copy protections, spreading viruses,
breaking standards and community recommendations, using C++, etc, and why
this lawless company has been found guilty of abusing its monopoly power.
There are probably few ethical and principled people left in the computer
industry because of Microsoft's success in being so unethical, but it did
not take much scrutiny of or thinking about the behavior of Microsoft
back in the early 1980s to see that the boss and the company were playing
by the rules of criminals and had no intention of becoming good citizens.
Indeed, both Bill Gates and the whole senior Microsoft management are and
have been so fantastically paranoid and competitive that that should give
_everybody_ an important clue to their plans. I always wonder why people
get defrauded when it takes no real effort to figure out that it cannot
be anything but fraud, but some people have figured it out and more: How
to _exploit_ those suckers. Bill Gates is one of those people. and He is
a damn good con man, but it only works on people who are willing to
dispense with ethics to get something they want -- immature people who
have not yet developed an understanding of what values they hold or how
to protect them, in this case teenage boys with no social clue and
probably very little to gain respect from others save through their
technical prowess with some advanced toy. Getting teenage boys to want
something and break some rules to get it is not particularly hard.
Exploiting it to the extent that Bill Gates and Microsoft has done is not
particularly brilliant, nor a stroke of genius, it only requires an
_absolute_ lack of respect for other people, and that kind of lack of
respect is a communicable disease that has infected too many people in
the computer industry -- even the Free Software proponents who think that
people inside and especially outside _their_ community can be exploited
for their ends, too: those who _demand_ that something that others have
created be available for free, lest they _steal_ it, who do not want to
use "non-free" software because they have a severely misguided idea of
what their values are, and who argue in favor of stealing using so bogus
arguments that they should be ashamed of themselves. In the end, we have
_not_ regained that ethical standing that is required to defeat the fraud
and his billion-dollar company, but infected another part of the software
industry that was very _principled_ in its objections and its ideas in
the past. Now that it has a much wider following, the lack of principled
followers must be expected, but it is still sad to see it happening.
///
--
Norway is now run by a priest from the fundamentalist Christian People's
Party, the fifth largest party representing one eighth of the electorate.
--
Carrying a Swiss Army pocket knife in Oslo, Norway, is a criminal offense.
Barry Margolin wrote:
> Java and C++ may be crappy, but it's in our same
> power ballpark. Even modern versions of BASIC and Fortran are pretty
> powerful.
Hang on, J/C++ are in our ballpark because we all are more powerful than
a Jacquard loom? (paraphrasing slightly <g>).
"powerful" cannot mean Turing equivalent, it has to mean expressive
power. (I just made that up.) Meaning given two languages which are
t/equiv, if i can express my semantics ten times faster in one then it
is ten times more powerful (as long as it is also fast, which Lisp is).
anyway, after we get the definition straight we should post it in java
and C++ ng's and invite comment. :)
Pick a fight. Gabriel (LUGM '99) tossed that idea out and everybody
chuckled, but it is probably the best way to spread the word. As a
matter of fact, if we hit the Perl and Python ngs at the same time we
could really make some headlines.
I say we find someone solid with a thick skin and a sense of humor and
have them walk point, everybody else backs them up with
facts/info/references/experience stories/code samples/whatever. We need
expertise on the languages we go after as on LIsp.
Oh, and we'll have no truck with this different languages for different
purposes moral relativistic garbage. Lisp is Best, period. :)
kenny
clinisys
Basically, yes. If you're using "powerful" as an absolute, rather in a
comparison, there's essentially just two choices: powerful and not
powerful. All computer languages have to be assigned into one of those
categories. If C and Java are considered "not powerful", then almost all
programming languages that have ever been used would be in that group, and
then it's not a very useful categorization.
IMHO, a powerful programming language is one that has a wide variety of
control and data structures. Examples of non-powerful languages are early
versions of BASIC (data structures were just numbers, strings, and arrays;
control structures were just IF-GOTO, FOR loops, and subroutines with no
parameters) and Fortran (similar to BASIC except subroutines accepted
parameters).
Java and C++ are both very powerful languages. We may not think they're
*as* powerful as Lisp (an opinion that I think many of their proponents
might argue against), but as language power goes they're closer to the top
of the spectrum than the bottom.
The problem with expressivity in these languages is primarily their cryptic
syntax, *not* so much their lack of power.
Barry Margolin wrote:
> If C and Java are considered "not powerful", then almost all
> programming languages that have ever been used would be in that group,
Yesssssssss, they would, wouldn't they? :) I do believe that sums up my
feelings about Lisp vis a vis everything else out there.
kenny
clinisys
So "a powerful language" and "one of the most powerful languages" mean
pretty much the same thing as far as your concerned? Would you also
consider the cheetah to be the only fast animal? Or do you have less
emotional attachment to animal varieties than programming language?
Russell> One (other) quibble: it is the GNU General Public License.
Kent> Yes. But then it should be ggpl. I think it's rude for it to
Kent> take the utterly generic term "general public licenses" for
Kent> something so specific.
Someone could make the same objection about "Common" in "Common Lisp".
Note that I am not objecting, I am merely noting the parallel so a
long-winded defense is not necessary for me.
I'll repeat for emphasis the one paragraph of my article that you
chose not to respond to:
I think that if you are going to ask an encyclopedia to honor one
communities definition of itself, "equal justice" implies you should
honor another community's definition of itself as well.
--
This is not what I was saying.
If you own the car, you set the rules.
> In my view, the question is not at all what somebody does or does
> not "lose" in some trivial monetary terms. The question is whether
> you have the _right_ to do what you do. The owner of something laid
> down some rules and principles for how to obtain (a copy of) that
> something, in a society that has laid down rules and principles for
> what kinds of rules and principles an owner can lay down for those
> who wish to obtain that something. If you violate the owner's rules
> and principles for obtaining that something, it is _wrong_ no matter
> what. If the owner has violated the rules and principles of the
> society in which this takes place, you _still_ have no right to
> violate the owner's conditions.
It is not clear what is that "something" which is "owned", whether it is
possible to "own" is, and what it means to "own" it.
IP (intellectual property) is a weird concept, and not everyone agrees
on what it is and whether it has a right to exist at all &c. (My DOS
argument was one of the common arguments in favor of the concept.)
It is not at all clear that it is possible to "own an idea".
In fact, you will find that in the first copyright cases the authorities
declaring the author's exclusive right to the creation were defensive
(wrt the obvious argument that copyright limits the rights of the
individuals) and stressed the time limits on copyright as well as the
necessity to protect the author's income.
Both of these issues (time limits and author's income) parameters are
now discarded (US extends copyright duration by 5 years every 5 years,
so nothing created after 1923 will go into PD; since copyright can be
owned by a corporation, authorship has now nothing to do with
copyright) because of the pecuniary issues of corporate profits.
Nevertheless, the bottom line is that IP is _not_ the same kind of
property as a car or a computer, at least not legally. Suffice it to
say that there is a concept of PD and (theoretically) copyright
expiration.
IANAL
--
Sam Steingold (http://www.podval.org/~sds)
Keep Jerusalem united! <http://www.onejerusalem.org/Petition.asp>
Read, think and remember! <http://www.iris.org.il> <http://www.memri.org/>
Computer are like air conditioners: they don't work with open windows!
kenny
clinisys
> The problem with expressivity in these languages is primarily their cryptic
> syntax, *not* so much their lack of power.
I disagree. No language other than Lisp allows you to define new
control constructs. Lisp's syntax certainly makes this easier, but
there's no inherent reason why it should be impossible to define
new control constructs using a more traditional syntax, e.g.:
define-control-construct critical-method { body } :: {
turn_off_interrupts()
##body##
turn_on_interrupts()
}
or something like that. IMO this makes Lisp fundamentally more
powerful than any other (currently existing) language.
Another example: no other language allows you to define new syntax
for the parser, which in turn allows you to embed new kinds of data
descriptions inside your code, rather than forcing you to place any
text that doesn't conform to the (fixed) lexical syntax of the language
either inside a string or in a separate file that must be processed
at run time rather than at compile time. The problem here is not that
C's syntax is cryptic, but rather that it is non-extensible.
Erann Gat
g...@jpl.nasa.gov
> Java and C++ are both very powerful languages. We may not think they're
> *as* powerful as Lisp (an opinion that I think many of their proponents
> might argue against), but as language power goes they're closer to the top
> of the spectrum than the bottom.
>
> The problem with expressivity in these languages is primarily their cryptic
> syntax, *not* so much their lack of power.
A lot of people are *really* prone to underestimating C++'s power and
expressiveness. The reason for this is easy enough: the language is a
terrifying mess, and its features aren't (quite) orthogonal. I mean,
it's lacking real macros, sure, and because of that it'll always be
somewhat behind languages that have them, in terms of expressiveness,
but I think a lot of people get burned by C++ for the same reason they
get burned by Lisp. They get a lame, minimal sort of exposure to it
early on, that shows off a lot of the power it had back in 1986. So,
they think it's just C, plus some stuff. And this isn't exactly
helped by the majority of C++ programmers who learn just enough of
their language to get done what they need to do, and no more.
Intellectual property does not refer to ideas, only their _expression_.
Nobody has _ever_ in the history of intellectual property made any claim
to own an _idea_. For instance, patents, which prevent an independent
invention from being exploited commercially, does _not_ prevent anyone
from writing books on the ideas underlying the invention, nor from using
it to create new inventions. Quite the contrary, that is the purpose of
patents -- to make them open and known -- that is what "patent" means.
The purpose of granting commercial rights to copyright holders (apart
from any moral rights) is also to ensure that people are encouraged to
publish their ideas. Society benefits greatly from _not_ letting people
"own" ideas, and obviously so. I find it very strange that those who
talk about the ill effects of intellectual property do not care enough to
know that it expressly does not deal with "owning ideas". As far as the
intellectual property laws are concerned, owning an idea is not possible.
| Nevertheless, the bottom line is that IP is _not_ the same kind of
| property as a car or a computer, at least not legally.
I hope two books I have read recently can help those who have an urge to
be opinionated on the issue of intellectual property get a better grip on
what they are talking about:
Paul Goldstein
International Copyright : Principles, Law, and Practice
http://www.amazon.com/exec/obidos/ASIN/0195128850
David R. Koepsell
The Ontology of Cyberspace : Philosophy, Law, and the
Future of Intellectual Property
http://www.amazon.com/exec/obidos/ASIN/0812694236
Incidentally, intellectual property is considered hard to understand. I
do not understand why, but then I have always been looking at it from the
point of view of the creator and the obvious right he has to control the
distribution of his work -- ultimately by simply withholding it -- not
the consumer who generally has nothing to offer the creator but money,
and the requirements that a decent society can put on the consumer such
that those who can create something, _anything_ of value, are encouraged
to do so, precisely for the benefit of those consumers, but also such
that other creators can build on what has gone before them instead of
having to develop everything from first principles themselves. If the
consumers gets "rights" to the works of the creators, the only effect is
to seriously limit the incentives of creators to do significant work, and
the only new creations will be trivial consumer modifications that are
worth what the consumers can get in return for their effort. Most of
those who are both creator and consumer will not figure this out until
they can no longer get paid for their creative work and can no longer buy
(copies of) any new creative works that would have cost so much to create
that millions of consumers must pay for it, and the former consequence
will happen to small-time creators a long before the latter affects the
big-time entertainment industry, but it will dry out from the bottom up:
It is already damn hard to _start_ making money in entertainment and it
will not get easier when nothing but the largest outfits make money, and
that process of favoring big business will come about because people do
not understand how today's intellectual property laws protect the small
creators against the big ones. I believe the only reason consumers want
control over the published works of creators is simple greed, but greed
pays off only in the short run, killing off the source of the value that
greedy people only _want_.
> Intellectual property does not refer to ideas, only their
> _expression_. Nobody has _ever_ in the history of intellectual
> property made any claim to own an _idea_. For instance, patents,
> which prevent an independent invention from being exploited
> commercially, does _not_ prevent anyone from writing books on the
> ideas underlying the invention, nor from using it to create new
> inventions. Quite the contrary, that is the purpose of patents --
> to make them open and known -- that is what "patent" means.
The recent sets of lawsuits surrounding the US "Digital Millenium
Copyright Act," as well as the DVD/CSS activities, which, if memory
serves, included the arrest of a Norwegian minor, under eminently
invalid charges, would seem to suggest otherwise.
The folks of the US MPAA and RIAA seem to be indicating that they wish
to claim to own all sorts of ideas.
If you make, and publish, anything that generally seems to resemble
Mickey Mouse, you're liable to find some folks from The Disney Company
submitting some legal papers suggesting that you Cease And Desist...
> The purpose of granting commercial rights to copyright holders
> (apart from any moral rights) is also to ensure that people are
> encouraged to publish their ideas. Society benefits greatly from
> _not_ letting people "own" ideas, and obviously so. I find it very
> strange that those who talk about the ill effects of intellectual
> property do not care enough to know that it expressly does not deal
> with "owning ideas". As far as the intellectual property laws are
> concerned, owning an idea is not possible.
That may be how it appears on your "side of the pond;" while that was
once supposed to be the purpose of copyright, trademark, and patent
laws, there seems to be a substantial set of industries lobbying for
things rather closer to "owning ideas."
--
(concatenate 'string "chris" "@cbbrowne.com")
http://www.cbbrowne.com/info/linuxdistributions.html
Don't panic.
-- The Hitchhiker's Guide to the Galaxy
...
> (Btw, I truly abhor this abuse of the term free, though. Public
> domain software is the only truly free software.
I disagree: it's free (like "free speech") if no one is restricting
anyone's rights. (Please bear with me--I realize that the GPL denies
people the right to take away other peoples' rights.)
If I release software without restricting anyone's rights to use,
study, modify, and redistribute the software, so far so good ...
Now, if MegaBucks, Inc., comes along and takes my free software, puts
it in their product, and releases it *with* restrictions on the users'
rights to study, modify, etc., then the software isn't free anymore
(as released by MegaBucks).
I know that some people here have argued that only entities with free
will can be free, but please consider what "free software" means from
the standpoint of the users. It's software that doesn't restrict
their rights. (Except one, namely their ability to restrict others'
rights with regard to the software.)
If MegaBucks has done that to my public domain software, how is the
software more free than if I had said, "and by the way, you don't have
the right to take these rights away from other people," when the only
possible purpose of the omission of that stipulation is for the
software to become less free?
The right to take away the rights of others is special, in that its
exercise always makes the software less free. For that reason, this
is the one right that, in being denied, increases the overall freedom
of *all* the users of any given piece of software.
--
--Ed Cashin integrit file-verification system:
eca...@terry.uga.edu http://integrit.sourceforge.net/
Note: If you want me to send you email, don't munge your address.
> Kent M Pitman <pit...@world.std.com> writes:
>
> ...
> > (Btw, I truly abhor this abuse of the term free, though. Public
> > domain software is the only truly free software.
>
> I disagree: it's free (like "free speech") if no one is restricting
> anyone's rights. (Please bear with me--I realize that the GPL denies
> people the right to take away other peoples' rights.)
>
> If I release software without restricting anyone's rights to use,
> study, modify, and redistribute the software, so far so good ...
>
> Now, if MegaBucks, Inc., comes along and takes my free software, puts
> it in their product, and releases it *with* restrictions on the users'
> rights to study, modify, etc., then the software isn't free anymore
> (as released by MegaBucks).
Sorry, I don't buy it.
You're basically restricting things I can do with it because they are not
compatible with your personal view.
In "free speech" this would be analogous to saying "you can do anything you
want with speech, but you must not advocate that speech not be free". That
would not be free speech.
Further, if MegaBucks, Inc. makes something from your code, then there are
two components to it: the parts they made (and they should be entitled to
dictate the use of that, since it's theirs, not yours) and the parts you made
(and they should be entitled to use that however they wanted if it were free;
only if you made it not really truly free could you control how they used it).
> The right to take away the rights of others is special, in that its
> exercise always makes the software less free.
No, it doesn't. Free software is public domain software. Anything less
is not free, it is restricted. The purpose of free software is not to
assure freedom of the original code, it is to coerce the use of that code.
If code is TRULY free, nothing can restrict its use--the code continues to
be useable by anyone who wants to use it.
Ed L Cashin wrote:
> If I release software without restricting anyone's rights to use,
> study, modify, and redistribute the software, so far so good ...
>
> Now, if MegaBucks, Inc., comes along and takes my free software, puts
> it in their product, and releases it *with* restrictions on the users'
> rights to study, modify, etc., then the software isn't free anymore
> (as released by MegaBucks).
OK, but here I come as MiniBucks, dba. and I can still go to you for the
software you released, screw MegaBucks.
I am new to this GPL-LGPL stuff, but IIUC the conduct of MegaB has no
effect on our relationship. I think this understanding is correct,
because you qualified your comment with "(as released by MegaBucks)".
Well, what do I need that for? Your version is still free.
Puzzled...
kenny
clinisys
FORTRAN is not turing-equivalent???
Umm.
You can LISP in it.
> A lot of people are *really* prone to underestimating C++'s power and
> expressiveness.
As a C++ ignorant, I take the patterns literature (and also talks about
patterns I've attended on conferences) as significant evidence to the
contrary.
--
(espen)
Tcl certainly allows it.
> Lisp's syntax certainly makes this easier, but
> there's no inherent reason why it should be impossible to define
> new control constructs using a more traditional syntax, e.g.:
>
> define-control-construct critical-method { body } :: {
> turn_off_interrupts()
> ##body##
> turn_on_interrupts()
> }
Or, in Tcl:
proc critical_method {body} {
turn_off_interrupts
uplevel 1 $body
turn_on_interrupts
}
(though both should really make a bit more effort
to deal with errors in "body")
> or something like that. IMO this makes Lisp fundamentally more
> powerful than any other (currently existing) language.
>
> Another example: no other language allows you to define new syntax
> for the parser,
err...Tcl allows it...
> "powerful" cannot mean Turing equivalent, it has to mean expressive
> power. (I just made that up.) Meaning given two languages which are
> t/equiv, if i can express my semantics ten times faster in one then it
> is ten times more powerful (as long as it is also fast, which Lisp is).
>
I think that, while this is a fine theoretical argument, in practice
the technical use of `power' in CS is sufficiently well-known that it
would be better either to qualify it with something (as you do above)
or to use a different term. Doing otherwise is just asking for fools
to wade in with the technical definition.
--tim
> FORTRAN is not turing-equivalent???
> Umm.
> You can LISP in it.
Yes, it isn't, for suitable values of FORTRAN (at least till 77, don't
know about 90, but I expect it is TE). No recursive functions, and no
dynamic data allocation to allow you to fake them using the usual
trick: it's finite-state.
(This excludes using I/O: you can probably show that it is TE if you
are allowed to use files as a tape for a TM.)
Of course this brings out both how silly the TE requirement is, and
how somehow useful it can be - you can obviously solve very real
problems in FORTRAN, including probably arbitrarily good simulations
of large physical systems like people; yet having recursion would be a
significant win for people writing FORTRAN (and it probably does have
it now of course).
--tim
> Nicolas Neuss <ne...@ortler.iwr.uni-heidelberg.de> writes:
>
> > I found the following interpretation of the term "free software" very
> > reasonable (even if the FSF does not see it in that way). Its author
> > is Linus Torvalds (probably) in a message to gnu.misc.discuss.
> >
> > http://groups.google.com/groups?hl=en&frame=right&rnum=121&thl=1150799585,1150661270,1150348296,1150226271,1149127417,1149530119,1149469411,1149343053,1149329132,1149256539,1149241467,1149127166&seekm=ij8zijzwsr.zij%40localhost.localdomain#link126
>
> I don't. As Torvalds rightly notes, the usage of free/freedom, as
> meaning the freedom from outside determination through the grant of
> certain inalienable rights (allusion intended), has traditionally
> _not_ been applied to inanimate objects[1]. There is a reason for that,
> and that is the absence of self-consciousness, and thereby the absence
> of a will that could result in self-determination. Hence software
> will remain non-self-determined, until it reaches a certain level of
> self-cosciousness, etc. And if/when that happens, it would be equally
> wrong for the FSF to try to determine the rights of this newly
> self-conscious software, as it would be for anyone else, except the
> software in question.
You're right, this is not a traditional kind of freedom. But I think
it catches the idea of the GPL quite well. Especially for works of
art (which software is), it is sometimes a pity not to have certain
"human rights", e.g. consider the case of the Taliban destroying
monuments, or Symbolics imprisoning Macsyma.
Yours, Nicolas.