Literature on Programming Languages

List mostly (and incompletely) gathered from Introduction to the Literature On Programming Language Design.

  Generalities
  • [Hoa80]
    C. A. R. Hoare. Hints on Programming Language Design. In Anthony I. Wasserman, editor, Tutorial Programming Language Design, pages 43-52. IEEE, October 1980.
  • [Wir74]
    Niklaus Wirth. On the Design of Programming Languages. In Information Processing 74, pages 386-393, New York, N.Y., 1974. North-Holland Publishing Co.
  • [Flo79]
    Robert W. Floyd. The Paradigms of Programming. Communications of the ACM, 22(8):455-460, August 1979.
  • [Ten77]
    R. D. Tennent. Language Design Methods Based on Semantics Principles. Acta Informatica, 8:97-112, 1977.
  • [Bac78a]
    John Backus. Can Programming Be Liberated from the von Neumann Style? A Functional Style and Its Algebra of Programs. Communications of the ACM, 21(8):613-641, August 1978.
  • [Flo75]
    Lawrence Flon. On Research in Structured Programming. ACM SIGPLAN Notices, 10(10):16-17, October 1975.
  • [SW80]
    Mary Shaw and William A. Wulf. Toward Relaxing Assumptions in Languages and Their Implementations. ACM SIGPLAN Notices, 15(3):45-61, March 1980.
  • [Fel90]
    Matthias Felleisen. On the Expressive Power of Programming Languages. In N. Jones, editor, ESOP '90 3rd European Symposium on Programming, Copenhagen, Denmark, volume 432 of Lecture Notes in Computer Science, pages 134-151. Springer-Verlag, New York, N.Y., May 1990.
  • [Mit91]
    John C. Mitchell. On Abstraction and the Expressive Power of Programming Languages. In Conference on Theoretical Aspects of Computer Software, Sendi, Japan, September 1991.
 
  Monads
  • [Mog90]
    Eugenio Moggi. An Abstract View of Programming Languages. Technical Report ECS-LFCS-90-113, Laboratory for Foundations of Computer Science, Department of Computer Science, University of Edinburgh, Edinburgh, EH9 3JZ, 1990.
  • [Wad92]
    Philip Wadler. The Essence of Functional Programming. In Conference Record of the Nineteenth Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, pages 1-14. ACM, January 1992.
  • [Wad97]
    Philip Wadler. How to Declare an Imperative. ACM Computing Surveys, 29(3):240-263, September 1997.
  • [Ste94]
    Guy L. Steele, Jr. Building Interpreters by Composing Monads. In Conference Record of POPL '94: 21st ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, Portland, Oregon, pages 472-492. ACM, January 1994.
  • [LHJ95]
    Sheng Liang, Paul Hudak, and Mark Jones. Monad Transformers and Modular Interpreters. In Conference Record of POPL '94: 21st ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, San Francisco, California, pages 333-343. ACM, January 1995.
  • [Mog91]
    Eugenio Moggi. Notions of Computation and Monads. Information and Computations, 93:55-92, 1991.
 
  Lambda Calculus
  • [Chu41]
    A. Church. The Calculi of Lambda Conversion, volume 6 of Annals of Mathematics Studies. Princeton University Press, Princeton, N.J., 1941. Reprinted by Klaus Reprint Corp., New York in 1965.
  • [Bar84]
    H. P. Barendregt. The Lambda Calculus: Its Syntax and Semantics. North-Holland Publishing Co., New York, N.Y., 1984. Revised Edition.
 
  Denotational Semantics
 
  Type Systems Background
 
  Polymorphism
  • [CW85]
    Luca Cardelli and Peter Wegner. On Understanding Types, Data Abstraction and Polymorphism. ACM Computing Surveys, 17(4):471-522, December 1985.
  • [Mit90b]
    John C. Mitchell. Type Systems for Programming Languages. In J. van Leeuwen, editor, Handbook of Theoretical Computer Science, volume B: Formal Methods and Semantics, chapter 8, pages 365-458. North-Holland, New York, N.Y., 1990.
  • [Rey74]
    J. C. Reynolds. Towards a Theory of Type Structure. In Programming Symposium, Proceedings, Colloque sur la Programmation, paris, April 1974, volume 19 of Lecture Notes in Computer Science, pages 408-425. Springer-Verlag, New York, N.Y., 1974.
 
  Type Inference
  • [Mil78]
    Robin Milner. A Theory of Type Polymorphism in Programming. Journal of Computer and Systems Sciences, 17(3):348-375, December 1978.
  • [Car87]
    Luca Cardelli. Basic Polymorphic Typechecking. Science of Computer Programming, 8(2):147-172, April 1987.
  • [HM95]
    My Hoang and John C. Mitchell. Lower Bounds on Type Inference with Subtypes. In Conference Record of POPL '95: 22nd Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, San Francisco, California, pages 176-185, New York, N.Y., January 1995. ACM.
  • [EST95]
    J. Eifrig, S. Smith, and V. Trifonov. Sound Polymorphic Type Inference for Objects. In OOPSLA '95 Conference Proceedings, volume 30(10) of ACM SIGPLAN Notices, pages 169-184, 1995.
  • [Nor99]
    Johan Nordlander. Pragmatic Subtyping in Polymorphic Languages. In Proceedings of the ACM SIGPLAN International Conference on Function Programming (ICFP '98), volume 34(1) of ACM SIGPLAN Notices, pages 216-227. ACM, June 1999.
  • [OSW99]
    Martin Odersky, Martin Sulzmann, and Martin Wehr. Type Inference with Constrained Types. Theory and Practice of Object Systems, 5(1):35-55, 1999.
  • [PT98]
    Benjamin C. Pierce and David N. Turner. Local Type Inference. In Conference Record of POPL '98: The 25th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, San Diego, California, pages 252-265, New York, N.Y., January 1998. ACM.
  • [PT00]
    Benjamin C. Pierce and David N. Turner. Local Type Inference. ACM Transactions on Programming Languages and Systems Volume 22 , Issue 1 (2000)
  • [Pot99]
    François Pottier. A Framework for Type Inference with Subtyping. In Proceedings of the ACM SIGPLAN International Conference on Functional Programming (ICFP '98), volume 34(1) of ACM SIGPLAN Notices, pages 228-238. ACM, June 1999.
 
  Data Abstraction and Types
  • [Coo91]
    William R. Cook. Object-Oriented Programming Versus Abstract Data Types. In J. W. de Bakker, W. P. de Roever, and G. Rozenberg, editors, Foundations of Object-Oriented Languages, REX School/Workshop, Noordwijkerhout, The Netherlands, May/June 1990, volume 489 of Lecture Notes in Computer Science, pages 151-178. Springer-Verlag, New York, N.Y., 1991.
  • [SWL77]
    Mary Shaw, William A. Wulf, and R. L. London. Abstraction and Verification in Alphard: Defining and Specifying Iteration and Generators. Communications of the ACM, 20(8):553-564, August 1977.
  • [SCB+86]
    Craig Schaffert, Topher Cooper, Bruce Bullis, Mike Kilian, and Carrie Wilpolt. An Introduction to Trellis/Owl. ACM SIGPLAN Notices, 21(11):9-16, November 1986. OOPSLA '86 Conference Proceedings, Norman Meyrowitz (editor), September 1986, Portland, Oregon.
  • [BHJL86]
    Andrew Black, Norman Hutchison, Eric Jul, and Henry Levy. Object Structure in the Emerald System. ACM SIGPLAN Notices, 21(11):78-86, November 1986. OOPSLA '86 Conference Proceedings, Norman Meyrowitz (editor), September 1986, Portland, Oregon.
  • [Car88a]
    Luca Cardelli. A Semantics of Multiple Inheritance. Information and Computation, 76(2/3):138-164, February/March 1988. A revised version of the paper that appeared in the 1984 Semantics of Data Types Symposium, LNCS 173, pages 51-66.
  • [Car88b]
    Luca Cardelli. Structural Subtyping and the Notion of Power Type. In Conference Record of the Fifteenth Annual ACM Symposium on Principles of Programming Languages, San Diego, California, pages 70-79. ACM, January, 1988.
  • [Car91]
    Luca Cardelli. Typeful Programming. In E. J. Neuhold and M. Paul, editors, Formal Description of Programming Concepts, IFIP State-of-the-Art Reports, pages 431-507. Springer-Verlag, New York, N.Y., 1991.
  • [AC96]
    Martín Abadi and Luca Cardelli. A Theory of Objects. Monographs in Computer Science. Springer-Verlag, New York, N.Y., 1996.
  • [Rey80]
    John C. Reynolds. Using Category Theory to Design Implicit Conversions and Generic Operators. In Neil D. Jones, editor, Semantics-Directed Compiler Generation, Proceedings of a Workshop, Aarhus, Denmark, volume 94 of Lecture Notes in Computer Science, pages 211-258. Springer-Verlag, January 1980.
  • [MC99]
    Todd Millstein and Craig Chambers. Modular Statically Typed Multimethods. In Rachid Guerraoui, editor, ECOOP '99 -- Object-Oriented Programming 13th European Conference, Lisbon, Portugal, volume 1628 of Lecture Notes in Computer Science, pages 279-303. Springer-Verlag, New York, N.Y., June 1999.
  • [BC97]
    John Boyland and Giuseppe Castagna. Parasitic Methods: Implementation of Multi-Methods for Java. In Conference Proceedings of OOPSLA '97, Atlanta, volume 32(10) of ACM SIGPLAN Notices, pages 66-76. ACM, October 1997.
  • [LM98]
    Gary T. Leavens and Todd D. Millstein. Multiple Dispatch as Dispatch on Tuples. In OOPSLA '98 Conference Proceedings, volume 33(10) of ACM SIGPLAN Notices, pages 374-387, October 1998.
  • [BCC+95]
    Kim B. Bruce, Luca Cardelli, Giuseppe Castagna, The Hopkins Object Group, Gary T. Leavens, and Benjamin Pierce. On Binary Methods. Theory and Practice of Object Systems, 1(3):221-242, 1995.
  • [Car97]
    Luca Cardelli. Program Fragments, Linking, and Modularization. In Conference Record of POPL '97: The 24th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, Paris, France, pages 266-277, New York, N.Y., January 1997. ACM.
 
  Functional Programming
 
  Logic Programming
 
  Other Declarative Programming Paradigms
 
  Object-Oriented Programming
  • [BGHS91]
    Gordon Blair, John Gallagher, David Hutchison, and Doug Shepherd, editors. Object-Oriented Languages, Systems, and Applications. Pitman Publishing, London, 1991. ISBN 0-273-03132-5.
  • [Boo91]
    Grady Booch. Object-Oriented Design: With Applications. Benjamin Cummings, New York, N.Y., 1991.
  • [Joh92]
    Ralph E. Johnson. Documenting Frameworks Using Patterns. ACM SIGPLAN Notices, 27(10):63-76, October 1992. OOPSLA '92 Proceedings, Andreas Paepcke (editor).
  • [GHJV95]
    Erich Gamma, Richard Helm, Ralph Johnson, and John Vlissides. Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley, Reading, Massachusetts, 1995.
  • [Sny86]
    Alan Snyder. Encapsulation and Inheritance in Object-Oriented Programming Languages. ACM SIGPLAN Notices, 21(11):38-45, November 1986. OOPSLA '86 Conference Proceedings, Norman Meyrowtiz (editor), September 1986, Portland, Oregon.
  • [Tai96]
    Antero Taivalsaari. On the Notion of Inheritance. ACM Computing Surveys, 28(3):438-479, September 1996.
  • [LW90]
    Gary T. Leavens and William E. Weihl. Reasoning About Object-Oriented Programs that Use Subtypes (extended abstract). In N. Meyrowitz, editor, OOPSLA ECOOP '90 Proceedings, volume 25(10) of ACM SIGPLAN Notices, pages 212-223. ACM, October 1990.
  • [Lea91b]
    Gary T. Leavens. Modular Specification and Verification of Object-Oriented Programs. IEEE Software, 8(4):72-80, July 1991.
  • [LW95]
    Gary T. Leavens and William E. Weihl. Specification and Verification of Object-Oriented Programs Using Supertype Abstraction. Acta Informatica, 32(8):705-778, November 1995.
  • [BW90b]
    Kim B. Bruce and Peter Wegner. An Algebraic Model of Subtype and Inheritance. In Francois Bançilhon, and Peter Buneman, editors, Advances in Database Programming Languages, pages 75-96. Addison-Wesley, Reading, Mass., August 1990.
  • [Ame87]
    Pierre America. Inheritance and Subtyping in a Parallel Object-Oriented Language. In Jean Bezivin et al., editors, ECOOP '87, European Conference on Object-Oriented Programming, Paris France, pages 234-242, New York, N.Y., June 1987. Springer-Verlag. Lecture Notes in Computer Science, Volume 276.
  • [AvdL90]
    Pierre America and Frank van der Linden. A Parallel Object-Oriented Language with Inheritance and Subtyping. ACM SIGPLAN Notices, 25(10):161-168, October 1990. OOPSLA ECOOP '90 Proceedings, N. Meyrowitz (editor).
  • [Mey88]
    Bertrand Meyer. Object-Oriented Software Construction. Prentice Hall, New York, N.Y., 1988.
  • [MOM90]
    Narciso Marti-Oliet and Jose Meseguer. Inclusions and Subtypes. Technical Report SRI-CSL-90-16, Computer Science Laboratory, SRI International, 333 Ravenswood Ave., Menlo Park, California, December 1990.
  • [Coo92]
    W. R. Cook. Interfaces and Specifications for the Smalltalk-80 Collection Classes. ACM SIGPLAN Notices, 27(10):1-15, October 1992. OOPSLA '92 Proceedings, Andreas Paepcke (editor).
  • [UR92]
    Mark Utting and Ken Robinson. Modular Reasoning in an Object-Oriented Refinement Calculus. In R. S. Bird, C. C. Morgan, and J. C. P. Woodcock, editors, Mathematics of Program Construction, Second International Conference, Oxford, U.K., June/July, volume 669 of Lecture Notes in Computer Science, pages 344-367. Springer-Verlag, New York, N.Y., 1992.
  • [LW94]
    Barbara Liskov and Jeannette Wing. A Behavioral Notion of Subtyping. ACM Transaction on Programming Langauges and Systems, 16(6):1811-1841, November 1994.
  • [Lie86]
    Henry Lieberman. Using Prototypical Objects to Implement Shared Behavior in Object-Oriented Systems. ACM SIGPLAN Notices, 21(11):214-223, November 1986. OOPSLA '86 Conference Proceedings, Norman Meyrowitz (editor), September 1986, Portland, Oregon.
  • [Mit90a]
    John C. Mitchell. Toward a Typed Foundation for Method Specialization and Inheritance. In Conference Record of the Seventeenth Annual ACM Symposium on Principles of Programming Languages, San Francisco, California, pages 109-124. ACM, January 1990.
  • [CHC90]
    William R. Cook, Walter L. Hill, and Peter S. Canning. Inheritance is Not Subtyping. In Conference Record of the Seventeenth Annual ACM Symposium on Principles of Programming Languages, San Francisco, California, pages 125-135, January 1990. Also STL-89-17, Software Technology Laboratory, Hewlett-Packard Laboratories, Palo Alto, California, July 1989.
 
  Language Case Studies
  • [Wex78]
    Richard L. Wexelblat, editor. Preprints -- History of Programming Languages Conference, Los Angeles, California. ACM, June 1978. ACM SIGPLAN Notices, Volume 13, Number 8, August 1978.
  • [Wex93]
    Richard L. Wexelblat, editor. ACM SIGPLAN History of Programming Languages Conference (HOPL II), Preprints, Cambridge, Massachusetts, USA. ACM, March 1993. ACM SIGPLAN Notices, Volume 28, Number 3.
  • [Hor87]
    Ellis Horowitz. Programming Languages: A Grand Tour (Third Edition). Computer Science Press, Rockville, Maryland, 1987.
  •   FORTRAN
  •   Algol 60
    • [NBB+63]
      Peter Naur, J. W. Backus, F. L. Bauer, J. Green, C. Katz, J. McCarthy, A. J. Perlis, H. Rutishauser, K. Samelson, B. Vauquois, J. H. Wegstein, A. van Wijngaarden, and M. Woodger. Revised Report on the Algorithmic Language ALGOL 60. Communications of the ACM, 1(17), January 1963.
    • [Knu67]
      Donald E. Knuth. The Remaining Trouble Spots in Algol 60. Communications of the ACM, 10(1):611-617, October 1967.
  •   Algol 68
    • [vWMP+77]
      A. van Wijngaarden, B. J. Mailloux, J. E. L. Peck, C. H. Koster, M. Sintzoff, C. H. Lindsey, L. G. L. T. Meertens, and R. G. Fisker. Revised Report on the Algorithmic Language ALGOL 68. ACM SIGPLAN Notices, 12(5):1-70, 1977. This has also been published by Springer-Verlag, New York, N. Y., and in Acta Informatica, volume 5, pages 1-236 (1975).
    • [Tan76]
      Andrew S. Tanenbaum. A Tutorial on Algol 68. ACM Computing Surveys, 8(2), June 1976.
  •   Algol W, Pascal, Modula-2, and Oberon
    • [Hab73]
      A. N. Habermann. Critical Comments on the Programming Language Pascal. Acta Informatica, 3(1):47-57, 1973.
    • [LD75]
      O. Lecarme and P. Desjardins. Reply to a paper by A. N. Habermann on the Programming Language Pascal. Acta Informatica, r(3):231-243, 1975. An earlier version appeared in ACM SIGPLAN Notices, October 1974.
    • [Wir75]
      Niklaus Wirth. An Assessment of the Programming Language Pascal. IEEE Transactions on Software Engineering, pages 192-198, June 1975.
    • [Wir85]
      Niklaus Wirth. Programming in Modula-2 (3rd corrected edition). Springer-Verlag, New York, N.Y., 1985.
    • [Wir88]
      Niklaus Wirth. Type Extensions. ACM Transactions on Programming Languages and Systems, 10(2):204-214, April 1988.
    • [CDJ+89]
      Luca Cardelli, Jim Donahue, Mick Jordan, Bill Kalsow, and Greg Nelson. The Modula-3 Type System. In Conference Record of the Sixteenth Annual ACM Symposium on Principles of Programming Languages, Austin, Texas, pages 202-212. ACM, January 1989.
  •   Euclid
    • [PHL+77]
      G. J. Popek, J. J. Horning, B. W. Lampson, J. G. Mitchell, and R. L. London. Notes on the Design of Euclid. ACM SIGPLAN Notices, 12(3):11-18, March 1977. Proceedings of an ACM Conference on Language Design for Reliable Software, Raliegh, North Carolina, March 1977.
  •   Java
  •   Lisp-like Languages
    • [WM80]
      Daniel Weinreb and David Moon. Flavors: Message Passing in the Lisp Machine. AI Memo 602, Massachusetts Institute of Technology, Artificial Intelligence Laboratory, November 1980.
    • [Kee89]
      Sonya E. Keene. Object-Oriented Programming in Common Lisp. Addison Wesley, Reading, Massachusetts, 1989.
    • [KdRB91]
      Gregor Kiczales, Jim des Rivieres, and Daniel G. Bobrow. The Art of the Metaobject Protocol. The MIT Press, Cambridge, Massachusetts, 1991.
    • [KLM+97]
      Gregor Kiczales, John Lamping, Anurag Menhdhekar, Chris Maeda, Cristina Lopes, Jean-Marc Loingtier, and John Irwin. Aspect-Oriented Programming. In Mehmet Aksit and Satoshi Matsuoka, editors, ECOOP '97 -- Object-Oriented Programming 11th European Conference, Jyväskylä, Finland, volume 1241 of Lecture Notes in Computer Science, pages 220-242. Springer-Verlag, New York, N.Y., June 1997.
  •   Snobol, SL5, and Icon
    • [GPP71]
      R. E. Griswold, J. F. Poage, and I. P. Polonsky. The SNOBOL4 Programming Language (second edition). Prentice-Hall, Inc., Englewood Cliffs, N.J., 1971.
    • [HG78]
      David R. Hanson and Ralph E. Griswold. The SL5 Procedure Mechanism. Communications of the ACM, 21(5):392-400, May 1978.
  •   APL
    • [Ive62]
      Kenneth E. Iverson. A Programming Language. John Wiley and Sons, New York, N.Y., 1962.
    • [Ive79]
      Kenneth E. Iverson. Operators. ACM Transactions on Programming Languages and Systems, 1(2):161-176, October 1979.
    • [Ive91]
      Kenneth E. Iverson. A Personal View of APL. IBM Systems Journal, 30(4):582-593, 1991.
    • [Bro88]
      James A. Brown. APL2 at a Glance. Prentice Hall, Englewood Cliffs, N.J., 1988.
 
  Parallel and Distributed Programming Languages
  • [WKH92]
    Barbara B. Wyatt, Krishna Kavi, and Steve Hufnagel. Parallelism in Object-Oriented Languages: A Survey. IEEE Software, 9(6):56-66, November 1992.
  • [Ack82]
    W. B. Ackerman. Data Flow Languages. Computer, 15(2):15-25, February 1982.
  • [ST95]
    David B. Skillicorn and Domenico Talia. Programming Languages for Parallel Processing. IEEE Computer Society Press, 1995.
  • [Agh91]
    Gul Agha. The Structure and Semantics of Actor Languages. In J. W. de Bakker, W. P. de Roever, and G. Rozenberg, editors, Foundations of Object-Oriented Languages, REX School/Workshop, Noordwijkerhout, The Netherlands, May/June 1990, volume 489 of Lecture Notes in Computer Science, pages 1-59. Springer-Verlag, New York, N.Y., 1991.
  • [Rep93]
    John H. Reppy. Concurrent Programming with Events -- The Concurrent ML Manual. Technical report, AT&T Bell Labs, February 1993. Available by anonymous ftp from research.att.com.
  • [HS86]
    W. Daniel Hillis and Guy L. Steele, Jr. Data Parallel Algorithms. Communications of the ACM, 29(12):1170-1183, December 1986.
  • [Gri93]
    Andrew S. Grimshaw. Easy-to-Use Object-Oriented Parallel Processing with Mentat. IEEE Computer, 26(5):39-51, May 1993.
  • [RL92]
    Martin C. Rinard and Monica S. Lam. Semantic Foundations of Jade. In Conference Record of the Nineteenth Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, pages 105-118. ACM, January 1992.
  • [RSL93]
    Martin C. Rinard, Daniel J. Scales, and Monica S. Lam. Jade: A High Level Machine Independent Language for Parallel Programming. Computer, 26(6):28-38, June 1993.
  • [HBJ98]
    Saniya Ben Hassan, Henri E. Bal, and Ceriel J. H. Jacobs. A Task- and Data-Parallel Programming Language Based on Shared Objects. ACM Transactions on Programming Languages and Systems, 20(6):1131-1170, November 1998.
  • [CC91]
    Roger S. Chin and Samuel T. Chanson. Distributed Object-Based Programming Systems. ACM Computing Surveys, 23(1):91-124, March 1991.
  • [LS83]
    Barbara Liskov and Robert Scheifler. Guardians and Actions: Linguistic Support for Robust, Distributed Programs. ACM Transactions on Programming Languages and Systems, 5(3):381-404, July 1983.
  • [Wei90]
    William E. Weihl. Linguistic Support for Atomic Data Types. ACM Transactions on Programming Languages and Systems, 12(2):178-202, April 1990.
  • [TvRvS+90]
    Andrew S. Tanenbaum, Robert van Renesse, Hans van Staveren, Gregory J. Sharp, Sape J. Mullender, Jack Jansen, and Guido van Rossum. Experiences with Amoeba Distributed Operating System. Communications of the ACM, 33(12):46-63, December 1990.
  • [TKB92]
    Andrew S. Tanenbaum, M. Frans Kaashoek, and Henri E. Bal. Parallel Programming Using Shared Objects and Broadcasting. Computer, 25(8):10-19, August 1992.
  • [Tho97a]
    Tommy Thorn. Programming Languages for Mobile Code. ACM Computing Surveys, 29(3):213-239, September 1997.
  • [Car95]
    Luca Cardelli. A Language with Distributed Scope. Computing Systems, 8(1):27-59, January 1995. A preliminary version appeared in POPL '95.
 
  The Future
  • [LLM89]
    Gary Lindstrom, Barbara Liskov, and David MacQueen. Critical Research Directions in Programming Languages. ACM SIGPLAN Notices, 24(11):10-25, November 1989.
  • [Gab93]
    Richard P. Gabriel. The End of History and the Last Programming Language. Journal of Object-Oriented Programming, 6(4):90-94, July 1993.