Alan Perlis: Difference between revisions

From APL Wiki
Jump to navigation Jump to search
m (People category)
m (change broken link to WP)
 
(5 intermediate revisions by 3 users not shown)
Line 1: Line 1:
{| class=wikitable style="float:right"
|{{quote | "A language that doesn't affect the way you think about programming, is not worth knowing."|Alan Perlis. [[wikipedia:Epigrams on Programming|Epigrams on Programming]].<ref>ACM. [[SIGAPL|SIGPLAN]] Notices Vol. 17, No. 9, September 1982, pages 7 - 13</ref>}}
|}
{{Also on Wikipedia|Perlis|Alan Perlis}}
{{Also on Wikipedia|Perlis|Alan Perlis}}


'''Alan Jay Perlis''' was an American computer science and [[wikipedia:Turing Award|Turing Award]] recipient known for pioneering work in early programming language design and development, in particular of [[wikipedia:ALGOL|ALGOL]]. He was an advocate of APL, and taught it in university courses.
'''Alan Jay Perlis''' was an American computer science and [[wikipedia:Turing Award|Turing Award]] recipient known for pioneering work in early programming language design and development, in particular of [[wikipedia:ALGOL|ALGOL]]. He was an advocate of APL, and taught it in university courses. His ''Introduction to computer science'' (1972, 1975) features APL besides Algol60 as one of the two programming languages for exposing programming.


Perlis was first introduced to APL at [[Ken Iverson]]'s 1963 talk on "Formalism in Programming languages", where he asked about executing APL on computers.<ref>Iverson, K.E. ''Formalism in Programming Languages'' ([https://www.jsoftware.com/papers/FPL.htm transcript])</ref> However, it was much later, after the implementation of APL on computers, that he became a devotee of APL. [[Edsger Dijkstra]] cited Perlis in this period as the main source for his exposure to APL (Dijkstra was never a fan of APL, and criticized it harshly).<ref name="interview2001">Misa, Thomas. [https://cacm.acm.org/magazines/2010/8/96632-an-interview-with-edsger-w-dijkstra/fulltext An Interview With Edsger W. Dijkstra]</ref>
Perlis was first introduced to APL at [[Ken Iverson]]'s 1963 talk on "Formalism in Programming languages", where he asked about executing APL on computers.<ref>Iverson, K.E. ''Formalism in Programming Languages'' ([https://www.jsoftware.com/papers/FPL.htm transcript])</ref> However, it was much later, after the implementation of APL on computers, that he became a devotee of APL. [[Edsger Dijkstra]] cited Perlis in this period as the main source for his exposure to APL (Dijkstra was never a fan of APL, and criticized it harshly).<ref name="interview2001">Misa, Thomas. [https://cacm.acm.org/magazines/2010/8/96632-an-interview-with-edsger-w-dijkstra/fulltext An Interview With Edsger W. Dijkstra]</ref>
Line 9: Line 12:
== Publications ==
== Publications ==


