From: sv0f
Subject: Discussion of Richard Gabriel on Slashdot
Date: 
Message-ID: <none-0512021151280001@129.59.212.53>
An article on Richard Gabriel at:
     http://java.sun.com/features/2002/11/gabriel_qa.html
is currently being discussed at:
     http://developers.slashdot.org/article.pl?sid=02/12/05/1246247&tid=156

From: Kurt B. Kaiser
Subject: Re: Discussion of Richard Gabriel on Slashdot
Date: 
Message-ID: <m3k7ioey8b.fsf@float.attbi.com>
····@vanderbilt.edu (sv0f) writes:

> An article on Richard Gabriel at:
>      http://java.sun.com/features/2002/11/gabriel_qa.html
> is currently being discussed at:
>      http://developers.slashdot.org/article.pl?sid=02/12/05/1246247&tid=156

Hopefully his software is better than his poetry.

The article at Sun has some interesting comments on reuse, but the Slashdot
thread is worthless, as usual.

MFAs are generally held by teachers and art critics, not by artists.  

I'd love to be a fly on the wall at the interview: "What are your 
qualifications?" "I have a Master of Fine Arts in Sofware Creativity."
"Ah, ha ha ha!....You're kidding."

Now, I thoroughly subscribe to the argument about creativity being critical
to great software.  The same holds for physics.  But you don't go out and
get an MFA in physics.

--
KBK
From: sv0f
Subject: Re: Discussion of Richard Gabriel on Slashdot
Date: 
Message-ID: <none-0512022108180001@129.59.212.53>
In article <··············@float.attbi.com>, ···@shore.net (Kurt B.
Kaiser) wrote:

>MFAs are generally held by teachers and art critics, not by artists.  

My sense is that MFAs are held by many artists and writers in the
academy, since it is the terminal degree for these professions,
but that art historians, literary and cultural theorists, english
professors, and the like hold Ph.Ds.

In other words, those that do (and teach how to do), MFA.
Those that write about those that do (and teach how to write about
those that do), Ph.D
From: Henry Lenzi
Subject: Re: Discussion of Richard Gabriel on Slashdot
Date: 
Message-ID: <pan.2002.12.06.02.07.41.250661.20696@uol.com.br>
Em Thu, 05 Dec 2002 23:24:04 -0200, Kurt B. Kaiser escreveu:

> ····@vanderbilt.edu (sv0f) writes:
> 
>> An article on Richard Gabriel at:
>>      http://java.sun.com/features/2002/11/gabriel_qa.html
>> is currently being discussed at:
>>      http://developers.slashdot.org/article.pl?sid=02/12/05/1246247&tid=156
> 
> Hopefully his software is better than his poetry.
> 
> The article at Sun has some interesting comments on reuse, but the
> Slashdot thread is worthless, as usual.
> 
> MFAs are generally held by teachers and art critics, not by artists.
> 
> I'd love to be a fly on the wall at the interview: "What are your
> qualifications?" "I have a Master of Fine Arts in Sofware Creativity."
> "Ah, ha ha ha!....You're kidding."
> 
> Now, I thoroughly subscribe to the argument about creativity being
> critical to great software.  The same holds for physics.  But you don't
> go out and get an MFA in physics.
> 
> --
> KBK


Hi --

	From what I gathered from his presentation at the ILC, his point on
creativity is related to programming as a craft. Where your work perfects
slowly, and where you learn by reading code and submitting your piece of code to
others. This is very much the process he went through in his MFA, writing
poetry.
From: Tom Lord
Subject: Re: Discussion of Richard Gabriel on Slashdot
Date: 
Message-ID: <uv02e71k9ek35b@corp.supernews.com>
The thing I don't get about he interview his this:

Isn't there a heck of a lot of creativity in designing pretty bridges
to spec (almost, anyway) using modern materials and techniques?
Aren't bridges _still_ poorly-enough understood that there's a lot of
creativity in figuring out how to prove novel designs?

The interview conflates "artsy fartsy" with "anti-robust-engineering"
-- and that's unfortunate.  If you build a sixty foot sculpture --
please make sure it doesn't fall down on anyone;  if you build a mile
long bridge, please make sure it looks pretty.

On the other hand:  artists (since the abstract impressionists, as I
understand it) think hard about liberating process.   A lot of neat
hacks (especially in "user facing" areas) happen when people screw
around with their materials (tools, mostly) late at night, following
gradiants of pleasure.  I think _that's_ what he's talking about.
How ironic that is professional life his so tied up with Java.

-t



p.s.: I don't much appreciate the quoted poem either: too easy; too
obvious; too gimmicky.  His taste, though is cool -- the work quoted
on his home page is nifty.  Hippy/beat-friendly readers of this list
should take the time to figure out what I'm referring to -- the (very
long) poem quoted there is available on-line.
From: Christopher Browne
Subject: Re: Discussion of Richard Gabriel on Slashdot
Date: 
Message-ID: <asp4f9$q49vf$1@ID-125932.news.dfncis.de>
In the last exciting episode, ···@shore.net (Kurt B. Kaiser) wrote::
> ····@vanderbilt.edu (sv0f) writes:
>
>> An article on Richard Gabriel at:
>>      http://java.sun.com/features/2002/11/gabriel_qa.html
>> is currently being discussed at:
>>      http://developers.slashdot.org/article.pl?sid=02/12/05/1246247&tid=156
>
> Hopefully his software is better than his poetry.
>
> The article at Sun has some interesting comments on reuse, but the
> Slashdot thread is worthless, as usual.
>
> MFAs are generally held by teachers and art critics, not by artists.  

Much the same as the way "Religious Studies" is a course of study
generally followed by atheists that think there are interesting things
/about/ religion, despite the fact that they consider that it's all
bunk.

