From: Peter Seibel
Subject: Another wheel with nice pointy corners
Date: 
Message-ID: <m3wu2xoocw.fsf@javamonkey.com>
This came across Slashdot yesterday[1]. From their summary:

  An interesting article written by a professor at the University of
  Toronto argues that next-generation programming systems will combine
  compilers, linkers, debuggers, and that other tools will be plugin
  frameworks, rather than monolithic applications. Programmers will be
  able to extend the syntax of programming languages, and programs
  will be stored as XML documents so that programmers can represent
  and process data and meta-data uniformly. It's a very insightful and
  thought-provoking read. Is this going to be the next generation of
  extensible programming?

After reading that I had to get up and stomp around the house to work
off my frustration and wait for the article to print out. Read it
yourself at:

  <http://pyre.third-bit.com/~gvwilson/xmlprog.html>

After I read the article I had calmed down a bit--the author is aware
of Lisp an even acknowledge that much of what he describes has been
possible in Lisp for quite some time:

  "Scheme proves by example that everything described in this article
  could have been done twenty years ago, and could be done today
  without XML."

But he goes on to give up on Lisp because "parenthesized lists ...
failed to win programmers' hearts and minds." Whatever. He also makes
no mention of Common Lisp which, I think, provides even more of what
he describes (he wans pluggable optimzers, we've got compiler macros;
he wants pluggable debuggers, we've got *debugger-hook* and the
condition system, etc.)

But there's some interesting stuff in there. And to the extent that
some Java/C++/Python/C# programmer you know agrees with the /.
contributor that this stuff is "insightful and thought-provoking" they
might be ripe for their Lisp Conversion Experience.

-Peter

[1] <http://developers.slashdot.org/article.pl?sid=04/05/26/2231214&mode=flat&tid=126&tid=156>

-- 
Peter Seibel                                      ·····@javamonkey.com

         Lisp is the red pill. -- John Fraser, comp.lang.lisp

From: David Steuber
Subject: Re: Another wheel with nice pointy corners
Date: 
Message-ID: <87vfigk9iy.fsf@david-steuber.com>
[Mail and News]

Peter Seibel <·····@javamonkey.com> writes:

> This came across Slashdot yesterday[1].
>
> After reading that I had to get up and stomp around the house to work
> off my frustration and wait for the article to print out. Read it
> yourself at:
> 
>   <http://pyre.third-bit.com/~gvwilson/xmlprog.html>
> 
> After I read the article I had calmed down a bit--the author is aware
> of Lisp an even acknowledge that much of what he describes has been
> possible in Lisp for quite some time:

I just finished reading the article.  I couldn't stop laughing.  Ok, I
did after a few minutes.

If a solid chunk of the world wants to go this way, I say let them.
Wasting time is good for the economy.  If everyone was efficient at
their jobs, then there would be far more unemployed people because it
would take fewer people to do the things that need to be done.

Personally, I like to waste my time reading USENET, some various web
sites, and other activities that have little to do with programming.
When I get into coding, I want tools that won't waste my time and
energy.  For now, those tools are Emacs + SLIME + Lisp.

Granted, I am not even a journeyman yet.  I do think I've passed point
of knowing 1% of the language, but I am not sure I've hit 5% yet.  Be
that as it may, I have already acquired some disdain for Java and its
development methods.  I also predict that if I stay the course, by
year's end I will be able to be productive in Lisp.  My definition of
productive is underspecified, but thinking more about the problem
domain at hand rather than implementation details as I write code has
something to do with it.  The fewer cache misses I take having to look
something up in CLHS, the better.

I could spend the time to pick appart almost every point in the
article, but I won't bother.  What would be the point?  I will quote
one of my favorite bits though:

"Programmers are so fond of their editors that they will stick with a
favorite even when changing languages and operating systems. Getting
them to abandon Vi, Emacs, or Notepad may therefore actually be the
biggest social challenge this idea faces."

I like how the author lumps Vi, Emacs, and Notepad together as if they
all fit into the same class of editors.  Now the less said about
Notepad the better.  And I do like Vi.  Vi is very nice for quickly
jumping into a text file to make a quick edit and then jumping out
again.  For example, I can 'sudo vi /etc/apache/httpd.conf' very
easily.

