The Vienna Definition Language
ACM Computing Surveys (CSUR)
Structured Programming with go to Statements
ACM Computing Surveys (CSUR)
Symbolic execution and program testing
Communications of the ACM
The denotational semantics of programming languages
Communications of the ACM
Implementation of a structured English query language
Communications of the ACM
A technique for software module specification with examples
Communications of the ACM
A theory of discrete patterns and their implementation in SNOBOL4
Communications of the ACM
Communications of the ACM
Program development by stepwise refinement
Communications of the ACM
A relational model of data for large shared data banks
Communications of the ACM
Communications of the ACM
Letters to the editor: go to statement considered harmful
Communications of the ACM
An axiomatic basis for computer programming
Communications of the ACM
A language independent macro processor
Communications of the ACM
The remaining trouble spots in ALGOL 60
Communications of the ACM
EULER: a generalization of ALGOL and it formal definition: Part 1
Communications of the ACM
TRAC, a procedure-describing language for the reactive typewriter
Communications of the ACM
Flow diagrams, turing machines and languages with only two formation rules
Communications of the ACM
Syntax macros and extended translation
Communications of the ACM
Revised report on the algorithm language ALGOL 60
Communications of the ACM
Communications of the ACM
Macro instruction extensions of compiler languages
Communications of the ACM
Report on the algorithmic language ALGOL 60
Communications of the ACM
A Discipline of Programming
Basic Programming
APL: An Interactive Approach
The theory of parsing, translation, and compiling
The theory of parsing, translation, and compiling
Communications of the ACM
Operational semantics of programming languages
Proceedings of ACM conference on Proving assertions about programs
Embedding a relational data sublanguage in a general purpose programming language
Proceedings of the 1976 conference on Data : Abstraction, definition and structure
Specification techniques for data abstractions
Proceedings of the international conference on Reliable software
Automated aids fob reliable software
Proceedings of the international conference on Reliable software
Structured programming in a production programming environment
Proceedings of the international conference on Reliable software
SELECT—a formal system for testing and debugging programs by symbolic execution
Proceedings of the international conference on Reliable software
The purpose of concurrent Pascal
Proceedings of the international conference on Reliable software
Analysis of error processes in computer software
Proceedings of the international conference on Reliable software
Toward a theory of test data selection
Proceedings of the international conference on Reliable software
Testing for software reliability
Proceedings of the international conference on Reliable software
Proceedings of the international conference on Reliable software
A view of program verification
Proceedings of the international conference on Reliable software
Module interconnection in programming systems supporting abstraction.
Module interconnection in programming systems supporting abstraction.
The SNOBOL 4 programming language
The SNOBOL 4 programming language
Algol-60 Implementation
LISP 1.5 Programmer's Manual
An introduction to database systems (The Systems programming series)
An introduction to database systems (The Systems programming series)
Programming Languages, Information Structures, and Machine Organization.
Programming Languages, Information Structures, and Machine Organization.
Programming Languages: History and Fundamentals
Programming Languages: History and Fundamentals
Introduction to mathematical theory of computation
Introduction to mathematical theory of computation
A programming language
Data structure models for programming languages
ACM SIGPLAN Notices
The contour model of block structured processes
ACM SIGPLAN Notices
A data structure model of the B6700 computer system
ACM SIGPLAN Notices
Chapter I: Notes on structured programming
Structured programming
Chapter II: Notes on data structuring
Structured programming
Chapter III: Hierarchical program structures
Structured programming
A general purpose programming system for random access memories
AFIPS '64 (Fall, part I) Proceedings of the October 27-29, 1964, fall joint computer conference, part I
JOSS: a designer's view of an experimental on-line computing system
AFIPS '64 (Fall, part I) Proceedings of the October 27-29, 1964, fall joint computer conference, part I
AFIPS '75 Proceedings of the May 19-22, 1975, national computer conference and exposition
Parallel developments in programming languages and operating systems
Computer Languages
Hi-index | 14.98 |
The programming language field is certainly one of the most important subfields of computer science. It is rich in concepts, theories, and practical developments. The present paper attempts to trace the 25 year development of programming languages by means of a sequence of 30 milestones (languages and concepts) listed in more or less historical order. The first 13 milestones (M1-M13) are largely concerned with specific programming languages of the 1950's and 1960's such as Fortran, Algol 60, Cobol, Lisp, and Snobol 4. The next ten milestones (M14-M23) relate to concepts and theories in the programming language field such as formal language theory, language definition, program verification, semantics and abstraction. The remaining milestones (M24-M30) relate to the software engineering methodology of the 1970's and include a discussion of structured programming and the life cycle concept. This discussion of programming language development is far from complete and there are both practical developments such as special purpose languages and theoretical topics such as the lambda calculus which are not adequately covered. However, it is hoped that the discussion covers the principal concepts and languages in a reasonably nontrivial way and that it captures the sense of excitement and the enormous variety of activity that was characteristic of the programming language field during its first 25 years.