(I'm actually /dead/ serious; anyone interested in religion that
considered it 'real' would be likely to study theology at a seminary,
or something of the sort...)

> I'd love to be a fly on the wall at the interview: "What are your
> qualifications?" "I have a Master of Fine Arts in Sofware
> Creativity."  "Ah, ha ha ha!....You're kidding."

> Now, I thoroughly subscribe to the argument about creativity being
> critical to great software.  The same holds for physics.  But you
> don't go out and get an MFA in physics.

Agreed...
-- 
(reverse (concatenate 'string ········@" "enworbbc"))
http://cbbrowne.com/info/linuxdistributions.html
Marriage means commitment. Of course, so does insanity. 
From: Gabe Garza
Subject: Re: Discussion of Richard Gabriel on Slashdot
Date: 
Message-ID: <87lm3325zq.fsf@ix.netcom.com>
···@shore.net (Kurt B. Kaiser) writes:
>
> MFAs are generally held by teachers and art critics, not by artists.  
> 
> I'd love to be a fly on the wall at the interview: "What are your 
> qualifications?" "I have a Master of Fine Arts in Sofware Creativity."
> "Ah, ha ha ha!....You're kidding."

The thing that bothers me the most about the whole concept is that, in
my personal experience dealing with other developers whilst at
MegaCorp, the other side of the coin is just as lacking.

Quite a few people have just as much problem understanding how things
work at a low level (e.g., stacks, heaps, interrupts, the memory
heirarchy, instruction sets, how objects are layed out and accessed in
memory, compilation vs. interpretation, how compilation, linking, and
loading all fit together, etc.) as they do understanding how things
work at a high level (e.g., how programs should be organized and
designed).  It's like some people pick a language, learn the syntax,
pin a "Programmer" badge on their chest and throw up their hands.

It seems like there's an unfortunate tendency to ignore how things
actually work and instead focus on the newest protocol with an
acronym--that sits on top of at least 6 dozen other acronyms...

Gabe Garza
From: Pascal Costanza
Subject: Re: Discussion of Richard Gabriel on Slashdot
Date: 
Message-ID: <3DF0A664.2030406@web.de>
Kurt B. Kaiser wrote:

> Now, I thoroughly subscribe to the argument about creativity being critical
> to great software.  The same holds for physics.  But you don't go out and
> get an MFA in physics.

I think it's important to take into account what's going on in the 
computer science world at the moment. Because of some kind of 
inferiority complex, computer scientists usually tend to incorporate 
formal methods and master-planning activities, but don't reflect about 
how creative processes really work. The term software enginnering seems 
to imply that after a some kind of elicitation phase (that somehow 
magically spews out the "requirements") everything else can be automated 
by some other kind of software development process (like Unified 
Process, and so on). I think this is extremely naive and just can't 
work. Even the more recent XP or agile methodologies incorporate some of 
these elements.

AFAIK in physics, noone tries to find a silver bullet that helps to sort 
out any kind of theory that might come up by some kind "physical theory 
development process" that incorporates requirements engineering, 
analysis, design and implementation, and so on. It's clear that this 
would be nonsense. Perhaps for this reasons, there's no need for an MFA 
in physics.

In the field of computer science, something has to be done about the 
widely spread wrong perceptions of how software should be developed and 
be replaced by empirical research about good software. I think that's 
Richard Gabriel's main goal - whether it is called MFA or not is 
secondary. The MFA concept is just different enough from the mainstream, 
therefore it can be fruitful.


Pascal

-- 
Pascal Costanza               University of Bonn
···············@web.de        Institute of Computer Science III
http://www.pascalcostanza.de  R�merstr. 164, D-53117 Bonn (Germany)
From: Johannes Grødem
Subject: Re: Discussion of Richard Gabriel on Slashdot
Date: 
Message-ID: <lzlm33wo0i.fsf@unity.copyleft.no>
* ····@vanderbilt.edu (sv0f):

> An article on Richard Gabriel at:
>      http://java.sun.com/features/2002/11/gabriel_qa.html

From the article:
> [...] They study great works of poetry. Do we do that in our
> software engineering disciplines? No. You don't look at the source
> code for great pieces of software.

I'm curious what these great pieces of software are.

-- 
Johannes Gr�dem <OpenPGP: 5055654C>
From: Tim Bradshaw
Subject: Re: Discussion of Richard Gabriel on Slashdot
Date: 
Message-ID: <fbc0f5d1.0212060648.7707d1ce@posting.google.com>
"Johannes Gr�dem <······@ifi.uio.no> wrote in message news:<··············@unity.copyleft.no>...
> * ····@vanderbilt.edu (sv0f):
> > [...] They study great works of poetry. Do we do that in our
> > software engineering disciplines? No. You don't look at the source
> > code for great pieces of software.
> 
> I'm curious what these great pieces of software are.

I would have thought that a classic example where this was done is the 
Lions commentary on Unix, which was used for teaching.  Unix certainly
qualified (and still qualifies) as a great bit of software in terms of influence
and ideas.  I'd recommend the book still (it's even now legally available).

--tim
From: Tim Daly, Jr.
Subject: Re: Discussion of Richard Gabriel on Slashdot
Date: 
Message-ID: <87ptsdydi5.fsf@bob.intern>
··········@tfeb.org (Tim Bradshaw) writes:

> "Johannes Gr�dem <······@ifi.uio.no> wrote in message news:<··············@unity.copyleft.no>...
> > * ····@vanderbilt.edu (sv0f):
> > > [...] They study great works of poetry. Do we do that in our
> > > software engineering disciplines? No. You don't look at the source
> > > code for great pieces of software.
> > 
> > I'm curious what these great pieces of software are.
> 
> I would have thought that a classic example where this was done is
> the Lions commentary on Unix, which was used for teaching.  Unix
> certainly qualified (and still qualifies) as a great bit of software
> in terms of influence and ideas.  I'd recommend the book still (it's
> even now legally available).
> 
> --tim

