This paper (based on a keynote address presented at the SIGACT/SIGPLAN Symposium on Principles of Programming Languages, Boston, October 1-3, 1973) presents the view that a programming language is a tool which should assist the programmer in the most difficult aspects of his art, namely program design, documentation, and debugging. It discusses the objective criteria for evaluating a language design, and illustrates them by application to language features of both high level languages and machine code programming. It concludes with an annotated reading list, recommended for all intending language designers.
Cited By
- Jones C List of Tony Hoare’s Publications Theories of Programming, (395-410)
- Bjørnseth B, Meyer J and Natvig L Make software harder Proceedings of the 15th ACM International Conference on Computing Frontiers, (236-239)
- Swalens J, De Koster J and De Meuter W Chocola: integrating futures, actors, and transactions Proceedings of the 8th ACM SIGPLAN International Workshop on Programming Based on Actors, Agents, and Decentralized Control, (33-43)
- Pollok A and Klöckner A The use of Ockham's Razor in object-oriented modeling Proceedings of the 7th International Workshop on Equation-Based Object-Oriented Modeling Languages and Tools, (31-38)
- Homer M, Jones T, Noble J, Bruce K and Black A Graceful Dialects Proceedings of the 28th European Conference on ECOOP 2014 --- Object-Oriented Programming - Volume 8586, (131-156)
- Dimoulas C, Findler R and Felleisen M (2013). Option contracts, ACM SIGPLAN Notices, 48:10, (475-494), Online publication date: 12-Nov-2013.
- Dimoulas C, Findler R and Felleisen M Option contracts Proceedings of the 2013 ACM SIGPLAN international conference on Object oriented programming systems languages & applications, (475-494)
- Meyerovich L and Rabkin A Socio-PLT Proceedings of the ACM international symposium on New ideas, new paradigms, and reflections on programming and software, (39-54)
- Cooper S (2010). The Design of Alice, ACM Transactions on Computing Education, 10:4, (1-16), Online publication date: 1-Nov-2010.
- Black A, Bruce K and Noble J Panel Proceedings of the ACM international conference companion on Object oriented programming systems languages and applications companion, (201-204)
- Ungar D and Smith R Self Proceedings of the third ACM SIGPLAN conference on History of programming languages, (9-1-9-50)
- Murphy M (2006). Some suggestions for the use of tables in compilers, ACM SIGPLAN Notices, 41:2, (29-33), Online publication date: 1-Feb-2006.
- Bläser L A component language for structured parallel programming Proceedings of the 7th joint conference on Modular Programming Languages, (230-250)
- Odersky M (1998). Programming with variable functions, ACM SIGPLAN Notices, 34:1, (105-116), Online publication date: 1-Jan-1999.
- Odersky M Programming with variable functions Proceedings of the third ACM SIGPLAN international conference on Functional programming, (105-116)
- Jo C and George K Language concepts using dynamic and distributed objects Proceedings of the 19th annual conference on Computer Science, (211-220)
- Wasserman A The design of PLAIN Proceedings of the May 19-22, 1980, national computer conference, (731-740)
- Gries D and Gehani N (1977). Some ideas on data types in high-level languages, Communications of the ACM, 20:6, (414-420), Online publication date: 1-Jun-1977.
- Popek G, Horning J, Lampson B, Mitchell J and London R (1977). Notes on the design of Euclid, ACM SIGPLAN Notices, 12:3, (11-18), Online publication date: 1-Mar-1977.
- Popek G, Horning J, Lampson B, Mitchell J and London R (1977). Notes on the design of Euclid, ACM SIGOPS Operating Systems Review, 11:2, (11-18), Online publication date: 1-Apr-1977.
- Popek G, Horning J, Lampson B, Mitchell J and London R (1977). Notes on the design of Euclid, ACM SIGSOFT Software Engineering Notes, 2:2, (11-18), Online publication date: 1-Mar-1977.
- Popek G, Horning J, Lampson B, Mitchell J and London R Notes on the design of Euclid Proceedings of an ACM conference on Language design for reliable software, (11-18)
- Arisawa M (1977). Programming languages with hierarchical structure, ACM SIGPLAN Notices, 12:12, (36-38), Online publication date: 1-Dec-1977.
- Richard F and Ledgard H (1977). A reminder for language designers, ACM SIGPLAN Notices, 12:12, (73-82), Online publication date: 1-Dec-1977.
- Freiburghouse R (1977). Proposed extensions to PL/I for real-time applications, ACM SIGPLAN Notices, 12:7, (26-42), Online publication date: 1-Jul-1977.
- Lampson B, Horning J, London R, Mitchell J and Popek G (1977). Report on the programming language Euclid, ACM SIGPLAN Notices, 12:2, (1-79), Online publication date: 1-Feb-1977.
- Loveman D Program improvement by source to source transformation Proceedings of the 3rd ACM SIGACT-SIGPLAN symposium on Principles on programming languages, (140-152)
- Wasserman A and Sherertz D A balanced view of MUMPS Proceedings of the ACM SIGMINI/SIGPLAN interface meeting on Programming systems in the small processor environment, (16-26)
- Russell R Experience in the design, implementation and use of PL-11, a programming language for the PDP-11 Proceedings of the ACM SIGMINI/SIGPLAN interface meeting on Programming systems in the small processor environment, (27-34)
- Wasserman A and Sherertz D (1976). A balanced view of MUMPS, ACM SIGPLAN Notices, 11:4, (16-26), Online publication date: 1-Apr-1976.
- Russell R (1976). Experience in the design, implementation and use of PL-11, a programming language for the PDP-11, ACM SIGPLAN Notices, 11:4, (27-34), Online publication date: 1-Apr-1976.
- Zahn C Structured control in programming languages Proceedings of the May 19-22, 1975, national computer conference and exposition, (293-295)
- Wasserman A Issues in programming language design Proceedings of the May 19-22, 1975, national computer conference and exposition, (297-299)
- Oliver P COBOL '74 Proceedings of the May 19-22, 1975, national computer conference and exposition, (309-312)
- DeRemer F and Kron H (1975). Programming-in-the large versus programming-in-the-small, ACM SIGPLAN Notices, 10:6, (114-121), Online publication date: 1-Jun-1975.
- Reifer D (1975). Automated aids fob reliable software, ACM SIGPLAN Notices, 10:6, (131-142), Online publication date: 1-Jun-1975.
- Ligler G A mathematical approach to language design Proceedings of the 2nd ACM SIGACT-SIGPLAN symposium on Principles of programming languages, (41-53)
- DeRemer F and Kron H Programming-in-the large versus programming-in-the-small Proceedings of the international conference on Reliable software, (114-121)
- Reifer D Automated aids fob reliable software Proceedings of the international conference on Reliable software, (131-142)
- Zelkowitz M Third generation compiler design Proceedings of the 1975 annual conference, (253-258)
- Wasserman A (1975). Issues in programming language design, ACM SIGPLAN Notices, 10:7, (10-12), Online publication date: 1-Jul-1975.
- Zahn C (1975). Structured control in programming languages, ACM SIGPLAN Notices, 10:7, (13-15), Online publication date: 1-Jul-1975.
- Gannon J and Horning J The impact of language design on the production of reliable software Proceedings of the international conference on Reliable software, (10-22)
- Lecarme O and Desjardins P (1974). Reply to a paper by A. N. Habermann on the programming language Pascal, ACM SIGPLAN Notices, 9:10, (21-27), Online publication date: 1-Oct-1974.