From: Daniel Lyons <fusion@storytotell.org>
To: Fans of the OS Plan 9 from Bell Labs <9fans@9fans.net>
Subject: Re: [9fans] nice quote
Date: Fri, 4 Sep 2009 15:36:59 -0600 [thread overview]
Message-ID: <55D72913-15FB-415F-BE43-7D173E0AC449@storytotell.org> (raw)
In-Reply-To: <BB8E3A2E5419E566D0361D29@[192.168.1.2]>
Let me be a little pedantic.
On Sep 4, 2009, at 2:18 PM, Eris Discordia wrote:
> Above says precisely why I did. LISP is twofold hurtful for me as a
> naive, below average hobbyist.
FYI, it's been Lisp for a while.
> For one thing the language constructs do not reflect the small
> computer primitives I was taught somewhere around the beginning of
> my education.
Like what? The if statement, which was invented by Lisp? The loop
statement, for expressing loops? It sounds like you got a dose of
Scheme rather than Lisp to me.
> For another, most (simple) problems I have had to deal with are far
> better expressible in terms of those very primitives. In other
> words, for a person of my (low) caliber, LISP is neither suited to
> the family of problems I encounter nor suited to the machines I
> solve them on.
This hasn't been true for a while. Common Lisp is a general purpose
language like any other. The only thing I have ever found obnoxious
about CL was the filesystem API. Most CL implementations are compilers
these days and they produce surprisingly efficient machine code. The
Scheme situation is more diverse but you can definitely find
performance if that's what you're eluding to.
> Its claim to fame as the language for "wizards" remains.
I think this has more to do with Lisp users being assholes than
anything intrinsic about Lisp. This is one of the nice things about
Clojure. It's a break from tradition in this regard, as well as many
others.
> Although, mind you, the AI paradigm LISP used to represent is long
> deprecated (Rodney Brooks gives a good overview of this deprecation,
> although not specifically targeting LISP, in "Cambrian Intelligence:
> The Early History of the New AI"). One serious question today would
> be: what's LISP _really_ good for? That it represents a specific
> programming paradigm is not enough justification. Ideally, a
> language should represent a specific application area, as does C,
> i.e. general-purpose system and (low-level) application programming.
It's as though you have the up-to-date negative propaganda, but not
the up-to-date facts. Lisp is "really good for" the same kinds of
things other general purpose languages are good for. The main benefits
it had in AI were features that came from garbage collection and
interactive development. You get those benefits today with lots of
systems, but that doesn't mean they aren't still there in Lisp. An
advantage it has these days is that it produces code that performs
better than, say, Python or Perl. I definitely would not call being a
"general purpose system" and suitability for "application programming"
a "specific application area." This is like saying agglutinative
languages are worse for conquering the world with than isolating
languages because the Ottoman empire fell before the English empire.
Please don't interpret this as "Lisp kicks C's ass." I'm saying,
you're only seeing the negative half of the situation, and seeing too
much causality. I think it's mostly happenstance. Lots of languages
succeed despite having a killer app or app area. Python's a good
example. Isolating the exact ingredients for the success of any
language is probably impossible. I'd say only with C is it really
clear what led to success, and it wasn't exclusively features of the
language itself (though it was a part of it), but also that it came
with Unix along with the source code. If the quacks had chosen C
instead of Lisp for their "AI research" perhaps C would have taken a
big hit during the so-called AI winter instead of Lisp. Perhaps if the
Lisp machine vendors hadn't misunderstood basic economics so
thoroughly, their machines would have become more common and taken
Lisp with them the way Unix brought C. There are simply too many
variables to lay the blame at Lisp's alleged functional basis.
Especially today when languages like Haskell exist that take
functional so much further they make Lisp look like a procedural
language by comparison.
—
Daniel Lyons
next prev parent reply other threads:[~2009-09-04 21:36 UTC|newest]
Thread overview: 130+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-09-02 14:29 ron minnich
2009-09-02 14:51 ` Rodolfo (kix)
2009-09-03 9:52 ` Greg Comeau
2009-09-03 11:15 ` Skip Tavakkolian
2009-09-03 13:59 ` Greg Comeau
2009-09-03 15:01 ` David Leimbach
2009-09-02 15:19 ` Enrique Soriano
2009-09-02 16:38 ` erik quanstrom
2009-09-02 16:56 ` David Leimbach
2009-09-02 16:58 ` Robert Raschke
2009-09-02 17:03 ` David Leimbach
2009-09-02 17:36 ` erik quanstrom
2009-09-02 18:08 ` Richard Miller
2009-09-02 18:27 ` David Leimbach
2009-09-02 18:35 ` erik quanstrom
2009-09-02 18:46 ` David Leimbach
2009-09-03 15:02 ` Uriel
2009-09-03 15:02 ` David Leimbach
2009-09-02 19:10 ` Jonathan Cast
2009-09-02 20:02 ` David Leimbach
2009-09-02 20:23 ` Jonathan Cast
2009-09-02 20:45 ` David Leimbach
2009-09-02 17:31 ` Eric Van Hensbergen
2009-09-02 18:25 ` David Leimbach
2009-09-02 18:47 ` ron minnich
2009-09-02 19:11 ` Brian L. Stuart
2009-09-02 19:32 ` David Leimbach
2009-09-02 22:59 ` Roman V Shaposhnik
2009-09-03 9:53 ` Greg Comeau
2009-09-03 11:24 ` Skip Tavakkolian
2009-09-03 12:01 ` tlaronde
2009-09-03 12:06 ` Brantley Coile
2009-09-03 14:03 ` Greg Comeau
2009-09-03 15:13 ` Jason Catena
2009-09-04 9:04 ` Greg Comeau
2009-09-03 14:02 ` Greg Comeau
2009-09-03 14:57 ` Robert Raschke
2009-09-04 9:04 ` Greg Comeau
2009-09-03 17:40 ` Brian L. Stuart
2009-09-04 9:03 ` Greg Comeau
2009-09-04 17:47 ` Brian L. Stuart
2009-09-04 18:01 ` Jack Norton
2009-09-04 20:18 ` Eris Discordia
2009-09-04 21:36 ` Daniel Lyons [this message]
2009-09-04 22:50 ` andrey mirtchovski
2009-09-05 14:14 ` Eris Discordia
[not found] ` <7AAFE4127E1DB57785BB273A@192.168.1.2>
2009-09-05 14:36 ` Eris Discordia
2009-09-06 1:58 ` Jason Catena
2009-09-06 3:38 ` David Leimbach
2009-09-06 18:29 ` Tim Newsham
2009-09-06 18:44 ` David Leimbach
2009-09-06 17:08 ` Eris Discordia
[not found] ` <9C0E59DDCCDD197FBD4EC404@192.168.1.2>
2009-09-06 18:05 ` David Leimbach
2009-09-06 18:34 ` James Chapman
2009-09-06 18:26 ` Tim Newsham
2009-09-06 18:40 ` David Leimbach
2009-09-07 8:54 ` Paul Donnelly
2009-09-07 9:07 ` Greg Comeau
[not found] ` <BB8E3A2E5419E566D0361D29@192.168.1.2>
2009-09-04 21:52 ` Jason Catena
2009-09-05 11:02 ` Richard Miller
2009-09-05 11:22 ` Akshat Kumar
2009-09-05 12:11 ` tlaronde
2009-09-06 20:04 ` Rudolf Sykora
2009-09-06 20:45 ` erik quanstrom
2009-09-07 7:51 ` Vinu Rajashekhar
2009-09-05 13:38 ` Anthony Sorace
2009-09-07 9:07 ` Greg Comeau
2009-09-07 9:39 ` Akshat Kumar
2009-09-07 15:49 ` Greg Comeau
2009-09-07 15:58 ` erik quanstrom
2009-09-07 20:56 ` Lyndon Nerenberg - VE6BBM/VE7TFX
2009-09-07 21:21 ` Federico G. Benavento
2009-09-07 21:33 ` Lyndon Nerenberg - VE6BBM/VE7TFX
2009-09-09 8:30 ` Greg Comeau
2009-09-09 11:22 ` erik quanstrom
2009-09-09 15:48 ` Charles Forsyth
2009-09-09 16:00 ` Russ Cox
2009-09-09 16:37 ` Abhishek Kulkarni
2009-09-09 16:51 ` Jack Norton
2009-09-09 16:07 ` erik quanstrom
2009-09-09 16:07 ` Akshat Kumar
2009-09-09 16:08 ` Richard Miller
2009-09-09 16:13 ` Richard Miller
2009-09-10 21:45 ` erik quanstrom
2009-09-11 7:54 ` Richard Miller
2009-09-11 10:21 ` erik quanstrom
2009-09-09 16:11 ` David Leimbach
2009-09-09 16:29 ` Jason Catena
2009-09-09 17:17 ` Skip Tavakkolian
2009-09-09 18:36 ` Jason Catena
2009-09-09 17:29 ` Iruata Souza
2009-09-09 17:57 ` Tim Newsham
2009-09-10 11:59 ` Eris Discordia
[not found] ` <99A870099C1B1D6560F4CF1A@192.168.1.2>
2009-09-10 15:58 ` hiro
2009-09-10 21:24 ` Eris Discordia
2009-09-09 8:30 ` Greg Comeau
2009-09-09 8:29 ` Greg Comeau
2009-09-05 14:27 ` Eris Discordia
2009-09-05 14:33 ` Eris Discordia
[not found] ` <B6F7A6BD1919CC67B621FDE3@192.168.1.2>
2009-09-05 14:36 ` John Floren
2009-09-05 14:51 ` Eris Discordia
2009-09-05 19:30 ` Daniel Lyons
2009-09-05 23:48 ` Eris Discordia
2009-09-05 18:26 ` erik quanstrom
2009-09-06 0:05 ` Eris Discordia
2009-09-06 0:17 ` erik quanstrom
2009-09-06 0:37 ` Eris Discordia
2009-09-06 0:56 ` erik quanstrom
2009-09-06 16:51 ` Eris Discordia
2009-09-06 17:32 ` tlaronde
2009-09-06 4:23 ` J.R. Mauro
2009-09-06 17:24 ` Eris Discordia
[not found] ` <393394D0A7F3F4A227F94CDA@192.168.1.2>
2009-09-06 18:03 ` Rob Pike
2009-09-06 19:26 ` Eris Discordia
2009-09-07 15:47 ` J.R. Mauro
2009-09-07 8:54 ` Paul Donnelly
2009-09-07 9:04 ` Daniel Lyons
2009-09-07 9:05 ` Vinu Rajashekhar
2009-09-07 9:05 ` Greg Comeau
2009-09-07 9:49 ` Daniel Lyons
2009-09-07 11:34 ` erik quanstrom
2009-09-07 16:00 ` Greg Comeau
2009-09-07 19:23 ` Eris Discordia
2009-09-09 8:29 ` Greg Comeau
2009-09-09 8:35 ` Paul Donnelly
2009-09-03 19:38 ` tlaronde
2009-09-03 21:55 ` Daniel Lyons
2009-09-03 22:01 ` Tharaneedharan Vilwanathan
2009-09-07 8:54 ` Greg Comeau
2009-09-04 9:15 ` Greg Comeau
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=55D72913-15FB-415F-BE43-7D173E0AC449@storytotell.org \
--to=fusion@storytotell.org \
--cc=9fans@9fans.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).