Does it strike anyone else as extremely ironic and yet sadly typical
that the best exemplar of a software classic worth teaching from was
only available illegally for most of its useful life?  

I think that things were similar early in the life of Jazz.  (Perhaps
they still are?)  Many artists were jealous of their techniques, to
the extent of playing with their back to the audience, or with a
handkerchief over their fingers.  The music schools could not prepare
an artist for Jazz improvisation, teaching him the (at best) somewhat
useful classical technique and theory, and sight reading.  Even today,
AFAIK, one of the most useful written works for learning, the 
"Real Book", is only available illegally.

Maybe I just wish that being a programmer were as cool as playing
Jazz. ;)


-Tim
From: Duane Rettig
Subject: Re: Discussion of Richard Gabriel on Slashdot
Date: 
Message-ID: <4znrh93ge.fsf@beta.franz.com>
···@tenkan.org (Tim Daly, Jr.) writes:

> Maybe I just wish that being a programmer were as cool as playing
> Jazz. ;)

It can be so.  Just remember that Jazz is a subclass of music, as
cool programming is a subclass of programming.  So be a Jazz
programmer...

-- 
Duane Rettig    ·····@franz.com    Franz Inc.  http://www.franz.com/
555 12th St., Suite 1450               http://www.555citycenter.com/
Oakland, Ca. 94607        Phone: (510) 452-2000; Fax: (510) 452-0182   
From: Tim Daly, Jr.
Subject: Re: Discussion of Richard Gabriel on Slashdot
Date: 
Message-ID: <871y4ty9g2.fsf@bob.intern>
Duane Rettig <·····@franz.com> writes:

> ···@tenkan.org (Tim Daly, Jr.) writes:
> 
> > Maybe I just wish that being a programmer were as cool as playing
> > Jazz. ;)
> 
> It can be so.  Just remember that Jazz is a subclass of music, as
> cool programming is a subclass of programming.  So be a Jazz
> programmer...

Amen, Brother Maynard!!!

-Tim
From: Roger Corman
Subject: Re: Discussion of Richard Gabriel on Slashdot / jazz
Date: 
Message-ID: <3df3f808.182185989@nntp.sonic.net>
On 07 Dec 2002 17:56:02 +0100, ···@tenkan.org (Tim Daly, Jr.) wrote:

>Does it strike anyone else as extremely ironic and yet sadly typical
>that the best exemplar of a software classic worth teaching from was
>only available illegally for most of its useful life?  
>
>I think that things were similar early in the life of Jazz.  (Perhaps
>they still are?)  Many artists were jealous of their techniques, to
>the extent of playing with their back to the audience, or with a
>handkerchief over their fingers.  The music schools could not prepare
>an artist for Jazz improvisation, teaching him the (at best) somewhat
>useful classical technique and theory, and sight reading.  Even today,
>AFAIK, one of the most useful written works for learning, the 
>"Real Book", is only available illegally.
>
Sorry, Tim, but I can't let this one go without a response. I have
been a jazz musician for 26 years (first professionally, then as a
side line to being a programmer) and have never seen or heard of
anybody hiding his/her playing techniques. Jazz artists tend to be an
amazingly helpful and open bunch of people. They are like lispers, in
that they are always in the minority, and struggling for recognition
in the wider community. I never heard of anybody besides Miles playing
with his back to the audience, and that was only for a certain part of
his career. He claims in his autobiography that this was because he
was conducting  the band and had to face them, which I believe was
true. Of the large amount of film and video footage of jazz
performancesI have seen I never saw anybody deliberatly hiding
anything from anybody. I know this is way off topic, but I can't bear
that such an idea be left undefended. 

As to the Real Book, which was the Berklee school Fake Book, it and
other fake books were indeed illegal (though widespread and obviously
tolerated) simply because they didn't pay copyright fees to any of the
composers. They had skeletal vesions of 1000 tunes in a book, and
nobody wanted to take the time to track down the artists, and the
copyright fees presumably would have been large. However, Chuck Sher,
with Sher publishing, rectified this since the 80s with the New Real
Book series, which is fully supported by the artists and fully legal.
I don't know what this has to do with anything, but there it is. :-)

Learning jazz is and has always been about listening to the great
works and great artists, and learning by emulating them. There really
isn't any secret to what anybody is doing--it is all right there for
anybody to hear. This is precisely what Dick Gabriel is talking about
with his article, and I believe he makes some valid points. I don't
think you want to draw too much of a comparison between artists and
programmers because the end goal is very different. However, the
creative aspect of programming is often overlooked and under-valued.

If programming is like writing poetry, then it's like you are forced
to write 25 volumes of poetry within a year, and release it no matter
what shape it's in. Then for years you have to keep expanding each
poem, and adding new ones, whether it makes sense or not.


>Maybe I just wish that being a programmer were as cool as playing
>Jazz. ;)
Jazz players are actually the geeks of the music world. It's such an
incredible complex business, learning and playing jazz--the theory is
mind boggling. When you are imrovising you are dealing with many
levels of abstraction at once, down to writing the individual code,
err, I mean playing the individual notes, live in front of an
audience. Jazz musicians have always tried to look cool, and to make
playing look simple and like it's all natural and comes out of their
soul, but that's a farce. People just wouldn't accept African-American
jazz artists as the intellectual geniuses they were, and could better
think of them as cool hipsters who didn't have to think hard. Of
course, once you get good enough at something, and get into the zone,
it doesn't seem that hard anymore.

But most jazz musicians I know of are more on the geeky side than the
cool side.

