Anyone reading comp.lang.apl these days could be forgiven for thinking APL is enjoying a revival. The boards are more active than they have been for a decade.
The vendors are doing nothing to discourage this view. The last year has seen a major release from MicroAPL and two from Dyalog. Both vendors now support native class-instance relations and Dyalog has made the jump to Unicode as its default encoding, breaking down a long-standing barrier between APL and the mainstream.
At the same time, Kx Systems’ and Dyalog’s new licensing regimes have seen hundreds of student and personal licences issued this winter and new users are appearing on the boards.
The J community has produced copious learning material over the years: labs and documentation installed with J, textbooks, and recently the superb J Wiki. This spring has seen publication of Jeffry Borror’s Q for Mortals, and he is rumoured to have started on its sequel, Q for Minor Deities. New users of the older APLs can only await the new textbook Dyalog has in preparation.
We face a need once more to explain what we do: what is special about it and what is it good for? The answers to these questions matter a great deal, because they determine how we should invest our scarce marketing and development resources.
Two schools emerge. Either or both answers could be right, but they indicate very different investments.
One school points to the larger opportunities available today to programs written in languages outside the mainstream. APL’s special skills can find employment in this world, encapsulated in Web Services, ActiveX controls, web applications and DLLs. What matters in this scenario is to be a team player and participate in a world of professional programming dominated by Visual Studio. This is the vision that drives Visual APL.
The other school points to APL’s established record of enabling non-professional programmers to exploit their domain expertise without the trouble of acquiring or hiring advanced programming skills. What matters in this scenario is providing tools that are both light enough for non-professionals and strong enough for commercial use. Dyalog’s native GUI classes, for example, aim at this: to provide enough tools for substantial applications, without requiring mastery of the deep arts of writing GUI. On this view, most APL programmers will always be amateur programmers. This is not to deny a role for professional APL programmers. Software that makes it out of the garage and into commercial use usually needs professional help to remain strong.
While we are waiting for time to tell which of these two courses proves profitable, we do well to respect both, and refrain from familiar grievances about how the technology never got its due. In this vein, we reprint Morten Kromberg’s post from comp.lang.apl and invite more discussion there, or in articles for Vector, on what the APL ‘proposition’ is.
Also in this issue: Adrian Smith’s reports of Paul Mansour’s productive and moot de luxe in San Quirico d’Orcia, and of the revived Minnowbrook conference series. Neville Holmes’ essay kicks off his series of articles about functional programming in J. We’re pleased to carry a review of APLX version 4 from Beau Webber, a ‘gentlemen amateur’ in the best sense, and Simon Marsden’s tutorial on using APLX’s new classes. Norman Thomson thinks about how J helps him think. Adrian Smith uses .Net’s “look, no database” dataset. Dan Baronet introduces script management tools for Dyalog. Keith Smillie finds a differential analyser made of Meccano and rebuils it in J. Lastly Reiter takes us hiking in the Adirondacks.
Next issue will feature Boss on partitions of numbers, Quario on polynomials, Adrian Smith on moving to Unicode, Richard Smith on the Rowan graphical session, Camacho on infinity, Thomson on complex arithmetic, and news of changes in our affiliation to the British Computer Society.