On 5/19/2021 9:40 PM, Bob Smith wrote:
I met Larry in 1972 at STSC in Bethesda, MD after graduating high
school. He was one of a number of brilliant people there who inspired
me and helped me broaden myself both professionally and personally.
I remember there was a storage room containing office supplies and STSC
informational material, including bios on the senior staff there. One
was of Larry, containing a picture of a totally beardless and
short-haired Larry, looking (as I remember it) very, very young. I wish
I had saved that picture.
The following year when I was at college I wrote Larry a letter, which I
don’t have a copy of. Among other things, apparently I made a number of
suggestions about compiling APL, which although I wouldn’t have had the
first idea of how to implement, I would certainly have appreciated.
Larry mailed me back a hand-typed letter, which I do still have the
original of. I think his response is interesting.
It begins “This is a genuine offline letter -- the system’s been down
for several hours because of power failure, and I'm using the powerful,
flexible IBM 2741 in Local Concept Mode (or whatever IBM is calling it).
Note the low number of typos -- my specialty is ability to switch
finger-reflexes from APL to Courier to keypunch on short notice.” “Your
four ideas make sense (although deleting comment lines would probably
mess up programs written by people like [name deleted] who believe in
absolute line numbers) and could probably be incorporated in APL/360. I
suspect you haven't considered some of the problems with 'compilation',
though, whatever that means. (Back in the good old days I used to know,
but with APL I'm not so sure.) It sounds so straightforward to say ‘type
and rank must be known at compile time‘ -- but just what do we do with,
say, the argument and result, respectively, of FAPPEND and FREAD? Those
functions must be able to handle any APL quantity! Phil Abrams and I are
starting to consider seriously the problems of (ahem) efficient APL
execution; so far, it looks like whatever clever tricks we come up with
we'll need a full APL interpreter at run time, to fall back on when
compiled code fails us.”
Commenting on my major and extra-curricular activities, he approved and
said that they would “probably involve you in a far greater breadth of
activities than would computer-bumming. I am not enthusiastic about
computer science undergraduate majors; it just seems there must be more
significant things to be learning at that age. I know computers can be
lots of fun, but I also know that they're an unsurpassable temptation
for flunking German!”
Also apparently in my letter I reported that my first Fortran program
had compiled without errors and I was finding it all very interesting
(yes, I learned APL first, in high school, THEN learned Fortran and
assembly language. Boy did THAT make me appreciate APL even more.). I
love his response, particularly considering APLs longevity (today):
“Your comment on Fortran's acceptability is depressing … it merits
Twain's comparison to a dog walking on its hind legs. I earnestly hope
that your praise is motivated by, say, the understandable exhilaration
of getting your first program to actually run. No, this isn't my APL
chauvinism coming out -- it's more a belief that in a field developing
as rapidly as computer languages, a seventeen-year-old language just
can't be good. We've learned too much in the meantime.”
Goodbye, Larry. And thank you. Paul