by Stefano Lanzavecchia
Lets 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
Theres 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 dont think so. Despite its many advantages which I wont 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...