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

Reply via email to