I completely agree with Raul, but I believe that more of an explanation could be informative.
1. APL is an old language. Ken Iverson developed the basic concepts back in the 1950's and published in 1962. Also, the principal goal at the time was a new mathematical notation, NOT a software development tool; that came a bit later. The efficacy of APL, and now J is in this notation, which earned Ken his PhD. As to the control structures, check other languages of similar age; the main control commands at that time were stuff like GOTO and GOSUB. The branch function is actually more flexible than those arcane commands in Fortran and BASIC. The main problem with the old GOTO statement is the resultant generation of "spaghetti code" in which you must skip back and forth over many pages to follow the program logic, a nasty source of errors. In APL, with functions typically only a few lines long, following the branch is easy. 2 I would guess that the control structures now available in J, made originally in C, Pascal, and Algol, are in their nature multi line objects, and really at variance with the style of APL and J programming. Would I be wrong in guessing that for this reason such structures were avoided in Iverson Languages until relatively recently when their advantages were judged too great to be avoided on the basis of style? I'm a newbie at J, but I take severe exception with the Dijkstra criticisim of APL. Its value over traditional high level languages is a given. Its order of magnitude greater productivity is a fantastic asset. My principal criticism is that the marketing of APL, especially after the advent of the IBM PC and the Macintosh, was done so poorly. The software world is far worse off because of the unbelievably poor marketing jobs of companies like STSC and the like. The concept - taken from the Kevin Kostner movie, Field of Dreams, "If you build it they will come" has been proven untrue, and was known by anybody with an ounce of business savvy long before anyone heard of APL. The question is now whether or not the software world will recover. Either APL or J should be at the forefront of programming languages, rather than an exotic tool. Its merit is given and obvious. Bob in Boynton Beach, FL Raul Miller-4 wrote: > > On 11/5/07, metaperl.j <[EMAIL PROTECTED]> wrote: >> He seems to think it is a programming technique "of the past" --- what >> specifically is he referring to? > > I believe he disliked APL's right arrow (branch to line number > computed by expression on the left) and the absence of control > structures (if statements, while loops, that sort of thing). > > -- > Raul > ---------------------------------------------------------------------- > For information about J forums see http://www.jsoftware.com/forums.htm > > -- View this message in context: http://www.nabble.com/why-did-Dijkstra-dislike-APL-so-much--tf4754840s24193.html#a13618608 Sent from the J Chat mailing list archive at Nabble.com. ---------------------------------------------------------------------- For information about J forums see http://www.jsoftware.com/forums.htm