* 1974. "Steps Toward an APL Compiler", NSF report #24. ([https://archives.lib.umn.edu/repositories/3/archival_objects/16975 Information])
* 1974. ''Steps Toward an APL Compiler'', NSF report #24. ([https://archives.lib.umn.edu/repositories/3/archival_objects/16975 Information])
* 1977. "The APL Idiom List" ([https://cpsc.yale.edu/sites/default/files/files/tr87.pdf PDF]). With Spencer Rugaber.
* 1975. ''Introduction to computer science'', Harper & Row
* 1977. [https://doi.org/10.1145/586015.586019 ''In Praise of APL: A Language for Lyrical Programming''] ([http://www.jsoftware.com/papers/perlis77.htm web])
* 1977. [https://cpsc.yale.edu/sites/default/files/files/tr87.pdf ''The APL Idiom List''] (PDF). With Spencer Rugaber.
* 1978. ''Almost Perfect Artifacts Improve only in Small Ways: APL is more French than English'' ([http://www.jsoftware.com/papers/perlis78.htm web]) at [[APL78]].
* 1977. [http://www.jsoftware.com/papers/perlis77.htm ''In Praise of APL: A Language for Lyrical Programming''] ([https://doi.org/10.1145/586015.586019 DOI])
* 1979. [https://doi.org/10.1145/800136.804466 "Programming with idioms in APL"] at [[APL79]]. With Spencer Rugaber.
* 1978. [http://www.jsoftware.com/papers/perlis78.htm ''Almost Perfect Artifacts Improve only in Small Ways: APL is more French than English''] at [[APL78]].
* 1979. [https://doi.org/10.1145/800136.804474 "APL and LISP—should they be combined, and if so how?"] at [[APL79]]. With William H. Burge, Joel Moses, and Vaughan R. Pratt.
* 1979. [https://doi.org/10.1145/800136.804466 ''Programming with idioms in APL''] at [[APL79]]. With Spencer Rugaber.
* 1980. "Construction of APL processors" at [[APL80]].
* 1979. [https://doi.org/10.1145/800136.804474 ''APL and LISP—should they be combined, and if so how?''] at [[APL79]]. With William H. Burge, Joel Moses, and Vaughan R. Pratt.
* 1981. [https://doi.org/10.1145/800142.805369 "Is APL a programming language or isn’t it?"] at [[APL81]].
* 1980. ''Construction of APL processors'' at [[APL80]].
* 1981. [https://doi.org/10.1145/800142.805369 ''Is APL a programming language or isn’t it?''] at [[APL81]].
* 1983. [https://www.jsoftware.com/papers/APLQA.htm#Perlis-foreword Foreword] to ''APL: An Interactive Approach'', Third Edition, Wiley.
* 1983. [https://www.jsoftware.com/papers/APLQA.htm#Perlis-foreword Foreword] to ''APL: An Interactive Approach'', Third Edition, Wiley.
* 1986. [https://doi.org/10.1109/MS.1986.232431 ''FAC: A Functional APL Language'']. With Tu Hai-Chen.
* 1986. [https://doi.org/10.1109/MS.1986.232431 ''FAC: A Functional APL Language'']. With Tu Hai-Chen.


See also [https://archives.lib.umn.edu/repositories/3/archival_objects/16861 this listing] of Perlis's APL-related publications at the [[wikipedia:Charles Babbage Institute|Charles Babbage Institute]].
See also [https://archives.lib.umn.edu/repositories/3/archival_objects/16861 Perlis's APL-related publications] at the [[wikipedia:Charles Babbage Institute|Charles Babbage Institute]].


== Quotations ==
== Quotations ==
Line 32: Line 36:
{{quote|85. Though the Chinese should adore APL, it’s FORTRAN they put their money on.<ref>Alan Perlis, [http://www.cs.yale.edu/homes/perlis-alan/quotes.html ''Epigrams in Programming''], 1982-09</ref>}}
{{quote|85. Though the Chinese should adore APL, it’s FORTRAN they put their money on.<ref>Alan Perlis, [http://www.cs.yale.edu/homes/perlis-alan/quotes.html ''Epigrams in Programming''], 1982-09</ref>}}


{{quote|Some readers may question the use of Algol60 and APL as the programming languages in this text. Certainly they are neither the most popular nor the most advanced. They are, however, enormously influential in shaping trends, and an understanding of them makes the more popular and newer languages simpler to understand and master.<ref name="Introduction to computer science">Perlis, Alan. ''Introduction to computer science''. Harper & Row, 1975</ref>}}
== References ==
== References ==


<references />
<references />
{{APL community}}[[Category:People|Perlis]]
{{APL community}}{{DEFAULTSORT:Perlis}}[[Category:People]]

Latest revision as of 15:22, 11 April 2023

"A language that doesn't affect the way you think about programming, is not worth knowing."

Alan Perlis. Epigrams on Programming.[1]

This article is about Perlis's relationship with APL. For more complete information about Perlis, see Wikipedia.

Alan Jay Perlis was an American computer science and Turing Award recipient known for pioneering work in early programming language design and development, in particular of ALGOL. He was an advocate of APL, and taught it in university courses. His Introduction to computer science (1972, 1975) features APL besides Algol60 as one of the two programming languages for exposing programming.

Perlis was first introduced to APL at Ken Iverson's 1963 talk on "Formalism in Programming languages", where he asked about executing APL on computers.[2] However, it was much later, after the implementation of APL on computers, that he became a devotee of APL. Edsger Dijkstra cited Perlis in this period as the main source for his exposure to APL (Dijkstra was never a fan of APL, and criticized it harshly).[3]

In his paper FAC: A Functional APL Language[4], Perlis discussed infinite arrays and presented the iter operator, which produces from a function and an initial argument an infinite list of all the results obtained by iterating that function (as with the Power operator) on the argument. Eugene McDonnell cites Perlis and Hai-Chen Tu's definition of the dyadic iter operator as the inspiration for his definition of the dyadic Power operator.[5]

Publications

See also Perlis's APL-related publications at the Charles Babbage Institute.

Quotations

The large number of primitive functions, at first mind-numbing in their capabilities, quickly turn out to be easily mastered, soon almost all are used naturally in every program — the primitive functions form a harmonious and useful set.[6]

In APL, I find that to a far greater degree than any other language that I’ve used, I can make statements about the programs that I’m writing, in APL — actually not exactly APL, but APL with some nice little extensions that I dream up at the moment but would never think of implementing. But by and large, I find that the language allows me to express myself, in the language, about the things I’m dealing with. I find that a very precious property of a programming language.[7]

It is very difficult, believe me, to take someone who has been exposed to BASIC — and therefore believes that he now has the key — and teach him how to think in terms of APL; it’s just very difficult.[7]

85. Though the Chinese should adore APL, it’s FORTRAN they put their money on.[8]

Some readers may question the use of Algol60 and APL as the programming languages in this text. Certainly they are neither the most popular nor the most advanced. They are, however, enormously influential in shaping trends, and an understanding of them makes the more popular and newer languages simpler to understand and master.[9]

References

  1. ACM. SIGPLAN Notices Vol. 17, No. 9, September 1982, pages 7 - 13
  2. Iverson, K.E. Formalism in Programming Languages (transcript)
  3. Misa, Thomas. An Interview With Edsger W. Dijkstra
  4. Perlis, Alan. FAC: A Functional APL Language. 1986-01.
  5. McDonnell, Eugene. "An Extension to the Power Operator". APL Quote-Quad, Volume 18, Number 4, 1988-06.
  6. Perlis, Alan. In Praise of APL: A Language for Lyrical Programming
  7. 7.0 7.1 Perlis, Alan. Almost Perfect Artifacts Improve only in Small Ways: APL is more French than English
  8. Alan Perlis, Epigrams in Programming, 1982-09
  9. Perlis, Alan. Introduction to computer science. Harper & Row, 1975
APL community [edit]
Conferences and activities Advent of CodeAPL CampfireAPL CultivationAPL Meetup (Portuguese) ∙ APL ShowAPL Problem Solving CompetitionAPL ChallengeAPL QuestAPL SeedsArray CastBAA sessionsCode golfDyalog user meetingsDyalog webinarsIverson Award
Chat rooms and forums APL FarmAPL Orchard
User groups APL et J (France) ∙ APL Germany (terminology) ∙ APL ∊ BCN (Spain) ∙ BAA (UK) ∙ FinnAPL (Finland) ∙ SIGAPL (USA) ∙ Tokyo APL/J/K Meetup (Japan)
People Phil AbramsBrian BeckerBob BerneckyLarry BreedCharles BrennerJim BrownAdám BrudzewskyGitte ChristensenPeter DonnellyJohn EarnestAdin FalkoffGarth FosterLib GibsonAaron HsuRoger HuiKen IversonMorten KrombergDick LathwellMarshall LochbaumEugene McDonnellRoger MooreTrenchard MoreAlan PerlisHenry RichAl RoseJohn ScholesIan SharpBob SmithGeoff StreeterArthur Whitney
Other APL Quote QuadAPL WikiBlogsBooksCase studiesFamous APL usersHumourJobsMerchandisePapersPodcastsTryAPLTry It OnlineVideo channels