Editorial: Profiting from Iversons Work
In our last issue we celebrated the life of Ken Iverson, without whom it seems unlikely that we should have anything resembling the APLs. Those of us who are still making a living with his tools, and the larger number who have done so, have a lot to thank him for.
We profit from his work in more ways than are marshalled into our Profit section.
We have news this issue from Kx Systems, whose K language exploits Iversons arrays-and-operators paradigm to provide short, fast analytical programs to performance- and data-hungry clients. In Finland the FinnAPL consultants continue to punch above their weight because APL spares their brains the unprofitable scut-work of writing loops. We have the news from their annual forest meeting earlier this year. And in New York the J User Group reports its proceedings from the Heartland Brewery.
At Project Euler (http://mathschallenge.net) members compete to solve mathematical programming problems. Competitors need both maths and programming savvy to succeed. There is a widely-held misapprehension that the APLs are not just good for mathematical applications, but good for little else. The results Graham Parkhouse reports from Project Euler do nothing to dispel this: the website describes APL/J/K as the language of choice for the highest-scoring users. You might not want to compete, but you can read his report and bask in the glory reflected from such illustrious company.
It was always Ken Iversons intention that maths teachers and their students should profit from his languages. Many have. Others have had the opportunity to use the Mathematica software, which draws on some but not all of his work. Some of our members say the overlap is strong enough that we should account Mathematica one of the APLs. In this issue Ian Clark reviews Mathematica 5.2. I invite your views: is Mathematica an APL we should report on here?
One of the more exciting developments this year is the release of Dyalog APL 11 with its support for class-instance inheritance, and we carry here the third and last of Morten Krombergs articles introducing OO to APLers. Objects are the dominant paradigm outside the APLs, and a common interface to operating-system resources. They also offer new ways to encapsulate and organise code. The blending of array and object operations opens new possibilities. In part we are guided by the experience the OO progammers have accumulated. In part we are breaking new ground and must find our own way.
Stefano Lanzavecchia has already used Dyalog 11 to build a lightweight web server, from which he reports good results. And over the summer Gilgamesh Athoraya and I have rebuilt much of the core of a pensions application using objects and Mortens Simple APL Library Toolkit to keep code in Unicode text files. OO APL is changing the way we write applications.
And the way we write about them. Dyalog 11 ships with an IME (input method editor) that gives other Windows applications access to the APL keyboard mapping. Ive spent the last week working on drafts of a new introduction to APL. Where once I was pleased to be able to cut and paste from the APL session into my documents, now Im delighted to be able to work in my usual text editor, font set to Adrian Smiths APL385 Unicode, typing APL expressions direct into the XML documents. Gimme the simple life!
Our Profit section as usual shows people using the APLs to get results in their fields. Cliff Reiter explores the maths and the beauty of Apollonian packing solutions for circles. Sylvia Camacho tackles questions raised by Gérard Langlet in an earlier Vector concerning chaos theory and computational precision.
Agile systems development remains one of the most important ways in which people profit from Iversons notation. With this in mind, I went this summer with Gitte Christensen and Morten Kromberg of Dyalog to XP2006 to talk to other programmers committed to agile development. There we found developers from other marginalised languages who recognised our stories of outstanding productivity and matched them with their own. We found common cause in our use of domain-specific notations constructed (or embedded) in the programming language, and are meeting in London this autumn to review the prospects for a separate track at XP2007, or a separate conference, or both.
We should have a report from this in the next issue. In the spirit of Christmas, 23:1 will be a bumper issue, with reports from both the Dyalog and APL2000 User conferences.