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