Editorial: A Language for the Elite!
I have spent over ten years saying self-deprecatingly of APL "No, it’s not really very difficult. Anyone can do it who tries. Chinese looks worse but five-year-olds in China can manage it without difficulty." and similar anodyne things.
My recent attempts to explain J have made me realise that "APL is easy" just isn’t true. There is an industry-wide wish to sell all products on their ease of use. Most products are not easy to use - even the latest like Access. There is no easy way to specify algorithms. We have tried to sell APL on ease of use too. What we have been doing is to sell a micrometer as a ruler or a microscope as a magnifying glass. APL and J cannot be used properly by fools. They are not simple tools.
Why not try the other tack? We all know that the opposite is true. The APLers we admire are exceptionally intelligent people. The APL we abhor is written by plodders. Skill shows more in APL than in any other language. APL is used for the Board reports and so APLers have to be cleverer, more trustworthy and more tolerant of the Directors’ whims. Only the best people use APL. Most programmers in other languages cannot adapt to use it properly.
A good APL program nowadays processes a file at a time and an array at a time; the other languages process a record at a time or a value at a time. APLers think in parallel; other languages require their programmers to think in loops. APL programmers think of functions such as average or remove duplicates as a phrase; to other languages these are subroutines. APLers routinely use six-dimensional arrays; other languages rarely manage three dimensions. APLers have component files and (in nesting or boxing) the equivalent for arrays; other languages don’t have these constructs.
Since the quality of an APL system depends more on the design than on the coding, APLers have to have a wider range of skills than other DP professionals. There are no APL coders. All APLers are at least systems analysts as well as programmers. APL productivity can be ten or twenty times what is achievable in other languages but only one in ten programmers will ever be able to do APL.
Ability to program in APL at any level is a hint at excellence; being able to program well in APL is a sure sign of it.
APL is the language for the elite!
(webpage generated: 18 October 2006, 03:45)