There is a section from Perlis's *APL is more French than
English<http://www.jsoftware.com/papers/perlis78.htm>
* from 1978 that is relevant.  (You can substitute J for APL.)

A second precious property I’ve found, with respect to APL, is the term
that I’ve used in that little article that was printed in SIAM NEWS — the
word “lyrical”. I find that programming APL is fun. It’s charming. It’s
pleasant. I find that programming is no longer a chore, and one of the
reasons it’s not is the fact that there are always so many choices
available to me. Whereas, the people in structured programming tell me if
you put enough structure in programs, everybody in the room here will write
the same ALGOL program or PASCAL program. Thus, it’s going to be easier to
read — but also dull.

God made us all different. No two of our minds work exactly alike, and one
of the great powers of English is that those of us who learn to sharpen our
wits on it, and use it properly, can say things differently from other
people. And hence, it’s a pleasure to read English when it’s written by
someone who has that talent. The other day I was reading a newspaper, an
article by somebody in the arts who said if Shakespeare were alive today
he’d be writing for TV. And I said to myself when I read that, “Not so. If
Shakespeare were alive today, he’d be a programmer, and he’d be writing
one-liners in APL.”

If you take a problem, even a very simple one, and give it to a class of 50
people to program in APL, there’s a very good chance that you’re going to
get 35 to 40 different solutions. To some, that’s a horrible state of
affairs. To me it indicates the language really has some power to it, some
value; it’s just perfect for people, in a sense, to use who like to think
originally, if possibly poorly, about things. This variation, this choice
which is available, brings to APL programming almost what I would call a
literary quality, which I have not been able to find in any other
programming language. Now, people always say, “To hell with literary
quality, we’ve got to meet deadlines; we’ve got to run the program on a
computer. If you take 10 minutes instead of 7 minutes, that’s three minutes
of money that has to be paid” and so forth. That’s true, and I’m not saying
it’s not important. But what I am saying is that when one goes to program a
task in APL, at first blush, one has before oneself an enormous number of
alternatives — which is not bad, but good — out of which one can satisfy
any number of criteria, only one of which, I maintain, is machine
efficiency.



On Thu, Jan 5, 2012 at 3:31 AM, Linda Alvord <lindaalv...@verizon.net>wrote:

> Also
>
>   x=: 'the   better angels  of  our  nature'
>    dbx2=: 13 :'(-.''  ''E.y)#y'
>   dbx2
> ] #~ [: -. '  ' E. ]
>    dbx2 x
> the better angels of our nature
>    $dbx2 x
> 31
>
>   db2=: 13 :''' '',(dbx y),'' '''
>   db2
> ' ' , ' ' ,~ dbx
>   db2 x
>  the better angels of our nature
>    $db2 x
> 33
>
> J is so good at simplifying what I write!
>
> Linda
>
>
> -----Original Message-----
> From: programming-boun...@jsoftware.com
> [mailto:programming-boun...@jsoftware.com] On Behalf Of Roger Hui
> Sent: Wednesday, January 04, 2012 9:13 PM
> To: Programming forum
> Subject: Re: [Jprogramming] Faster deb
>
>   dbx=: #~ -.@('  '&E.)
>   db=: dbx&.(,&' ')&.(' '&,)
>
>   x=: 'the   better angels  of   our  nature'
>
>   '>',(db x),'<'
> >the better angels of our nature<
>   '>',(db ' ',x),'<'
> >the better angels of our nature<
>   '>',(db x,' '),'<'
> >the better angels of our nature<
>   '>',(db ' ',x,' '),'<'
> >the better angels of our nature<
>
>   '>',(db '     '),'<'
> ><
>   '>',(db ''),'<'
> ><
>
>
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

Reply via email to