By the way, I once had the opportunity to perform with Bob Berg, a
great saxophonist who just died in a horrible car accident. He played
for many years with Miles Davis and later with Chick Corea. It's very
tragic.

Roger
From: fortunatus
Subject: Re: Discussion of Richard Gabriel on Slashdot / jazz
Date: 
Message-ID: <ed25e7f9.0212120955.5b004fcb@posting.google.com>
> > Well, that's the analogy I was going for.  I imagine Lions' commentary
> > could have been legal, if people were willing to pay for a unix source
> > license.  Maybe it's pretty weak, but it was a shot. 
> 
> I think the problem was that there was no `inspection only' source
> license - you either paid AT&T (or whoever owned Unix at the time)
> huge money, or you didn't get a source license at all.

in the 1970's AT&T gave UNIX to universities, or perhaps actually they
waived the license fee for universities.  mine (would be -- i was only 13
at the time) ran UNIX version 6 from 11:00pm to 6:00am and offered access
for no charge during those hours.  a boon to my career.  RSTS-E during the
day on the same PDP-11 for (US$)8/hour.

in any case, the early teaching commentaries on UNIX i think were associated
with these no-cost university distributions, which came to an end several
years later.  so as long as you used the commentary within an institution
that had a license grant from Ma Bell, i think it was only barely illegal.
(legalities are not black and white like programming, though contracts
seem like programs!)
From: Larry Clapp
Subject: Re: Discussion of Richard Gabriel on Slashdot
Date: 
Message-ID: <abaqsa.bnb.ln@127.0.0.1>
In article <··············@unity.copyleft.no>, Johannes Gr�dem wrote:
> * ····@vanderbilt.edu (sv0f):
>> An article on Richard Gabriel at:
>>      http://java.sun.com/features/2002/11/gabriel_qa.html
> 
> From the article:
>> [...] They study great works of poetry. Do we do that in our
>> software engineering disciplines? No. You don't look at the
>> source code for great pieces of software.
> 
> I'm curious what these great pieces of software are.

For this particular newsgroup, might I suggest the source to (CMU
or Corman or Steel Bank) Common Lisp.  Or perhaps AllegroServe,
or cl-http.

I haven't looked much at the source to Linux, but I understand it
works reasonably well ;) .  Similarly for Apache.

Just a few thoughts.



-----= Posted via Newsfeeds.Com, Uncensored Usenet News =-----
http://www.newsfeeds.com - The #1 Newsgroup Service in the World!
-----==  Over 80,000 Newsgroups - 16 Different Servers! =-----
From: Pascal Costanza
Subject: Re: Discussion of Richard Gabriel on Slashdot
Date: 
Message-ID: <3DF0A724.7030602@web.de>
Johannes Gr�dem wrote:
> * ····@vanderbilt.edu (sv0f):
> 
> 
>>An article on Richard Gabriel at:
>>     http://java.sun.com/features/2002/11/gabriel_qa.html
> 
> 
> From the article:
> 
>>[...] They study great works of poetry. Do we do that in our
>>software engineering disciplines? No. You don't look at the source
>>code for great pieces of software.
> 
> 
> I'm curious what these great pieces of software are.

How did you learn to program?


Pascal

-- 
Pascal Costanza               University of Bonn
···············@web.de        Institute of Computer Science III
http://www.pascalcostanza.de  R�merstr. 164, D-53117 Bonn (Germany)
From: Kenny Tilton
Subject: Re: Discussion of Richard Gabriel on Slashdot
Date: 
Message-ID: <3DF0B055.6060904@nyc.rr.com>
Pascal Costanza wrote:
> Johannes Gr�dem wrote:
> 
>> * ····@vanderbilt.edu (sv0f):
>>
>>
>>> An article on Richard Gabriel at:
>>>     http://java.sun.com/features/2002/11/gabriel_qa.html
>>
>>
>>
>> From the article:
>>
>>> [...] They study great works of poetry. Do we do that in our
>>> software engineering disciplines? No. You don't look at the source
>>> code for great pieces of software.
>>
>>
>>
>> I'm curious what these great pieces of software are.

exactly. my thought during gabriel's ilc talk was that we should not 
worry about teaching folks how to program until we figure it out 
ourselves. there are good coders out there, but has anyone worked out 
what it is they are doing that could be put in a textbook. low-level 
stuff, sure, like "pick good names for variables and functions", but 
beyond that?

it /would/ be fun to start a campaign to identify great, publicly 
available code. hint: it won't have any comments.

> 
> 
> How did you learn to program?

By writing it, ala Gabriel's poem-a-day. I never read OPC, contrary to 
Gabriel. And man were my early efforts painful to get working. then i 
just worked on making the process less painful.

-- 

  kenny tilton
  clinisys, inc
  ---------------------------------------------------------------
""Well, I've wrestled with reality for thirty-five years, Doctor,
   and I'm happy to state I finally won out over it.""
                                                   Elwood P. Dowd
From: Dan Schmidt
Subject: Re: Discussion of Richard Gabriel on Slashdot
Date: 
Message-ID: <usmxb42qi.fsf@dfan.org>
Kenny Tilton <·······@nyc.rr.com> writes:

| it /would/ be fun to start a campaign to identify great, publicly
| available code. hint: it won't have any comments.

I learned a hell of a lot by reading the source code to TeX, although
his programming style is really old-school.  (It's about half comments,
by the way.)

http://www.amazon.com/exec/obidos/tg/detail/-/0201134373

Dan

-- 
http://www.dfan.org
From: Michael Sullivan
Subject: Re: Discussion of Richard Gabriel on Slashdot
Date: 
Message-ID: <1fmrsse.18v36l11yki5alN%michael@bcect.com>
Kenny Tilton <·······@nyc.rr.com> wrote:

> exactly. my thought during gabriel's ilc talk was that we should not 
> worry about teaching folks how to program until we figure it out 
> ourselves. there are good coders out there, but has anyone worked out
> what it is they are doing that could be put in a textbook. low-level 
> stuff, sure, like "pick good names for variables and functions", but 
> beyond that?

That's exactly *why* he wants to use the artist's/writer's model.

No one can write a textbook for creative writing where studying it and
answering all the questions correctly will make you a good writer.  It
takes reading a lot of good writing, and a lot of practice, and getting
your work critiqued by peers and masters.

Which is pretty much what makes a good programmer, IMO.  We don't have
to be able to identify some algorithmic test for good software in order
to train good developers, we just have to have a shared intuition about
what is good and what isn't.  It doesn't have to be universal.
Historically, for nearly every great artist, there has been an artist of
similar stature in their discipline who detested their work.

Existing works need not be perfect.  There simply needs to be a body of
work that is judged by most to be better than most other work.

The key here is that teaching programming as a *science* is what assumes
that there are textbook answers to "What is good software?"

Teaching software as an art assumes only that we have a vague and not
particularly rigorous shared sense of what is good and what is bad.  Art
makes for a fantastic instructional model because that's exactly the
situation that artists have been dealing with forever.

> it /would/ be fun to start a campaign to identify great, publicly 
> available code. hint: it won't have any comments.

That's a style decision.  I agree with it, but not everyone who
disagrees is just wrong.  When working with less expressive languages
comments become necessary, and there's plenty to learn from people who
have worked in such languages.  


Michael


-- 
Michael Sullivan
Business Card Express of CT             Thermographers to the Trade
Cheshire, CT                                      ·······@bcect.com
From: Pascal Costanza
Subject: Re: Discussion of Richard Gabriel on Slashdot
Date: 
Message-ID: <3DF0C980.3080303@web.de>
Kenny Tilton wrote:
> 
> 
> Pascal Costanza wrote:
> 
>> Johannes Gr�dem wrote:
>>
>>> * ····@vanderbilt.edu (sv0f):
>>>
>>>
>>>> An article on Richard Gabriel at:
>>>>     http://java.sun.com/features/2002/11/gabriel_qa.html
>>>
>>>
>>>
>>>
>>> From the article:
>>>
>>>> [...] They study great works of poetry. Do we do that in our
>>>> software engineering disciplines? No. You don't look at the source
>>>> code for great pieces of software.
>>>
>>>
>>>
>>>
>>> I'm curious what these great pieces of software are.
>>
> 
> exactly. my thought during gabriel's ilc talk was that we should not 
> worry about teaching folks how to program until we figure it out 
> ourselves. there are good coders out there, but has anyone worked out 
> what it is they are doing that could be put in a textbook. low-level 
> stuff, sure, like "pick good names for variables and functions", but 
> beyond that?

Even that is not very helpful. What are "good names"? You need several 
examples of good names, or the experience of dealing with the effects of 
having picked bad names, in order to understand the meaning of this 
recommendation.

I guess that most of the things good programmers do are inexplicable. 
They need to have a good taste, they need to have a good intuition, and 
so on. (For example, whether a piece of software is maintainable or not 
is usually judged intuitively - you need a good deal of experience in 
order to make such a judgement.)

> it /would/ be fun to start a campaign to identify great, publicly 
> available code. hint: it won't have any comments.

Yes, at one of the Feyerabend workshops someone proposed the idea to 
start a Wiki that just collects pointers to great pieces of software. 
Nobody has started to do that, though.

>> How did you learn to program?
> 
> 
> By writing it, ala Gabriel's poem-a-day. I never read OPC, contrary to 
> Gabriel. And man were my early efforts painful to get working. then i 
> just worked on making the process less painful.

I have learnt most from studying the sources of the Oberon system. Even 
though I am mainly doing research I try to do a reasonable amount of 
programming in order to not loose contact with reality. (I think that 
many programming languages are misdesigned because they have not been 
designed by actual programmers.)


Pascal

-- 
Pascal Costanza               University of Bonn
···············@web.de        Institute of Computer Science III
http://www.pascalcostanza.de  R�merstr. 164, D-53117 Bonn (Germany)
From: Kenny Tilton
Subject: Re: Discussion of Richard Gabriel on Slashdot
Date: 
Message-ID: <3DF0EF7C.701@nyc.rr.com>
Pascal Costanza wrote:
 > Even
> though I am mainly doing research I try to do a reasonable amount of 
> programming in order to not loose contact with reality.

remind me never to do research. i hit my corner bar every night when i 
am programming too much for a long stretch, just to keep contact with 
reality.

> (I think that 
> many programming languages are misdesigned because they have not been 
> designed by actual programmers.)

And you can tell Lisp has been used refined and used again for a long 
time. Maybe it is a Good Thing there was no ansi spec at first and folks 
could experiment with diff ideas. evolution is the best engineer.

-- 

  kenny tilton
  clinisys, inc
  ---------------------------------------------------------------
""Well, I've wrestled with reality for thirty-five years, Doctor,
   and I'm happy to state I finally won out over it.""
                                                   Elwood P. Dowd
From: Thomas F. Burdick
Subject: Re: Discussion of Richard Gabriel on Slashdot
Date: 
Message-ID: <xcvbs3zne4p.fsf@avalanche.OCF.Berkeley.EDU>
Kenny Tilton <·······@nyc.rr.com> writes:

> Pascal Costanza wrote:
>  > Even
> > though I am mainly doing research I try to do a reasonable amount of 
> > programming in order to not loose contact with reality.
> 
> remind me never to do research. i hit my corner bar every night when i 
> am programming too much for a long stretch, just to keep contact with 
> reality.

Nah, laptops solve this problem nicely.  Do research in a North Beach
cafe, and keep in contact with reality by occasionally closing the
damn thing and talking to someone (yes, I love my iBook).

-- 
           /|_     .-----------------------.                        
         ,'  .\  / | No to Imperialist war |                        
     ,--'    _,'   | Wage class war!       |                        
    /       /      `-----------------------'                        
   (   -.  |                               
   |     ) |                               
  (`-.  '--.)                              
   `. )----'                               
