Current issue

Vol.26 No.4

Vol.26 No.4


© 1984-2024
British APL Association
All rights reserved.

Archive articles posted online on request: ask the archivist.


Volume 14, No.4


by Stefano Lanzavecchia

Let’s play with the world

Not just an invitation. More than a hope. With the same spirit of kids wondering about everything they see. Going back to the joy of a knowledge without reason, to the humility of a sailor who challenges the sea and respect it because he knows that it is bigger than he is. So that one can recognise himself in what he has built, in the words and in the smiling look of others. In harmony with the music of the atoms and of the celestestial spheres.

Stefano M. L. Lanzavecchia, December 1994

Like the ghost inside the atom
That spins it round and round
There’s magic in some words
Something you can’t explain
That conjures up that feeling
Of the sun inside the rain


Lost in the research of the perfect language (Assembler, J or Java?), of the ideal algorithm, of the elegance, too often we forget that behind the seriousness of our job there is still the same game we began when we were children. I was slightly more than a child when I played with my first APL interpreter. A bit later I browsed my first issue of Vector: the happy combination of intelligent humour and competence impressed me. Then, in the dreams of a child, the legend of APL took the shape of a world inhabited by smiling and powerful people, like the wizards of the fairy tales. Only two years ago I shook hands with one of these anonymous names, exchanged a smile and finally associated a face to the signature under the title of an article. To my pleasure I’ve discovered that the person did not betray the enchanted souvenirs of the kid. Many more encounters followed the first one but unfortunately I haven’t always found that same joie de vivre.

And, after all, is APL the perfect language? I don’t think so. Despite its many advantages which I won’t repeat here, and despite the fact that the class of problems that can be solved quickly, efficiently and elegantly in APL is very large, equally large is the class of the applications where the use of APL and friends would be a mistake. It is clearer and clearer that a developer who enters the 21st century ought to master techniques which are very often incompatible with the array-oriented interpreters available nowadays. I don’t believe in the existence of the perfect language: I believe instead that, given a problem, there exists the ideal language for its solution. The more languages one knows, the less effort one will have to make in order to deliver a product which works and is easily maintainable. Often, the time spent in the update of one’s knowledge is more than repaid by the flexibility gained.

In the end, a kid who can only play with spade (maybe I should have said, quoting Ian Sharp, “a single bladed knife”) is not a great playmate...

script began 6:40:54
caching off
debug mode off
cache time 3600 sec
indmtime not found in cache
cached index is fresh
recompiling index.xml
index compiled in 0.1887 secs
read index
read issues/index.xml
identified 26 volumes, 101 issues
array (
  'id' => '10013850',
regenerated static HTML
article source is 'HTML'
source file encoding is ''
read as 'Windows-1252'
completed in 0.2261 secs