1. Trang chủ
  2. » Công Nghệ Thông Tin

history of programming languages

875 2K 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Cấu trúc

  • Contents

  • Editors' Introduction

  • General Introduction

  • Development of the HOPL-II Program

    • MEMBERS OF PROGRAM COMMITTEE

    • APPROACH TO CREATING THE PROGRAM

      • Invited Speakers,

      • Guidance to Authors and Paper Submission

      • Program Review Committees

      • Paper Selection

      • Guidance to Authors on Historiography

      • Language Experts

      • Language Descriptions

      • Reasons for Some Language Absences

    • FORUM ON THE! HISTORY OF COMPUTING

    • PERSONAL COMMENT

    • CONCLUSION

  • p1-lee

  • Acknowledgements

  • The Opening Session

    • CONFERENCE CHAIRMAN'S OPENING REMARKS

    • INTRODUCTION OF FREDERICK P. BROOKS, JR.

    • KEYNOTE ADDRESS: LANGUAGE DESIGN AS DESIGN

    • FROM HOPL TO HOPL-II (1978-1993):15 Years of Programming Language Development

    • INTRODUCTION OF MICHAEL S. MAHONEY

    • MAKING HISTORY

  • ALGOL 68 Session

    • A HISTORY OF ALGOL 68

      • INTRODUCTION

        • The Political Background

        • Historical Outline

        • Some Conventions

        • Layout of the Rest of This Paper

      • HISTORY OF THE ORIGINAL ALGOL 68 REPORT

        • Dramatis Personae

        • Princeton (May 1965)

        • St. Pierre de Chartreuse (October 1965)

        • Kootwijk (April 1966)

        • Warsaw (October 1966)

        • Zandvoort (May 1967)

        • MR 93

        • Tirrenia (June 1968)

        • North Be~rwick (August 1968)

        • Munich (December 1968)

        • Banff (September 1969)

        • So What Had Gone Wrong?

        • The Editorial Team

      • THE CONCEPTS OF ALGOL 68

        • The Easy Bits

        • Coercion

          • Widening

          • Dereferencing

          • Deproceduring

          • Uniting

          • Rowing

          • Proceduring

          • Hipping

          • Voiding

        • The Type System (or Records, References, and Orthogonality)

          • Parameter Passing

          • Records

          • Orthogonality vs Diagonality

          • The Bend

          • Variable-declarations

          • Unions

          • Type Equivalence

        • Procedures

        • Overloading

        • Labels and Switches

        • Parallel and Collateral

        • Transput

      • HISTORY OF THE REVISED ALGOL 68 REPORT

        • Dramatis Personae

        • Improvements

          • Habay-la-Neuve to Fontainebleau

          • Maintenance and Improvements

          • Data processing and Transput

        • Revision

          • Vancouver (July 1972)

          • Vienna (September 1972)

          • Revision by Mail

          • Edmonton (July 1973)

        • The Aftermath

          • Cambridge (April 1974)

          • Typesetting

        • Postscript

      • THE METHOD OF DESCRIPTION

        • Syntax

          • W-Grammars

          • Predicates

          • Context Conditions vs NESTs

          • Infinite Modes

        • The Semantic Model

        • The Semantics

        • Standard-prelude

          • Extensions

          • Transput

        • Style

      • THE MAINTENANCE PHASE

        • Enhancements

          • The Sublanguage

          • The Standard Hardware Representation

          • TUM-10

          • Partial Parametrization

          • Modules and Separate Compilation

          • TORRIX

          • The MC Test Set

        • Problems

          • Language Problems

          • Transput Problems

      • IMPLEMENTATIONS

        • The Early Implementations

        • Implementations of the Revised Language

        • Full Implementations

        • Partial Implementations

      • CONCLUSION

        • Whatever Happened to ALGOL 68?

        • Whatever Have We Learned from ALGOL 68?

      • ACKNOWLEDGMENTS

      • REFERENCES

      • APPENDIX A: THE COVERING LETTER

      • APPENDIX B: THE MINORITY REPORT

    • TRANSCRIPT OF PRESENTATION

    • TRANSCRIPT OF QUESTION AND ANSWER SESSION

    • BIOGRAPHY OF C. H. LINDSEY

  • Pascal Session

    • RECOLLECTIONS ABOUT THE DEVELOPMENT OF PASCAL

      • EARLY HISTORY

      • THE LANGUAGE

      • LATER DEVELOPMENTS

      • IN RETROSPECT

      • ACKNOWLEDGMENTS

      • REFERENCES

    • TRANSCRIPT OF DISSCUSSANT'S REMARKS

    • TRANSCRIPT OF QUESTION AND ANSWER SESSION

  • Monitors and Concurrent Pascal Session

    • MONITORS AND CONCURRENT PASCAL: A PERSONAL HISTORY

      • A PROGRAMMING REVOLUTION

      • MONITORS

        • Beginner's Luck

        • A Beautiful Idea

        • Readers and Writers

        • A New Paradigm

        • Abandoned Attempts

        • The Waiting Game

        • A Moment of Truth

        • Parallel Discovery

        • Milestones

      • CONCURRENT PASCAL

        • A Matter of Philosophy

        • Facing Complexity

        • A New Language

        • The Translation Problem

        • The Art of Compromise

        • Learning to Prog=ram Again

        • The End of the Beginning

        • Feedback

      • FURTHER DEVELOPMENT

        • Moving a Language

        • The Limits of Design

        • Evolution of an Idea

        • Spreading the Word

      • IN RETROSPECT

        • The Neglected Problems

        • The Discomfort of Complexity

        • Inventing the Future

      • ACKNOWLEDGMENTS

      • APPENDIX: REVIEWERS' COMMENTS

      • REFERENCES

    • TRANSCRIPT OF PRESENTATION

    • TRANSCRIPT OF QUESTION AND ANSWER SESSION

    • BIOGRAPHY OF PER BRINCH HANSEN

  • Ada Session

    • ADA—THE PROJECT: The DoD High Order Language Working Group

      • INTRODUCTION

      • BACKGROUND

        • Justification

        • Coordinating Committees

      • HOLWG

        • Requirements

        • Foreign Relations

        • Administrative Action

        • Evaluations

      • LANGUAGE DESIGN

        • Phase I

        • Phase II

        • The Name

        • Test and Evaluation

        • Phase III

      • LANGUAGE CONTROL

        • Ada JPO

        • Environment

        • SIGAda

      • BEYOND THE LANGUAGE

      • EXPECTATIONS

        • Realized

        • Denied

      • WRAP UP

      • ACKNOWLEDGMENTS

      • REFERENCES

    • TRANSCRIPT OF DISCUSSANT'S REMARKS

    • BIOGRAPHY OF WILLIAM A. WHITAKER, Col. USAF, Ret.

  • Lisp Session

    • THE EVOLUTION OF LISP

      • INTRODUCTION

      • IMPLEMENTATION PROJECTS CHRONOLOGY

        • From Lisp 1.5 to PDP-6 Lisp: 1960-1965

        • MacLisp

          • Early MacLisp

          • Later MacLisp

        • Interlisp

        • The Early 1970s

        • The Demise of the PDP-IO

        • Lisp Machines

          • MIT Lisp Machines: 1974-1978

          • Xerox Lisp Machines: 1973-1980

          • Comments on Early Lisp Machine History

        • IBM Lisps: Lisp360 and Lisp370

        • Scheme: 1975-1980

        • Prelude to Common Lisp: 1980-1984

        • Early Common Lisp

          • Out of the Chaos of MacLisp

          • Early Rumblings

          • The Critique of Common Lisp

        • Other Lisp Dialects: 1980-1984

          • Lisp Dialects on Stock Hardware

          • Zetalisp

          • Early Lisp Machine Companies

          • MacLisp on the Decline

        • Standards Development: 1984-1992

          • Common Lisp Companies

          • Big Companies with Their Own Lisps

          • DARPA and the SAIL Mailing Lists

          • The Start of ANSI Technical Committee X3J13

      • EVOLUTION OF SOME SPECIFIC LANGUAGE FEATURES

        • The Treatment of NIL (and T)

        • Iteration

        • Macros

        • Numerical Facilities

        • Some Notable Failures

          • Algol-Style Syntax

          • Generalized Multiple Values

          • Logic Programming and Unification

      • LISP AS A LANGUAGE LABORATORY

      • WHY LISP IS DIVERSE

        • Its theoretical foundations

        • Its expressiveness

        • Its malleability

        • Its interactive and incremental nature

        • Its operating system facilities

        • Its people

      • REFERENCES

    • TRANSCRIPT OF PRESENTATION

    • TRANSCRIPT OF DISCUSSANT'S REMARKS

    • TRANSCRIPT OF QUESTION AND ANSWER SESSION

    • BIOGRAPHY OF GUY L. STEELE JR.

    • BIOGRAPHY OF RICHARD P. GABRIEL

  • Prolog Session

    • THE BIRTH OF PROLOG

      • INTRODUCTION

      • PART I. THE HISTORY

        • 1971:The First Steps

        • 1972: The Application that Created Prolog

        • 1973: The Final Prolog

        • 1974 and 1975: The Distribution of Prolog

      • PART II. A FORERUNNER OF PROLOG, THE Q-SYSTEMS

        • One-Way Unification

        • Rule Application Strategy

        • Implementation

      • PART Ill.THE PRELIMINARY PROLOG

        • Reasons for the Choice of Resolution Method

        • Characteristics of the Preliminary Prolog

        • Implementation of the Preliminary Prolog

      • PART IV. THE FINAL PROLOG

        • Resolution Strategy

        • Syntax and Primitives

        • A Programming Example

        • Implementation of the Interpreter

      • CONCLUSION

      • ACKNOWLEDGMENTS

      • BIBLIOGRAPHY

    • TRANSCRIPT OF PRESENTATION

    • TRANSCRIPT OF DISCUSSANT'S REMARKS

    • TRANSCRIPT OF QUESTION AND ANSWER SESSION

    • BIOGRAPHY OF ALAIN COLMERAUER

    • BIOGRAPHY OF PHILIPPE ROUSSEL

  • Discrete Event Simulation Languages Session

    • A HISTORY OF DISCRETE EVENT SIMULATIONPROGRAMMING LANGUAGES

      • INTRODUCTION

        • Computer Simulation

          • Taxonomy and Terminology

          • Language Requirements for Discrete Event Simulation

          • Conceptual Frameworks for Discrete Event Modeling

        • Historical Approach

      • THE PERIOD OF SEARCH (195,5.-1960)

      • THE ADVENT (1961-1965)

        • GPSS

        • SIMULA I

        • SIMSCRIPT

          • Background

          • Rationale for Language Content

        • CSL

          • Background

          • Rationale for Language Content

        • GASP

          • Background

          • Rationale for Language Content

        • OPS-3

          • Background

          • Rationale for Language Content

        • DYNAMO

          • Background

          • Rationale for Language Content

        • Other Languages

        • Language Comparisons

      • THE FORMATIVE PERIOD (1966-1970)

        • GPSS

        • SIMULA 67

        • SIMSCRIPT II

          • Background

          • Rationale for Language Content

          • Variants

        • ECSL

        • GASP II

        • OPS-4

        • Other Languages

      • THE EXPANSION PERIOD (1971-1978)

        • GPSS

          • GPSS/NORDEN and NGPSS

          • GPSS V/6000

          • GPDS and GPSS 1100

          • GPSS/H

        • SIMULA 67

        • SIMSCRIPT

        • GASP

          • GASP IV

          • GASP_PL/I

        • Program Generators

        • Other Languages

          • The PL/I Branch

          • The Pritsker Family

          • Interactive Simulation Languages

      • CONSOLIDATION AND REGENERATION (1979–1986)

        • Consolidation

        • SLAM AND SLAM II

          • Background

          • Rationale for Language Content

          • Language Design and Definition

          • Nontechnical Influences

        • SIMAN

          • Background

          • Rationale for Language Content

        • The PASCAL Packages

        • Other Languages

      • CONCLUDING SUMMARY

      • ACKNOWLEDGMENTS

      • REFERENCES

    • TRANSCRIPT OF PRESENTATION

    • TRANSCRIPT OF QUESTION AND ANSWER SESSION

      • REFERENCES (for Questions and Answers)

    • BIOGRAPHY OF RICHARD E. NANCE

  • FORMAC Session

    • THE BEGINNING AND DEVELOPMENT OF FORMAC (FORmula MAnipulation Compiler)

      • INTRODUCTION

      • PROJECT PLANNING AND ORGANIZATION

        • Initial Activity in IBM

        • Early Thoughts

        • Initial Project Description

        • Constant Need for Justification

        • Start of Work

        • Consultant and Joint Study Agreement

        • Project Personnel and Operation

        • Planned Schedules and Costs

        • Desk Calculator Version

        • Publications and Lectures

      • OTHER EARLY LANGUAGES AND SYSTEMS

        • ALGY

        • Other Systems (Not Languages)

        • Other (Later) Languages

        • FORMAC Not Influenced by Other Languages

        • Involvement with LISP

      • RATIONALE FOR THE CONTENT OF THE LANGUAGE

        • Fundamental Concepts

        • Key Elements of the FORMAC Language

        • Other Language Issues

          • General

          • Simplification

          • Rational Arithmetic

          • Effect of the Implementation on Language Design

      • THE PL/I-FORMAC DEVELOPMENT

        • Initial Planning

        • Technical Approach

        • Market Forecast Activity

        • Availability, Usage, and Other Systems

      • FORMAC 73

      • EVALUATION OF FORMAC

        • Influence of FORMAC

        • Problems, Difficulties, Failures

        • Mistakes or Desired Changes

        • Major Problem--Storage Space

        • Why Didn't FORMAC Become a Major System?

      • IMPLICATIONS FOR THE FUTURE OF LANGUAGES FOR SYMBOLIC MATHEMATICS

      • ACKNOWLEDGMENTS

      • REFERENCES

    • TRANSCRIPT OF PRESENTATION

    • TRANSCRIPT OF DlSCUSSANT'S REMARKS

    • TRANSCRIPT OF QUESTION AND ANSWER SESSION

    • BIOGRAPHY OF JEAN E. SAMMET

  • CLU Session

    • A HISTORY OF CLU

      • INTRODUCTION

      • DATA ABSTRACTION

        • Related Early Work

        • Programming Methodology

      • CLU

        • Language Goals

        • The Design Process

        • Design Principles

        • Implementing Abstract Types

        • Semantic Model

        • Issues Related to Safety

        • Parametric Polymorphism

        • Other Uniformity Issues

        • Exception Handling

        • Iterators

        • Putting Programs Together

      • EVALUATION

      • ACKNOWLEDGMENTS

      • APPENDIX A. PEOPLE WHO ATTENDED THE HARVARD MEETING

      • APPENDIX B. PEOPLE INVOLVED IN THE CLU EFFORT

      • APPENDIX C. PROJECT SCHEDULE

        • CLU .5

        • CLU

        • Finishing Up

      • REFERENCES

    • TRANSCRIPT OF PRESENTATION

    • TRANSCRIPT OF QUESTION AND ANSWER SESSION

    • BIOGRAPHY OF BARBARA LISKOV

  • Smalltalk Session

    • THE EARLY HISTORY OF SMALLTALK

      • INTRODUCTION

      • 1960-1966—EARLY OOP AND OTHER FORMATIVE IDEAS OF THE SIXTIES

        • Sketchpad and Simula

      • 1967-69 THE FLEX MACHINE, A FIRST ATTEMPT AT AN OOP-BASED PERSONAL COMPUTER

        • Doug Engelbart and NLS

      • 11.3 1970-1972—XEROX PARC: THE KIDDIKOMP, MINICOM, AND SMALLTALK-71

      • 1972-76—THE FIRST REAL SMALLTALK (-72), ITS BIRTH, APPLICATIONS,AND IMPROVEMENTS

        • Development of the Smalltalk-72 System and Applications

        • The Evolution Of Smalltalk-72

        • "Object-oriented" Style

        • Smalltalk And Children

      • 1976-1980—THE FIRST MODERN SMALLTALK (-76), ITS BIRTH, APPLICATIONS, AND IMPROVEMENTS

        • Inheritance

        • The Srnalltalk User Interface

        • Smalltalk-76

      • 1980-1983—THE RELEASE VERSION OF SMALLTALK (-80)

        • Coda

      • APPENDIX I: PERSONAL COMPUTER MEMO

      • APPENDIX II: SMALLTALK INTERPRETER DESIGN

      • APPENDIX III: ACKNOWLEDGMENTS

      • APPENDIX IV: EVENT DRIVEN LOOP EXAMPLE

      • APPENDIX V: SMALLTALK-76 INTERNAL STRUCTURES

      • APPENDIX V: SMALLTALK INTERPRETER DESIGN DOCUMENTATION

        • General Landscape of the Sixties

        • Smalltalk Documentation

      • REFERENCES

    • TRANSCRIPT OF PRESENTATION

    • TRANSCRIPT OF DISCUSSANT'S REMARKS

    • TRANSCRIPT OF QUESTION AND ANSWER SESSION

    • BIOGRAPHY OF ALAN C. KAY

  • Icon Session

    • HISTORY OF THE ICON PROGRAMMING LANGUAGE

      • BACKGROUND

        • Source and Motivation

        • The Name

        • Versions of Icon

        • Project Organization and Staffing

        • Costs and Schedules

        • The Influence of Other Programming Languages

        • Design Philosophy

        • Intended Us

        • Implementation

        • Documentation

      • RATIONALE FOR THE CONTENT OF THE LANGUAGE

        • Environmental Factors

          • Program Size

          • Program Libraries

          • Portability

          • Efficiency

          • Programming Ease

          • Character Set

          • Standardization

        • Functionality

        • The Design Process

        • Distribution

      • A POSTERIORI EVALUATION

        • Meeting of Objectives

          • Icon and SNOBOL4

          • Icon and SL5

        • An Evaluation of Icon

          • Pleasant Surprises

          • Results as Expected

          • Disappointments

        • Contributions

          • Other Implementations and Dialects

        • Mistakes

        • Problems

      • IMPLICATIONS FOR CURRENT AND FUTURE LANGUAGES

        • Direct Influence

        • Indirect Influenc

      • ACKNOWLEDGMENTS

      • REFERENCES

    • TRANSCRIPT OF PRESENTATION

    • TRANSCRIPT OF QUESTION AND ANSWER SESSION

    • BIOGRAPHY OF RALPH E. GRISWOLD

    • BIOGRAPHY OF MADGE T. GRISWOLD

  • Forth Session

    • THE EVOLUTION OF FORTH

      • CHUCK MOORE'S PROGRAMMING LANGUAGE

        • Early Development

        • Philosophy and Goals

      • DEVELOPMENT AND DISSEMINATION

        • Forth at NRAO

        • Commercial Minicomputer Systems

          • Environmental constraints

          • Application Requirements

          • Influences

        • Early Microprocessor Systems

          • Environment and Applications

          • Language Definition

          • Influences

        • Language Definition

          • Design Principles

          • Structured Programming Disciplines

          • Elements of Forth

            • Dictionary

            • Push-Down Stacks

            • Interpreters

            • Assembler

            • Disk Support

            • Multiprogramming

            • Computation

            • Data Types

      • FORTH WITHOUT CHUCK MOORE

        • The Forth Interest Group

        • Commercial and Public Domain Systems for Personal Computers

          • Design principles

          • Influences

          • Embedded Systems

            • Environment and applications

            • Design principles

      • HARDWARE IMPLEMENTATIONS OF FORTH

      • PRESENT AND FUTURE DIRECTIONS

        • Standardization Efforts

          • Cell size

          • Arithmetic

          • Control structures

        • Implementation Strategies

        • Object-Oriented Extensions

      • A POSTERIORI EVALUATION

        • Meeting Objectives

        • Major Contributions of Forth

        • Mistakes or Desired Changes

        • Problems

        • Implications for Current and Future Languages

      • REFERENCES

      • BIBLIOGRAPHY

        • Forth Organizations

        • On-line Resources

      • AUTHORS' NOTE (7/95)

    • TRANSCRIPT OF PRESENTATION

    • TRANSCRIPT OF QUESTION AND ANSWER SESSION

    • BIOGRAPHY OF ELIZABETH RATHER

    • BIOGRAPHY OF DONALD R. COLBURN

    • BIOGRAPHY OF CHARLES H. MOORE

  • C Session

    • THE DEVELOPMENT OF THE C PROGRAMMING LANGUAGE

      • INTRODUCTION

      • HISTORY:THE SETTING

      • ORIGINS: THE LANGUAGES

      • MORE HISTORY

      • THE PROBLEMS OF B

      • EMBRYONIC C

      • NEONATAL C

      • PORTABILITY

      • GROWTH IN USAGE

      • STANDARDIZATION

      • SUCCESSORS

      • CRITIQUE

      • WHENCE SUCCESS?

      • ACKNOWLEDGMENTS

      • REFERENCES

    • TRANSCRIPT OF PRESENTATION

    • TRANSCRIPT OF QUESTION AND ANSWER SESSION

    • BIOGRAPHY OF DENNIS M. RITCHIE

  • C++ Session

    • A HISTORY OF C++: 1979-1991

      • INTRODUCTION

      • C WITH CLASSES

        • Prehistory

        • The Birth of C with Classes

        • Feature overview

        • Feature Details

          • Run-time Efficiency

          • The Linkage Model

          • Static Type Checking

          • Why C?

          • Syntax Problems

          • Dedved Classes

          • The Protection Model

          • Run-time Guarantees

          • Features Considered, but not Provided

        • Work Environment

      • FROM C WITH CLASSES TO C++

        • Aims

        • Cfront

        • Language Feature Details

          • Minor Changes

          • Virtual Functions

          • Overloading

          • References

          • Constants

          • Memory Management

          • Type Checking

        • Relationship to Classic C

        • Tools for Language Design

        • The C++ Programming Language (1st edition)

        • The "whatis?" Paper

      • C++ RELEASE 2.0

        • Feature Overview

        • Multiple Inheritance

        • Abstract Classes

      • THE EXPLOSION IN INTEREST AND USE

        • Conferences

        • Journals and Books

        • Libraries

          • The Stream I/0 Library

          • Other Libraries

        • Compilers

        • Tools and Environments

        • Commercial Competition

      • STANDARDIZATION

        • The Annotated Reference Manual

        • Minor Features

        • Templates

        • Exception Handling

        • ANSI and ISO

        • Rampant Featurism?

      • RETROSPECTIVE

        • Did C++ succeed at what it was designed for?

        • Is C++ a Coherent Language?

          • What Should and Could Have Been Different?

          • What Should Have Been Left Out?

          • What Should Have Been Added?

        • What Was The Biggest Mistake?

        • Hopes for the Future

      • ACKNOWLEDGMENTS

      • REFERENCES

    • TRANSCRIPT OF PRESENTATION

    • TRANSCRIPT OF QUESTION AND ANSWER SESSION

    • BIOGRAPHY OF BJARNE STROUSTRUP

  • Forum on the History of Computing (April 20, 1993)

    • ISSUES IN THE HISTORY OF COMPUTING

      • COMPILING THE RECORD

      • DOCUMENTING PRACTICE

      • THE IMPORTANCE OF CONTEXT

      • DOING HISTORY

      • AN AGENDA FOR HISTORY OF COMPUTING

      • REFERENCES

    • ARCHIVES SPECIALIZING IN THE HISTORY OF COMPUTING

      • CORPORATIONS WITH ESTABLISHED HISTORICAL PROGRAMS

      • UNIVERSITY ARCHIVES WITH SIGNIFICANT HOLDINGS

      • REFERRALS

      • NATIONAL ARCHIVAL GUIDES

    • THE ROLE OF MUSEUMS IN COLLECTING COMPUTERS

      • SEEING IS BELIEVING

      • MUSEUM CHARTERS

      • COMPUTER COLLECTIONS

      • CRITERIA FOR COLLECTING ARTIFACTS

      • COLLECTIONS AT THE COMPUTER MUSEUM

      • THE USE OF THE MUSEUM'S COMPUTER COLLECTIONS

      • RESPONSIBILITIES OF COLLECTING

      • WHAT YOU CAN DO TO PRESERVE HISTORIC MATERIALS

    • THE ANNALS OF THE HISTORY OF COMPUTINGAND OTHER JOURNALS

      • SCOPE OFINTEREST

      • THE FUTURE?

      • SUBJECT MATTER

      • HISTORIOGRAPHY

      • WRITING STYLES

      • HISTORICAL STANDARDS

      • AUTHORS AS PARTICIPANTS

      • REPRINTS?

      • ANECDOTES

      • WHO SHOULD REVIEW HISTORICAL ARTICLES?

      • OTHER PUBLICATIONS

      • PERIODICALS

    • AN EFFECTIVE HISTORY CONFERENCE

      • INTRODUCTION

      • PROBLEMS IN HOLDING A COMPUTING HISTORY CONFERENCE

      • SOME SUGGESTED SOLUTIONS

      • EXAMPLES OF HISTORICAL CONFERENCES/SESSIONS

      • REFERENCES

    • UNIVERSITY COURSES

      • INTRODUCTION: WHY TEACH THE HISTORY OF COMPUTING?

      • SYLLABUSES

      • TEACHING METHODS, TEXTBOOKS, AND MATERIALS

      • COURSEWORK AND ASSESSMENT

      • CRITIQUE

      • ACKNOWLEDGMENTS

      • REFERENCES

    • DOCUMENTING PROJECTS WITH HISTORY IN MIND

    • ISSUES IN THE WRITING OF CONTEMPORARY HISTORY

    • Forum Closing Panel

      • TRANSCRIPT OF QUESTION AND ANSWER SESSION

  • Appendices

    • What Makes History?

    • Call for Papers

    • List of Attendees

    • Final Conference Program

  • INDEX OF PROPER NAMES