From: Edi Weitz
Subject: Re: Discussion of Richard Gabriel on Slashdot
Date: 
Message-ID: <87fztagbpi.fsf@bird.agharta.de>
···@avalanche.OCF.Berkeley.EDU (Thomas F. Burdick) writes:

> Nah, laptops solve this problem nicely.  Do research in a North
> Beach cafe, and keep in contact with reality by occasionally closing
> the damn thing and talking to someone (yes, I love my iBook).

I can second that - OK, it's Hamburg instead of North Beach and a
Thinkpad instead of an iBook but basically it's the same... :)

I started to code in caf�s some months ago and can really recommend
it. The absence of Internet access also helps me a lot because I'm not
tempted to check my email or read c.l.l. (But now the guys from my
favorite caf� are thinking about installing a WLAN there - damn!!)

OK, enough OT stuff,
Edi.
From: Pascal Costanza
Subject: Re: Discussion of Richard Gabriel on Slashdot
Date: 
Message-ID: <asqvvr$3sm$1@newsreader2.netcologne.de>
Kenny Tilton wrote:
> 
> 
> Pascal Costanza wrote:
>  > Even
> 
>> though I am mainly doing research I try to do a reasonable amount of 
>> programming in order to not loose contact with reality.
> 
> 
> remind me never to do research. i hit my corner bar every night when i 
> am programming too much for a long stretch, just to keep contact with 
> reality.