However, I am typing this text in Emacs GNUS.  If the ability to embed
a news reader (not to mention the SLIME extension) isn't a
demonstration of IDE flexability, then I don't know what is.

I guess I will comment on one other thing from the article:

"even grizzled old Unix fanatics don't expect to be able to open a
relational database with Vi or Emacs."

That sounds like a dare to me.  Doesn't that sound like a dare to you?
There is a Pg package for Lisp.  PostgreSQL has a well defined plug-in
API.  I expect that interfacing Emacs to PostgreSQL would not be
terribly difficult.  I expect you could have something that is much
nicer than the psql tool.  Let's not forget CL-SQL for a more general
approach to databases.

I don't know if the author's opinion would change if he had a solid
working knowledge of Lisp.  The Lisp community is small.  Microsoft
and Sun are marketing their wares hard.  But even if the author is
right and XML becomes the new camel, I think I'll stick with Lisp.  I
can manipulate XML files with Lisp if I have to for data exchange.
The Lisp community seems to be growing.  I think more people are
seeing that Lisp is still the most advanced programming language yet
devised.  And Lisp isn't standing still either.  The next Big Thing
will likely find support in Lisp with little difficulty.

* When I say Lisp, I always mean ANSI Common Lisp.  If I mean Scheme,
  I'll say Scheme.  If I mean the family of Lisp languages, I will
  qualify Lisp in the obvious way.

-- 
An ideal world is left as an excercise to the reader.
   --- Paul Graham, On Lisp 8.1
From: Dave Pearson
Subject: Re: Another wheel with nice pointy corners
Date: 
Message-ID: <slrncbhlsk.lrf.davep.news@hagbard.davep.org>
* David Steuber <·····@david-steuber.com>:

> [SNIP]I expect that interfacing Emacs to PostgreSQL would not be
> terribly difficult.  [SNIP]

;;; pg.el --- Emacs Lisp socket-level interface to the PostgreSQL RDBMS
;;;
;;; Author: Eric Marsden [SNIP]
;;; Version: 0.8
;;; Keywords: data comm database postgresql
;;; Copyright: (C) 1999-2001  Eric Marsden

-- 
Dave Pearson
http://www.davep.org/lisp/
From: Rahul Jain
Subject: Re: Another wheel with nice pointy corners
Date: 
Message-ID: <873c5epkz5.fsf@nyct.net>
David Steuber <·····@david-steuber.com> writes:

> "even grizzled old Unix fanatics don't expect to be able to open a
> relational database with Vi or Emacs."

Interesting. I interact with databases all the time directly from within
Emacs. Oh, and this isn't on a unix system. Then again, I use XEmacs, so
maybe grizzled old unix fanatics expect to be able to open a relational
database with XEmacs if they're using MS Windows.

-- 
Rahul Jain
·····@nyct.net
Professional Software Developer, Amateur Quantum Mechanicist
From: Thomas F. Burdick
Subject: Re: Another wheel with nice pointy corners
Date: 
Message-ID: <xcv7jupfrz0.fsf@famine.OCF.Berkeley.EDU>
David Steuber <·····@david-steuber.com> writes:

> I guess I will comment on one other thing from the article:
> 
> "even grizzled old Unix fanatics don't expect to be able to open a
> relational database with Vi or Emacs."
> 
> That sounds like a dare to me.  Doesn't that sound like a dare to you?
> There is a Pg package for Lisp.  PostgreSQL has a well defined plug-in
> API.  I expect that interfacing Emacs to PostgreSQL would not be
> terribly difficult.  I expect you could have something that is much
> nicer than the psql tool.  Let's not forget CL-SQL for a more general
> approach to databases.

I must say, the lousy Emacs<->Postgres interface annoys me.  To the
point that I'd considered porting pg to Emacs CL as a start of a good
pg mode -- then I decided I already have too many projects on my
plate.  That good-for-nothing Somebody should do it, though.