Nội dung

History of Programming Languages-II Edited by THOMAS J. BERGIN, JR. and RICHARD G. GIBSON, JR. The American University Washington, D.C. ACM Press New York, New York VV Addison-Wesley Publishing Company Reading, Massachusetts • Menlo Park, California • New York Don Mill, Ontario • Wokingham, England • Amsterdam • Bonn Sydney • Singapore • Tokyo • Madrid • San Juan • Milan • Paris www.it-ebooks.info This book is published as part of ACM Press Booksma collaboration between the Association for C.omputing (ACM) and Addison-Wesley Publishing Company. ACM is the oldest and largest educational and scientific society in the information technology field. Through its high-quality publications and services, ACM is a major force in advancing the skills and knowledge of IT professionals throughout the world. For further information about ACM, contact: ACM Member Services 1515 Broadway, 17th Floor New York, NY 10036-5701 Phone: 1-212-626-0500 Fax: 1-212-944-1318 E-mail: ACMHELP@ACM.org ACM European Service Center 108 Cowley Road Oxford OX41JF United Kingdom Phone: +44-1865-382338 Fax: +44-1865-381338 E-mail: acm_europe@acm.org URL: http://www.acm.org Library of Congress Cataloging-in-Publication Data History of programming languages / edited by Thomas J. Bergin, Richard G. Gibson. p. cm. Includes biblio[;raphical references and index. ISBN 0-201-89502-1 1. Programming languages (Electronic computers) History. I. Bergin, Thoma:~ J. II. Gibson, Richard G. QA76.7.H558 1!)96 95-33539 005.13'09 dc20 CIP Copyright © 1996 by ACM Press, A Division of the Association for Computing Machinery, Inc. (ACM). All rights reserved. No part of this publication may be reproduced, stored in a retrieval system, or transmitted, in any form or by any means, electronic, mechani- cal, photocopying, recording, or otherwise, without the prior permission of the publisher. Printed in the United States of America. 1 2 3 4 5 6 7 8 9 10-MA-009989796 www.it-ebooks.info CONTENTS III IV Editors' Introduction General Introduction Development of the HOPL-II Program Acknowledgments The Opening Session CONFERENCE CHAIRMAN'S OPENING REMARKS, John A. N. Lee LANGUAGE DESIGN AS DESIGN, Frederick R Brooks, Jr. FROM HOPL TO HOPL-II (1978-1993): 15 Years of Programming Language Development, Jean E. Sammet MAKING HISTORY, Michael S. Mahoney ALGOL 68 Session A HISTORY OF ALGOL 68, C. H. Lindsey Transcript of Presentation, C. H. Lindsey Transcript of Question and Answer Session Biography of C. H. Lindsey Pascal Session RECOLLECTIONS ABOUT THE DEVELOPMENT OF PASCAL, N. Wirth Transcript of Disscussant's Remarks, Andrew B. Mickel Transcript of Question and Answer Session Biography of Niklaus Wirth Monitors and Concurrent Pascal Session MONITORS AND CONCURRENT PASCAL: A PERSONAL HISTORY, Per Brinch Hansen Transcript of Question and Answer Session Biography of Per Brinch Hansen vii ix xi xvi 16 25 27 84 95 96 97 111 117 119 121 171 172 iii www.it-ebooks.info CONTENTS V Ada Session ADAmTHE PROJECT: The DoD High Order Language Working Group, William A. Whitaker, Colonel USAF, Retired Transcript of Discussant's Remarks, John B. Goodenough Biography of William A. Whitaker, Col. USAF, Ret. VI Lisp Session THE EVOLUTION OF LISP, Guy L. Steele Jr.and Richard P. Gabriel Transc~ript of Presentation, Guy L. Steele Jr. and Richard P. Gabriel Transc~ript of Discussant's Remarks, John Foderaro Transc;ript of Question and Answer Session Biographies of Guy L. Steele Jr. and Richard P. Gabriel VII Prolog Session THE BIRTH OF PROLOG, Alain Colmerauer and Philippe Roussel Transc~ript of Presentation, Alain Colmerauer Transc~ript of Discussant's Remarks, Jacques Cohen Transc~ript of Question and Answer Session Biographies of Alain Colmerauer and Philippe Roussel VIII Discn~te Event Simulation Languages Session A HISTORY OF DISCRETE EVENT SIMULATION PROGRAMMING LANGUAGES, Richard E. Nance Transc~ript of Presentation, Richard E. Nance Transc~ript of Question and Answer Session Biography of Richard E. Nance IX FORMAC Session THE BEGINNING AND DEVELOPMENT OF FORMAC (FORmula MAnipulation Compiler), Jean E. Sammet Transc~ript of Presentation, Jean E. Sammet Transc~ript of Discussant's Remarks, Joel Moses Transc=ript of Question and Answer Session Biography of Jean E. Sammet 173 229 231 233 309 326 328 329 331 352 364 366 366 369 413 426 427 429 456 465 468 468 iv www.it-ebooks.info X Xl Xll Xlll XIV CLU Session A HISTORY OF CLU, Barbara Liskov Transcript of Presentation, Barbara Liskov Transcript of Question and Answer Session Biography of Barbara Liskov Smalltalk Session THE EARLY HISTORY OF SMALLTALK, Alan C. Kay Transcript of Presentation, Alan C. Kay Transcript of Discussant's Remarks, Adele Go/dberg Transcript of Question and Answer Session Biography of Alan C. Kay Icon Session HISTORY OF THE ICON PROGRAMMING LANGUAGE, Ralph E. Griswold and Madge T. Griswold Transcript of Question and Answer Session Biographies of Ralph E. Griswold and Madge T. Griswold Forth Session THE EVOLUTION OF FORTH, Donald R. Co/burn, Charles H. Moore, and Elizabeth D. Rather Transcript of Presentation, Elizabeth D. Rather Transcript of Question and Answer Session Biographies of Elizabeth Rather, Donald R. Colburn, and Charles H. Moore C Session THE DEVELOPMENT OF THE C PROGRAMMING LANGUAGE, Dennis M. Ritchie Transcript of Presentation, Dennis Ritchie Transcript of Question and Answer Session Biography of Dennis M. Ritchie CONTENTS 471 497 508 510 511 579 589 596 597 599 622 623 625 658 668 669 671 687 696 698 www.it-ebooks.info CONTENTS XV C++ Session A HISTORY OF C++: 1979-1991, Bjame Stroustrup Transcript of Presentation, Bjarne Stroustrup Transcript of Question and Answer Session Biography of Bjarne Stroustrup XVI 699 755 764 769 Forum ,on the History of Computing (April 20, 1993) ISSUES IN THE HISTORY OF COMPUTING, Michael S. Mahoney 772 ARCHIVES SPECIALIZING IN THE HISTORY OF COMPUTING, Bruce H. Bruemmer 782 THE ROLE OF MUSEUMS IN COLLECTING COMPUTERS, Gwen Bell (with additional editing by Robert F. Rosin) 785 THE ANNALS OF THE HISTORY OF COMPUTING AND OTHER ,JOURNALS, BernardA. Galler 789 AN EFFECTIVE HISTORY CONFERENCE, Jean E. Sammet 795 UNIVERSITY COURSES, Martin Campbell-Kelly 799 DOCUMENTING PROJECTS WITH HISTORY IN MIND, Michael Marcotty 806 ISSUES IN THE WRITING OF CONTEMPORARY HISTORY, J.A.N. Lee 808 FORUM CLOSING PANEL 810 Transcript of Question and Answer Session 825 Appendix A: What Makes History? Michael S. Mahoney Appendix B: Call for Papers Appendix C: List of Attendees Appenclix D: Final Conference Program 831 833 849 851 Index 857 vi www.it-ebooks.info EDITORS' INTRODUCTION In 1978, the ACM Special Interest Group on Programming Languages (SIGPLAN) sponsored a Conference on the History of Programming Languages (HOPL). Papers were prepared and presenta- tions made at a Conference in Los Angeles, California. The Program Committee selected thirteen languages that met the criteria of having been in use for at least 10 years, had significant influence, and were still in use. The languages were: ALGOL, APL, APT, BASIC, COBOL, FORTRAN,GPSS, JOSS, JOVIAL, LISP, PL/I,SIMULA, and SNOBOL. The results of that conference were recorded in History of Programming Languages, edited by Richard L. Wexelblat [New York: Academic Press, 19811. The Second ACM SIGPLAN History of Programming Languages Conference (HOPL-II) took place on April 20-23, 1993 in Cambridge, Massachusetts. The papers prepared for that conference form the basis of this present volume, along with the transcripts of the presentations, a keynote address "Language Design as Design" by Fred Brooks, a discussion of the period between HOPL and HOPL-II by Jean Sarnmet, and a talk on "What Makes History" by Mike Mahoney (the conference historian). There was also a banquet, hosted by Bernie Galler, and a closing panel of six language developers, chaired by Mike Mahoney. Unfortunately due to page limitations, the transcripts of the banquet, Forum, and the closing panel are not included in this volume. It is our hope that they can be published elsewhere. The Conference was preceeded by a Forum on the History of Computing, chaired by Bob Rosin, and the papers presented at the Forum complete this volume. The Program Committee for HOPL-II decided to have both invited and submitted papers, and we believe that the range of languages and the quality of presentation will make this volume a classic in the history of programming literature. The languages at HOPL-II were: Ada, ALGOL 68, C, C++, CLU, Discrete Simulation Languages, FORMAC, Forth, Icon, Lisp, Monitors and Concurrent Pascal, Pascal, Prolog, and Smalltalk. The majority of this volume is the material on the individual languages, with a chapter devoted to each language, as follows: • a paper by each author; • a transcript of the author's presentation; • a transcript of a discussant's remarks (not all languages); • a transcript of the question and answer session; • biographies of the authors. It should be noted that some authors' presentations closely followed their papers, and since the book is oversized, the transcripts of these presentations were omitted, with the kind permission of the authors. All papers were published as preprints in ACM SIGPLAN Notices, Vol. 28, No. 3 (March 1993). The papers are reprinted here with the permission of ACM and of the authors. In some cases changes have been made by the authors to correct typographical or factual errors. In some cases additional material has been added, with an appropriate notation by an author or editor. vii www.it-ebooks.info EDITORS' INTRODUCTION Jan Lee, Jean Sammet, and Bob Rosin, in their various capacities, have identified the numerous people who worked so long and hard on the Conference; however, we would like to identify the people who assisted us in the production of this volume: Betty Henderson patiently transcribed 24 hours of difficult computer jargon, and put it on diskettes so Rick and I could begin editing; We are especially grateful for the support of the National Science Foundation for providing partial funding for the conference and for the preparation of this book, under grant CCR -9208568 and to Nora Cortes-Comerer of ACM Press who secured the additional funding necessary for the completion of the project. In addition to sponsoring the conference, SIGPLAN and its current Chair, Barbara Ryder, provided additional funding for the preparation of photographs for this volume; Alan Rose of Multiscience Press, Inc. (New York, NY) served as our producer, and Lauralee B. Reinke of Context Publishing Services (Sausalito, CA) formatted all of the material; without their expertise, the technical details of preparing a book of this size would have overwhelmed us; Special thanks go to Anita LaSalle, Chair of the Computer Science and Information Systems Department at The American University for casettes, diskettes, thousands of pages of photocopies, and FedEx charges to send materials around the globe; and to Sandy Linden, Mark Davidson, and Maureen O'Conneil who provided us with administrative support; And last, but not least, a special thanks to Dick Wexelblat who started this book project; he was always there to share his experience and to give advice when asked. We are especiallly indebted to those individuals whose presentations were deleted from this volume due to page limitations, colleagues who gave of their time and talent without the reward of seeing their efforts in print. Our families de:serve our sincere appreciation, since efforts of this magnitude naturally intrude on family life: Diane, John and Jeannine, Michael and Kathleen Bergin, and a special thanks to Karen and baby Gibson. Finally, we would be remiss if we did not thank Jean Sammet, who has spent much of her professional life preserving the history of programming languages. There is no way to thank her adequately for inspiring the conference or for almost two years of campus visits, telephone conver- sations, telephone reminders, e-mail messages, and other support that she willingly gave us during the preparation of this book. Without her single-minded devotion to her profession, our discipline would be missing the incredibly rich history captured in this volume. Tim Bergin Rick Gibson viii www.it-ebooks.info GENERAL INTRODUCTION We are indeed pleased to provide this introductory material for this book. The book is the culmination of work on a 1993 conference (HOPL-II) whose development started in 1990; HOPL-II in turn was a follow-on to the first HOPL, held 15 years earlier (1978). First HOPL Conference In order to put this conference in perspective, it is useful to provide some information about the first conference of this type that was held. In 1978 ACM SIGPLAN sponsored a History of Programming Languages Conference (HOPL) with Jean E. Sammet as General Chair and Program Chair, and John A. N. Lee as the Administrative Chair. That conference was composed of invited papers for the 13 languages that met the following criteria: "(1) were created and in use by 1967; (2) remain in use in 1977; and (3) have had considerable influence on the field of computing." [History of Programming Languages, Richard L. Wexelblat, ed., Academic Press, ACM Monograph Series, 1981 ), page xviii.] (The cutoff date of 1967 was chosen to provide perspective from a distance of at least ten years.) The languages chosen by the Program Committee as meeting those criteria were: ALGOL, APL, APT, BASIC, COBOL, FORTRAN, GPSS, JOSS, JOVIAL, LISP, PL/I, SIMULA, and SNOBOL. A key person involved in the early development of each of those languages was invited to write a paper according to very strict guidelines and with numerous rewrites expected. That conference was deemed a great success by its attendees. The final proceedings, edited by R. L. Wexelblat, is now the definitive work on the early history of those particular languages. Several people asked at that time why a conference was held rather than simply having people prepare the papers and publish them in a book. We felt initially and this was confirmed by the actual occurrence that the audience discussion after each presentation would provide greater insight into the history of the events and decisions that led to the definition of the languages in their early forms. Some of the "cross talk" publicly and privately among the attendees many of whom participated in the creation of several languages provided significant insights into the early developments. Second HOPL Conference The first HOPL conference was intended to be only the beginning, and not the end of any consideration of programming language history. As a result, not long after the end of that conference, we began thinking about a second HOPL Conference, with the intent of building on what we learned fi'om the first conference, and expanding its scope and coverage. Due to the pressure of other activities, it took many years before we were able to focus on a second conference. During that time period, a cadre of our colleagues was developed that also strongly promulgated the need to study the history of ix www.it-ebooks.info GENERAL INTRODLICTION computing. In fact, the establishment of the journal Annals of the History of Computing, to be published by AFIPS, was announced at the end of the first HOPL Conference with Bernard A. Galler as Editor-in-Chief. Since 1987, John A. N. Lee has been the Editor-in-Chief, and in 1992 the IEEE Computer Society became the publisher. In January 1996, Michael R. Williams took over as the third Annals Editor-in-Chief. ACM has also sponsored several other history conferences, covering the fields of scientific comptaing, medical informatics, and personal workstations. Finally, we developed a proposal in 1990, and the ACM SIGPLAN Executive Committee author- ized us to proceed 'with this Second History of Programming Languages Conference (HOPL-II). We then called back to voluntary duty several members of the original conference-organizing committees and many of them were happy to join us in this new endeavor. In addition, we made a conscious effort to bring in newer/younger people who also have an interest in examining the past. But organizing a history conference is by no means as simple as organizing a technical conference dealing with current or recent research in which all the papers are to be contributed and for which there is tremendous competition to participate. This is primarily because most professionals in the computer field prefer to concentrate on current and future work rather than looking backward to what they have accom- plished. A detailed description of how the final program was created is given in the next section of this introduction. The study of va~rious aspects of computing history is not merely an intellectual exercise; it shows us how we reached our current condition, indicates effective approaches as well as past errors, and provides perspective and insight for the future, and a surer sense of how to get there. The conference itself was held April 20 to 23, 1993, in Cambridge, Massachusetts with preprints issued as the March 1993 issue ofACM SIGPLAN Notices (Volume 28, Number 3). This book contains an enormous amount of material not included in the preprints, including some revised papers as well as transcripts of the talks, the Forum papers, the keynote address, and other material that provide a record of what occurred during the conference. We regret that space limitations prevented the inclusion of the transcripts of the banquet, the closing panel and the Forum. We hope that they can be published elsewhere. We appreciate the hard work done by all the people who helped organize and run the conference. We are particularly grateful to Tim Bergin and Rick Gibson who unexpectedly took on the enormous task of preparing this book for publication. John A. N. Lee (Conference Chair) Virginia Polytechnic Institute and State University Jean E. Sammet (Program Chair) Programming Language Consultant (IBM, Retired) www.it-ebooks.info [...]... would include papers on the early history of specific languages as in the first HOPL conferencenand papers on (a) evolution of a language, (b) history of language features and concepts, and (c) classes of languages for application-oriented languages and paradigm-oriented languages, 3 the conference was not intended to honor anyone xi www.it-ebooks.info DEVELOPMENTOF THE HOPL-IIPROGRAM Invited Speakers,... "FROM HOPL TO HOPL-II," Jean E Sammet "MAKING HISTORY, " Michael S Mahoney CONFERENCE CHAIRMAN'S OPENING REMARKS J.A.N LEE: Welcome to the Second History of Programming Languages Conference My name is Jan Lee; I ' m the general chairman of this conference We started thinking about this conference in 1978; that was the year of the first History of Programming Languages Conference (HOPL-I), chaired by Jean... (SLIDE 16) I think JCL is typical of the fact that programming languages appear in many different guises We have machine languages I have spent the last twenty years thinking about machine languages You probably called them assembler languages But for the computer architect this language design is a major concern Machine languages are a specialized set of programming languages in which high level is... of programming language development As I am sure all of you recognize, that is a major undertaking and each one of you might choose to do it completely differently than I did, but I have control of the microphone so you are out of luck! (SLIDE 2) In 1978, according to the data that I had and some of you may recall that for about ten years I tried to publish what I called the Roster of Programming Languages. .. existence PROGRAMMING LANGUAGES In 1978 PROGRAMMING LANGUAGES in 1978 HOPL Criteria HOPL Languages • over 10 years old ALGOL • still in use • major impact APT JOSS JOVIAL LISP SIMULA 67 PL/I APL BASIC COBOL FORTRAN GPSS SLIDE 3 SNOBOL SLIDE 4 THE OPENING SESSION 17 www.it-ebooks.info JEAN E SAMMET PROGRAMMING LANGUAGES In 1978 PROGRAMMINGLANGUAGES In 1978 M~ljor Languages Some Other Languages (based on... www.it-ebooks.info JEAN E SAMMET WHERE WE ARE in PROGRAMMING LANGUAGES in 1993 Approximately 1000 languages Implememted since beginning of computer field (estimate 700 are dead in 1993) SLIDE "PROGRAMMING LANGUAGE PEOPLE" WHO HAVE DIED SINCE 1978 [1 of 4] • Grace Hopper (first compiler) (leader of FLOW-MATIC, MATH-MATIC) (persuaded eady managers of the value of progrsmmlng languages) • Saul Gom (theoreUcian) (computer... HOPL-II (1978-1993): 15 Years of Programming Language Development Jean E Sammet JEAN E SAMMET: The Program Committee felt that it might be of some interest to you to get two pieces of information One was some perception of what has happened in the programming language area in the last fifteen years, and then a little bit of introduction to making history, particularly for those of you who were not at the... to history However, in our profession I feel it's a sign of maturity when we have concerns for these aspects of the science ACM started in about 1968 to concern itself with education and curricula Prior to that it had introduced one of the first codes of professional conduct In the mid-1970s we were concerned about the www.it-ebooks.info CONFERENCE CHAIRMAN'S OPENING REMARKS preservation of our history. .. begin thinking about our next history conference We had many suggestions, perhaps the most serious of which was to consider the history of operating systems In fact, we even had a name for it, HOOS But it was obvious that the history of programming languages was continuing to happen, even in 1978 as we held that meeting Pascal had begun to replace FORTRAN as the language of choice in computer science... www.it-ebooks.info FROM HOPL TO HOPL-II (1978-1993) PROGRAMMING LANGUAGES in 1978 PROGRAMMING LANGUAGES in 1978 Existing ANSI Standards APT' ATLAS BASIC (Minimal) COBOL FORTRAN MUMPS PL/I (1974, 1977) (1978) (1978) (1968, 1974) (1966, 1978) (1977) (1976) Some related Issues or topics structured programming aoftwam engineering systems programming languages SLIDE 9 SLIDE 10 from languages and here, as much as I regret . results of that conference were recorded in History of Programming Languages, edited by Richard L. Wexelblat [New York: Academic Press, 19811. The Second ACM SIGPLAN History of Programming Languages. A HISTORY OF CLU, Barbara Liskov Transcript of Presentation, Barbara Liskov Transcript of Question and Answer Session Biography of Barbara Liskov Smalltalk Session THE EARLY HISTORY OF. of Presentation, Alan C. Kay Transcript of Discussant's Remarks, Adele Go/dberg Transcript of Question and Answer Session Biography of Alan C. Kay Icon Session HISTORY OF THE ICON PROGRAMMING

Ngày đăng: 01/08/2014, 17:11

TỪ KHÓA LIÊN QUAN