ROTFL
From: Christian Lynbech
Subject: Re: Discussion of Richard Gabriel on Slashdot
Date: 
Message-ID: <ofbs3sdb4l.fsf@situla.ted.dk.eu.ericsson.se>
>>>>> "Kenny" == Kenny Tilton <·······@nyc.rr.com> writes:

Kenny> there are good coders out there, but has anyone worked out what
Kenny> it is they are doing that could be put in a textbook.

Good programs are not described in books, they are books.

Others have mentioned TeX and I just want to point out that "TeX, the book",
really is a genuine readable book of the entire source code (of the pascal
version, dating back to the late 80's but then Knuth makes a lot less
mistakes than anybody else).

Donald Knuth invented the concept of "literary programming" where code
should be written and presented as much for a human reader as for the
compiler.

I still find this one of the most mindboggling concepts I have ever
encountered (together with the equally mindboggling lisp language).


------------------------+-----------------------------------------------------
Christian Lynbech       | Ericsson Telebit, Skanderborgvej 232, DK-8260 Viby J
Phone: +45 8938 5244    | email: ·················@ted.ericsson.se
Fax:   +45 8938 5101    | web:   www.ericsson.com
------------------------+-----------------------------------------------------
Hit the philistines three times over the head with the Elisp reference manual.
                                        - ·······@hal.com (Michael A. Petonic)
From: Christian Nyb�
Subject: Re: Discussion of Richard Gabriel on Slashdot
Date: 
Message-ID: <sikpts8u5ht.fsf@grace.uio.no>
Christian Lynbech <·················@ted.ericsson.se> writes:

> Others have mentioned TeX and I just want to point out that "TeX, the book",
> really is a genuine readable book of the entire source code (of the pascal
> version, dating back to the late 80's but then Knuth makes a lot less
> mistakes than anybody else).

He visited Oslo this fall, and held an informal "All questions
asked"-lecture.� With regards to making mistakes, he told that he
tried to write TAOCP in a style that made making mistakes more likely,
by quantifying his estimates rather than resorting to qualitative
terms.
-- 
chr
From: Paolo Amoroso
Subject: Re: Discussion of Richard Gabriel on Slashdot
Date: 
Message-ID: <ekH3PUNYExz6eUJ6AXKL4wU+rKJF@4ax.com>
On Wed, 11 Dec 2002 12:54:18 +0100, Christian Lynbech
<·················@ted.ericsson.se> wrote:

> Donald Knuth invented the concept of "literary programming" where code
                                        ^^^^^^^^
                                        literate


Paolo
-- 
EncyCMUCLopedia * Extensive collection of CMU Common Lisp documentation
http://www.paoloamoroso.it/ency/README
From: Johannes Grødem
Subject: Re: Discussion of Richard Gabriel on Slashdot
Date: 
Message-ID: <lz4r9petd2.fsf@unity.copyleft.no>
* Pascal Costanza <········@web.de>:

>>>[...] They study great works of poetry. Do we do that in our
>>>software engineering disciplines? No. You don't look at the source
>>>code for great pieces of software.
>> I'm curious what these great pieces of software are.
> How did you learn to program?

Books, browsing other people's code, having other people look at my
code and commenting on it.  The question was meant literally, by the
way, in case you misunderstood.  I have looked at code for programs
that work quite well, but which has code which is (or seems to me to
be) an absolute mess.  Hence my question.

-- 
Johannes Gr�dem <OpenPGP: 5055654C>
From: Tim Daly, Jr.
Subject: Re: Discussion of Richard Gabriel on Slashdot
Date: 
Message-ID: <87k7ilydcj.fsf@bob.intern>
Pascal Costanza <········@web.de> writes:

