Yet more VCAT ...
Vector 6:4, page 95
Transcribed from the printed issue; not yet reviewed. Read it in the PDF of the issue, page 95
Norman Thomson’s response (Vector Vol.6 No.3) to my Education Vector VCAT example does raise a couple of interesting points (not to mention Adrian’s timing tests!).
Firstly, I don’t know what a ‘modern didactic view’ is, but if we want to use some APL2, why not try a half-and-half approach (⎕IO←1):
Fairly obviously, this will handle scalars and vectors also. Norman’s approach means carrying two names for a simple job, and I really don’t like doing that. Working with a plethora of production workspaces, I try to keep to the absolute minimum the number of names that I might need to copy around.
A more serious point was raised in his first paragraph; namely should we introduce beginners (kids and grown-ups alike) to the APL2-type enhancements at an early stage (irrespective of ‘free’ software)? With a requirement in the near future to start training one or more graduates in APL, I have been pondering this question already, and personally I think not. A full grounding in APL1 is essential if the person is going to be maintaining existing code (as most professional programmers are likely to be doing at some time or other) and he or she must be able to recognise the older idioms too. To bring in the enhancements as well is, I think, a bit too much in the early stages.
The final point is raised by Adrian’s timing tests. There are times when good APL1 is needed for efficiency, so a thorough grounding is essential. One small example of this arose when I joined my present company last year. They have a standard utility written using many APL2 features for searching a workspace for occurrences of a character string. Unfortunately, response was poor at the time, and it was rather boring waiting for the result to show. I re-wrote the function with a few APL2 bits, and used a localised function for the individual object searches, leaving only one ‘each’. Result: about 25 times faster, and much less boring!
Peter Branson
EDS Ltd.