> (APL is a rather demonic language, isn't it?)
In more ways than one. His pitch fork U+2366 is there too.
You wonder why IBM had so much trouble selling its first PCs. The 5101 cost
more than $30K, came with one tape drive, plus 8K of memory and did not
support floppies. The two programming languages were Basic & APL. The
Basic was the original Basic which could not support character strings
longer than 18 bytes so you were left with APL.
In APL you tried to keep all variable names to 1-2 characters in length.
You tried to encode as much processing into a line of code as possible. All
APL operation were either monodatic or didactic so the meaning of the
operation would change depending on whether it has one or two operands.
Say you wanted to do a table lookup. APL has no string operations so you
are comparing a one dimensional character array against a two dimensional
character array. You use an outer product multiply function substituting
the multiply for a compare. This yields a three dimensional array of
true/false comparisons. You then compare rows of trues to produce a matrix
that is one dimensional less. When you have reduced the results to one
dimension you have a single row of true/false indicators corresponding to
the results of your table compare. This can be coded as a single line of
code read right to left.
I have spent more time figuring out what the code is doing than writing it
in the first place.
To make it even less comprehensible you often have the program construct
lines of code to execute, so the program builds its own executable code as
Now you know why the Apple-II did so well. Nobody wanted to touch the
Carl W. Brown
This archive was generated by hypermail 2.1.2 : Tue Jul 10 2001 - 17:21:20 EDT