> Johannes Gr�dem wrote:
> > * ····@vanderbilt.edu (sv0f):
> >
> >>An article on Richard Gabriel at:
> >>     http://java.sun.com/features/2002/11/gabriel_qa.html
> > From the article:
> >
> >>[...] They study great works of poetry. Do we do that in our
> >>software engineering disciplines? No. You don't look at the source
> >>code for great pieces of software.
> > I'm curious what these great pieces of software are.
> 
> How did you learn to program?
> 

Trial and error. 

I don't know about the rest of you, but the computer itself taught me
to program.  Dijkstra would probably eat me alive.

-Tim
From: Friedrich Dominicus
Subject: Re: Discussion of Richard Gabriel on Slashdot
Date: 
Message-ID: <87isy5lpks.fsf@fbigm.here>
···@tenkan.org (Tim Daly, Jr.) writes:

> Pascal Costanza <········@web.de> writes:
> 
> > Johannes Gr�dem wrote:
> > > * ····@vanderbilt.edu (sv0f):
> > >
> > >>An article on Richard Gabriel at:
> > >>     http://java.sun.com/features/2002/11/gabriel_qa.html
> > > From the article:
> > >
> > >>[...] They study great works of poetry. Do we do that in our
> > >>software engineering disciplines? No. You don't look at the source
> > >>code for great pieces of software.
> > > I'm curious what these great pieces of software are.
> > 
> > How did you learn to program?
> > 
> 
> Trial and error. 
I would think every programmer has learned partly with trial and
error. My computer programming started with Modula-2 and it was the
worst course I took...

But after a while, trial and error was not "sufficient", I started to
read books about programming-in-the-small and programming-in-the-large
and I learned what matters for me. Maintenance. I think while looking
over my old code this was not high on my priority list. I would think
the only thing that counts to those times werre. It runs so don't
touch it. Today I "expect" things to work but am not afraid to touch
code again and again and ...

Another things which holds for me is that for the beginning I had to
do the job more than once. 
First time to get is running
Second time build it with some sort of "confidence" 
Third time to finally "get it right" ;-)

This does not hold any longer for "simple" things but if I'm writing
code which is supposed to be stable and re-usable, I have to try
different approaches. Problematic is getting the interface "right",
whatever "right" means ;-)

> 
> I don't know about the rest of you, but the computer itself taught me
> to program.  Dijkstra would probably eat me alive.
I have a strong opinion about some academics. That is due to a course
I had at the university, where all things were trivial for my
professor, and I could not get it. I did not give up, but more than
75%  of the course did... And after that I had an unpleasant
experience in which I took over maintenance of a software package. It
was really terrible written, but that did not bother. Just do new
things was the motto. And the opinion was that all but Architecture and
Design does not matter. This attitude does IMHO more harm to
programming than every thing else. No software development is not just
getting the Architecture right. Get the programs right that's what
matters. Probably I like Common Lisp so much because it let me start
with small things and "get-those-things-right"... 

I would think the only programmer able to do Top-Down from Top to
Bottom is Niklaus Wirth. I never ever have written such dense books
about compiler development and Oberon seems to be the hallmark fo that
approach. I guess I never ever will be able to develop software that
way....


Regards
Friedrich
From: Paolo Amoroso
Subject: Re: Discussion of Richard Gabriel on Slashdot
Date: 
Message-ID: <YunxPcox7hhejh9JBTSaj7+4Y22C@4ax.com>
On Thu, 05 Dec 2002 11:51:28 -0600, ····@vanderbilt.edu (sv0f) wrote:

> An article on Richard Gabriel at:
>      http://java.sun.com/features/2002/11/gabriel_qa.html

I would have expected from him a "worse is better" approach to programmer
training, i.e. the current one. He seems to be suggesting a "right thing"
one instead.

By the way, I feel uneasy about his statement that "we should train
developers the way we train creative people like poets and artists". It's
the same old belief that artists are the most creative human beings.


Paolo
-- 
EncyCMUCLopedia * Extensive collection of CMU Common Lisp documentation
http://www.paoloamoroso.it/ency/README
From: Gabe Garza
Subject: Re: Discussion of Richard Gabriel on Slashdot
Date: 
Message-ID: <87smx9erby.fsf@ix.netcom.com>
Paolo Amoroso <·······@mclink.it> writes:

> By the way, I feel uneasy about his statement that "we should train
> developers the way we train creative people like poets and artists". It's
> the same old belief that artists are the most creative human beings.

It also assumes that the current method of training poets is better
then the current method of training programmers.

Is the ratio of good poets to poets really *that* much higher then the
ratio of good programmers to programmers? :)  

Gabe Garza
From: Duane Rettig
Subject: Re: Discussion of Richard Gabriel on Slashdot
Date: 
Message-ID: <4r8ct90q6.fsf@beta.franz.com>
Gabe Garza <·······@ix.netcom.com> writes:

> Paolo Amoroso <·······@mclink.it> writes:
> 
> > By the way, I feel uneasy about his statement that "we should train
> > developers the way we train creative people like poets and artists". It's
> > the same old belief that artists are the most creative human beings.
> 
> It also assumes that the current method of training poets is better
> then the current method of training programmers.

Yes, but I disagree with it.  We train poets and programmers (and
musicians, and painters, ...) but reviews of the life stories of the
most creative people in our history point to anecdotal evidence that
their real schooling was the "School of Hard Knocks".  It is, in fact,
my opinion that everyone has a Creative side (e.g. right-brain) and
that this side tends to be boxed and stifled by the Analytical Side
(e.g. Left Brain) and by the rigors of teaching.  To excel, one must
be taught rigorously.  But to exceed the teaching, that rigor must be
stripped from the Creative side.

Perhaps Gabriel's quandry (and indeed his vacillation between "worse is
better" and "better is better") is precisely this tension between the
Creative and Analytical sides that makes him the creative person he is.

> Is the ratio of good poets to poets really *that* much higher then the
> ratio of good programmers to programmers? :)  