-- 
           /|_     .-----------------------.                        
         ,'  .\  / | No to Imperialist war |                        
     ,--'    _,'   | Wage class war!       |                        
    /       /      `-----------------------'                        
   (   -.  |                               
   |     ) |                               
  (`-.  '--.)                              
   `. )----'                               
From: Kenny Tilton
Subject: Re: Another wheel with nice pointy corners
Date: 
Message-ID: <wsJtc.64809$mX.21203182@twister.nyc.rr.com>
Peter Seibel wrote:
> This came across Slashdot yesterday[1]. From their summary:
> 
>   An interesting article written by a professor at the University of
>   Toronto argues that next-generation programming systems will combine
>   compilers, linkers, debuggers, and that other tools will be plugin
>   frameworks, rather than monolithic applications. Programmers will be
>   able to extend the syntax of programming languages, and programs
>   will be stored as XML documents so that programmers can represent
>   and process data and meta-data uniformly. It's a very insightful and
>   thought-provoking read. Is this going to be the next generation of
>   extensible programming?
> 
> After reading that I had to get up and stomp around the house to work
> off my frustration and wait for the article to print out. Read it
> yourself at:
> 
>   <http://pyre.third-bit.com/~gvwilson/xmlprog.html>
> 
> After I read the article I had calmed down a bit--the author is aware
> of Lisp an even acknowledge that much of what he describes has been
> possible in Lisp for quite some time:
> 
>   "Scheme proves by example that everything described in this article
>   could have been done twenty years ago, and could be done today
>   without XML."

Gather round children of the 21st Century and hush. Auntie Lisp is 
speaking about Back in The Day.

Of course there always has to be a bit where they explain why they had 
to write two thousand words where two ("Use Lisp.") would do, ie, why 
Lisp is better but... nahhhhh:

"However, the fact is that it didn't happen: as attractive as 
parenthesized lists are conceptually, they failed to win programmers' 
hearts and minds.

"In contrast, it has only taken HTML and XML a decade to become the most 
popular data format in history. ... S-expressions might have deserved to 
win, but XML has.

"And yes, there are better (i.e. more succinct, and hence easier to 
process) ways to represent the semantics of programs than XML, but ... 
XML can do the job, and is becoming universal; it is therefore difficult 
to imagine that anything else will be so compelling as to displace it."

I love software visionaries who talk about radical changes (here, macros 
and required use of language-aware editors) and then fall back on 
"nothing ever changes" to dismiss alternatives.

Perhaps they need to contemplate another Slashdot entry:
 
http://science.slashdot.org/science/04/05/27/2149248.shtml?tid=134&tid=160

And PCLtB is the asteroid. :)

kenny


-- 
Home? http://tilton-technology.com
Cells? http://www.common-lisp.net/project/cells/
Cello? http://www.common-lisp.net/project/cello/
Why Lisp? http://alu.cliki.net/RtL%20Highlight%20Film
Your Project Here! http://alu.cliki.net/Industry%20Application
From: Tayssir John Gabbour
Subject: Re: Another wheel with nice pointy corners
Date: 
Message-ID: <866764be.0405301105.7d1aa4fc@posting.google.com>
Peter Seibel <·····@javamonkey.com> wrote in message news:<··············@javamonkey.com>...
> But he goes on to give up on Lisp because "parenthesized lists ...
> failed to win programmers' hearts and minds." Whatever.

I'm glad people are scared off from reinventing lisp-like notation.

Also, programmers never rejected lisp. Look at emacs. Viral platform
which piggybacks on other viral platforms. I don't think the big
lesson is worse-is-better, it's that a platform should be viral.

Genera was a weak virus. Tied close to one company and special-purpose
hardware. Same with Connection-Machine Lisp.

Franz survived though and was able to sell licenses at $$$/head.
Because it piggybacked onto more resistant viruses.

Unix was a virus, and its creators knew it. Kernighan and Mashey wrote
an old paper which crowed about it. They explained how Unix took root
on orphaned hardware, and slowly metastasized through organizations.
It was cheap; apparently it thrived because Bell Labs neglected it.
The Lions book illegally spread its sourcecode.