ABSTRACT
Throughout history, every time a new idea has come along there have been many people quick to criticize it. As often as not, such criticism has come from detractors of the idea, and has been motivated by its threat to older, more established beliefs. The Biblical prophets, Socrates, Jesus, Copernicus, Galileo, Pasteur, Marx, Darwin, Stravinsky, and countless others, all experienced resistance to their ideas for essentially emotional rather than intellectual reasons.
From its early days as “Iverson Notation” through its more recent development, APL has been the target of heated discussion. This paper is a criticism of APL, but I believe, different from others. I am not a detractor of APL; in fact, I have been a supporter, developer, and promoter of the language for quite some time. Therefore, the intention of this review is not to suggest that since APL has faults it is worthless. To the contrary, I hope that these comments will lead to further improvements of APL and perhaps suggest some of the directions to consider in the development of its successors.
This paper could not have been written much earlier. It is because APL has come of age, both in the theoretical domain and in the commercial world, that it is possible to look at it publicly with a critical eye.
The discussion that follows is written for the APL community, present and future. My wish is that APL “believers” will accept this analysis in the constructive spirit in which it is offered, and that those who still do not appreciate the beauty, elegance, and practical power of APL will not take these comments out of the context in which they are presented.
- 1.P. S. Abrams, An Interpreter for "Iverson Notation", Tech. Rept. CS47, Computer Science Dept., Stanford University (1966) Google ScholarDigital Library
- 2.P. S. Abrams, An APL Machine, Ph.D. Dissertation, Stanford University (1970) Google ScholarDigital Library
- 3.P. S. Abrams, "Program Writing, Rewriting, and Style", APL Congress 73 (1973) 1-8Google Scholar
- 4.J. A. Brown, A Generalization of APL, Ph.D. Dissertation, Syracuse University (1971)Google Scholar
- 5.O.-J. Dahl, E. W. Dijkstra, and C. A. R. Hoare, Structured Programming, London: Academic Press (1972) Google ScholarDigital Library
- 6.E. W. Dijkstra, "The Humble Programmer", Communications of the ACM, 15, 10 (October 1972) 859-866 Google ScholarDigital Library
- 7.E. M. Edwards, "Generalized Arrays (Lists) in APL", APL Congress 73 (1973) 99-105Google Scholar
- 8.A. D. Falkoff and K. E. Iverson, APLSV User's Manual, Philadelphia: IBM 1973Google Scholar
- 9.S. L. Gerhart, Verification of APL Programs, Ph.D. Dissertation, Carnegie-Mellon University (1972) Google ScholarDigital Library
- 10.Z. Ghandour and J. E. Mezei, "General Arrays, Operators and Functions", IBM Journal of Research and Development, 17, 4 (July 1973) 335-352Google ScholarDigital Library
- 11.L. Gilman and A. J. Rose, APL - An Interactive Approach, New York: John Wiley & Sons, Inc. (1974) Google ScholarDigital Library
- 12.P. Gjerløv, H. J. Helms, and J. Nielsen, APL Congress 73, Amsterdam: North-Holland Publishing Co. (1973)Google Scholar
- 13.L. R. Harris, "A Logical Control Structure for APL", APL Congress 73 (1973) 203-210Google Scholar
- 14.K. E. Iverson, A Programming Language, New York: John Wiley & Sons, Inc. (1962) Google ScholarDigital Library
- 15.K. E. Iverson, Elementary Functions: An Algorithmic Approach, Chicago: Science Research Associates, Inc. (1966)Google Scholar
- 16.R. A. Kelley, "APLGOL, An Experimental Structured Programming Language", IBM Journal of Research and Development, 17, 1 (January 1973) 69-73Google ScholarDigital Library
- 17.R.H. Lathwell, and J. E. Mezei, "A Formal Description of APL", Colloque APL, Paris: IRIA (1971)Google Scholar
- 18.D. McCracken, "Whither APL", Datamation, 16, 11 (15 September 1970) 53-55Google Scholar
- 19.E. E. McDonnell, "Complex Floor", APL Congress 73, (1973) 299-305Google Scholar
- 20.T. More Jr., "Axioms and Theorems for a Theory of Arrays", IBM Journal of Research and Development, 17, 2 (March 1973) 135-175Google Scholar
- 21.R. C. Murray, "On Tree Structure Extensions to the APL Language", APL Congress 73, (1973) 333-338Google Scholar
- 22.T. H. Puckett, "Improved Security in APL Application Packages", Proceedings of the Sixth International APL Users' Conference, Coast Community College District (1974) 438-441 Google ScholarDigital Library
- 23.A. J. Rose, "More About Multi-Adic Functions", APL Quote Quad, 2, 6 (March 1971) 3-4Google Scholar
- 24.L. Ryan, "Secure Applications Within an APL Environment", APL Congress 73 (1973) 407-414Google Scholar
Index Terms
- What's wrong with APL?
Recommendations
Is it distinctively wrong to simulate doing wrong?
This paper is concerned with whether there is a moral difference between simulating wrongdoing and consuming non-simulatory representations of wrongdoing. I argue that simulating wrongdoing is (as such) a pro tanto wrong whose wrongness does not tarnish ...
Style and literacy in APL
… then the strut changed to the restless walk of a caged madman, then he whirled, and to a clash of cymbals in the orchestra and a cry of terror (perhaps faked) in the gallery, Mascodagama turned over in the air and stood on his head. —Nabokov, Ada “See ...
Defining APL community: case studies, towards a revival of APL community
APL '00: Proceedings of the international conference on APL-Berlin-2000 conferenceI have been attending APL conferences for just under a quarter century now, and the one theme that runs through many conversations at all of them is how "APL is dying". Between conferences, I hear this time and time again, usually most loudly from ...
Comments