Having been formally taught as a musician, I found that I did not
become a good musician until I found it within myself to break out
of the rules that are taught.  It was a painful experience, because
it went against everything I was taught...  But the whole concept of
"thinking outside the box" (another way to model Creative Thinking)
is based on two requirements:

 1. There must be a box to think outside of.

 2. There must be a way to get outside of the box.

Most of the teaching we receive is very good about setting up boxes,
and even those more enlightened teachers will show how creative
people in history broke out of their boxes, but many times they only
succeed in setting up new box walls just outside the perimeters.
(As an example, Music Harmony class teaches chord progressions and
counterpoint, and then shows examples of where great composers
used _and_ broke these rules.  However, heaven help the student who
dares break the rules themselves :-)

Perhaps moving the box walls instead of breaking out of the box is
a Good Thing, and the third requirement of Creative Thinking is
that it be coordinated with Analytical Thinking:

 3. There must be a way to move the box walls a little further each
    time.

It is the balance which moves things forward - Pure Analytical Thinking
is stifled, and Pure Creative Thinking is anarchistic, but when
combined they become a great force for progress.

I can't answer your question, though, since to do so I would have to
know how many Bad Poets and Bad Programmers there are :-)

-- 
Duane Rettig    ·····@franz.com    Franz Inc.  http://www.franz.com/
555 12th St., Suite 1450               http://www.555citycenter.com/
Oakland, Ca. 94607        Phone: (510) 452-2000; Fax: (510) 452-0182   
From: Raffael Cavallaro
Subject: Re: Discussion of Richard Gabriel on Slashdot
Date: 
Message-ID: <aeb7ff58.0212110704.73161f31@posting.google.com>
Duane Rettig <·····@franz.com> wrote in message news:<·············@beta.franz.com>...

> Perhaps Gabriel's quandry (and indeed his vacillation between "worse is
> better" and "better is better") is precisely this tension between the
> Creative and Analytical sides that makes him the creative person he is.
> 
> Perhaps moving the box walls instead of breaking out of the box is
> a Good Thing, and the third requirement of Creative Thinking is
> that it be coordinated with Analytical Thinking:
> 
>  3. There must be a way to move the box walls a little further each
>     time.
> 
> It is the balance which moves things forward - Pure Analytical Thinking
> is stifled, and Pure Creative Thinking is anarchistic, but when
> combined they become a great force for progress.
> 
> I can't answer your question, though, since to do so I would have to
> know how many Bad Poets and Bad Programmers there are :-)

I think this is a very insightful analysis. I would only add the
following:

We can't possibly know what it is that makes excellent poets excellent
as opposed to mediocre, or exceptionally creative programmers
creative. If we did, we'd be teaching it now, and everyone would have
these abilitites. Since everyone would have them, these abilities
would not be exceptional in any way.

To devise a systematic or algorithmic approach to anything necessarily
implies that one has a complete understanding of the problem domain
(here, poetry or programming.) But all of human history shows that
those who are truly exceptional discovered things about the problem
domain that were not known before, and which therefore could never
have been incorporated into any systematic tutelage of the problem
domain. The truly creative not only think outside the box as it is
generally recognized, they discover the box that the rest of us didn't
notice was there.
From: Tim Daly, Jr.
Subject: Re: Discussion of Richard Gabriel on Slashdot
Date: 
Message-ID: <87u1hpye4t.fsf@bob.intern>
Paolo Amoroso <·······@mclink.it> writes:

*snip*
> I would have expected from him a "worse is better" approach to programmer
> training, i.e. the current one. He seems to be suggesting a "right thing"
> one instead.


Not necessarily.  He is actually still not sure whether "worse is
better" or "right thing" is the right thing.  I quote (from
http://www.dreamsongs.com/WorseIsBetter.html ):

"You might think that by the year 2000 I would have settled what I
 think of worse is better - after over a decade of thinking and
 speaking about it, through periods of clarity and periods of muck,
 and through periods of multi-mindedness on the issues. But, at OOPSLA
 2000, I was scheduled to be on a panel entitled "Back to the Future:
 Is Worse (Still) Better?" And in preparation for this panel, the
 organizer, Martine Devos, asked me to write a position paper, which I
 did, called "Back to the Future: Is Worse (Still) Better?" In this
 short paper, I came out against worse is better. But a month or so
 later, I wrote a second one, called "Back to the Future: Worse
 (Still) is Better!" which was in favor of it. I still can't
 decide. Martine combined the two papers into the single position
 paper for the panel, and during the panel itself, run as a fishbowl,
 participants routinely shifted from the pro-worse-is-better side of
 the table to the anti-side. I sat in the audience, having lost my
 voice giving my Mob Software talk that morning, during which I said,
 "risk-taking and a willingness to open one's eyes to new
 possibilities and a rejection of worse-is-better make an environment
 where excellence is possible. Xenia invites the duende, which is
 battled daily because there is the possibility of failure in an
 aesthetic rather than merely a technical sense."

 Decide for yourselves."

I had to go through and replace the quotes in that quote; he must have
used MS software to create his page.  Case in point.

> By the way, I feel uneasy about his statement that "we should train
> developers the way we train creative people like poets and artists". It's
> the same old belief that artists are the most creative human beings.

I think that if poets and artists were actually particularly creative,
they'd manage to come off as something other than poets and artists,
and thereby actually earn a living whilst expressing themselves.
However, irrespective of the creativity of these people, most of their
education is probably inspired by the belief that they are, or must
be, very creative.  So you can probably see it another way.  Gabriel
is trying to extend the category 'Creative People' to include
programmers, so that we can finally get a worthwhile education.
Attacking the belief that poets and artists are the most creative
human beings would be counter to his purpose.

> Paolo

-Tim