تاریخ زبانهای برنامهنویسی، جلد اول
History of Programming Languages, Volume I 1
معرفی کتاب «تاریخ زبانهای برنامهنویسی، جلد اول» (با عنوان لاتین History of Programming Languages, Volume I 1) نوشتهٔ edited by Richard L. Wexelblat، منتشرشده توسط نشر Academic Press در سال 1978. این کتاب در فرمت pdf، زبان انگلیسی ارائه شده است.
These proceedings of the ACM SIGPLAN History of Programming Languages (HOPL) conference are a record, in the words of those who helped make the history, of a baker's dozen of the languages that set the tone of most of today's programming. It is difficult to describe the feeling that prevailed at the conference. There were no parallel sessions. Some attendees were graduate students, some pioneers, many were practitioners, and there seemed roughly an even division between industrial and academic affiliation. It was the first conference I attended where virtually everyone attended every session.The Conference General Chairman's introduction (page xvii) provides a rationale for the languages chosen and what the speakers were asked to prepare. There was an official Conference Historian. (How can you have a "History of . . ." conference without a historian?) His introduction (page xxi) attempts to present the conference in the perspective of modern history-of-science scholarship.The Keynote Address (page 7) was given by Grace Murray Hopper, Captain, USN, who was present at the birth of the industry and has remained an active participant. Her remarks indicate that a lot of what is considered novel and innovative today may well have first been done by her Remington-Rand Univac crew back in the 1950s.The largest part of this volume is taken up with the languages themselves, in chapters each assembled in the following way:The formal paper from the preprints (with some modifications by the authors).A transcript of the formal conference presentation.A transcript of the discussant's presentation. (There were discussants for APL, COBOL, FORTRAN, LISP, PL/I, and SIMULA only.)A transcript of the question and answer session.The full text of questions submitted in writing by the attendees (some with additional answers provided by the author).Authors' biographies.Summaries of the languages appear in Appendix A.The order of the languages in this book is the order of the talks given at the conference. With the exception of JOSS, the formal papers were published as preprints in ACM SIGPLAN Notices, Vol. 13, No. 8 (August 1978). The papers are reprinted here with the permission of ACM and of the authors. In some cases, changes to the preprints have been made by the authors to correct typographical or factual errors. In a few cases, additional material was added.For ALGOL, two speakers were chosen initially to reflect the European and American points of view. An additional "short note" from another ALGOL pioneer has also been included.The section on JOSS has a slightly different format since, due to a change in planned speaker, no paper for JOSS appeared in the preprints. To provide a broad historical outlook, the speaker was requested to make major revisions, expanding his talk into a formal paper.No two speakers are alike and the transcripts of the talks reflect the differences. Some tended to repeat in the oral presentation the material in the formal preprint; others gave almost completely independent talks. In editing the transcripts, no attempt was made to remove redundancy. As far as possible, all that was said is included here. Editing has removed false starts and hesitations; punctuation has been added to try to clarify involved, run-on sentences. Interpolations are, for the most part, enclosed in brackets. Most sessions began and ended with administrative announcements which are omitted here.Some of the talks were followed by formal presentations by discussants, and the transcripts of these are presented with the same type of editing as was used with the talks.The question and answer sessions were handled at the conference by having written questions submitted to the session chairman during the talk. The chairman selected some of them to ask the speaker; the editing of the speakers' replies is similar to that indicated above.The full text of all questions submitted is included and, in several cases, the authors have annotated this list, either keying the questions to the place in the transcript or the paper where it is answered or answering a question not covered at the conference.Authors were asked to provide a brief biography highlighting their activities before the time period covered by the paper and their more recent work. For the most part, the biographies are the author's own words. In a few cases, the editor had to create a narrative biography from a terse curriculum vitae. If editorial license was carried too far in any case, my apologies. The pictures that accompany the biographies are Candid photographs taken during the conference, and the subjects did not have a chance to select which pictures they preferred.The after-dinner speeches at the conference banquet were devoted to humorous reminiscences and anecdotes about the languages and events during their development. The banquet anecdotes are not included in this volume because, although they are humorous to hear, the voice inflections make a big difference, and they are not necessarily amusing to read.Audio and video tapes of the entire conference are available from ACM Headquarters: 1133 Avenue of the Americas, New York, New York 10036 Language History Chart......Page 0 Front matter......Page 1 Contents......Page 5 Editor's Introduction......Page 12 Basic Objectives......Page 16 Rationale for Selection of Languages......Page 17 On Doing Contemporary History......Page 20 References......Page 21 ACM Monograph Series......Page 23 Language History Chart......Page 24 Conference Chairman's Opening Remarks......Page 26 Introduction of Captain Grace Murray Hopper......Page 30 Keynote Address......Page 33 Transcript Of Question And Answer Session......Page 47 Full Text Of All Questions Submitted......Page 51 Attitudes about Automatic Programming in the 1950s......Page 54 The Economics of Programming......Page 55 Programming Systems in 1954......Page 56 The Early Stages of the FORTRAN Project......Page 58 The Construction of the Compiler......Page 62 FORTRAN II......Page 70 FORTRAN after 1958; Comments......Page 71 Acknowledgments......Page 72 References......Page 73 Transcript Of Presentation......Page 74 Transcript Of Discussant's Remarks......Page 96 Transcript Of Question And Answer Session......Page 99 Full Text Of All Questions Submitted......Page 103 Biography Of John Backus......Page 107 Before ALGOL 58......Page 108 The Zurich Meeting......Page 111 ALGOL 58......Page 113 From Zurich to Paris......Page 115 Paris and the ALGOL 60 Report......Page 121 Post Paris......Page 122 References......Page 124 Introduction......Page 125 Historical Remarks on Algorithmic Languages......Page 126 ALGOL 58......Page 127 ALGOL 60......Page 128 The Committees......Page 129 Discussion Techniques......Page 130 Intended Purpose of ALGOL 60......Page 133 Declaration of Named Constants......Page 134 Inclusion of Additional Types......Page 135 The For Statement......Page 136 Blocks and Procedures......Page 137 Declared Objectives......Page 146 Implicit and Derived Objectives......Page 147 Contributions of Language......Page 149 Design Weaknesses......Page 150 Implications for Current and Future Languages......Page 151 Appendix 1. Centers and Individuals......Page 152 Appendix 2. Backus' Syntax Notation and Its Modification......Page 154 From Part II, 4. Statements Σ......Page 155 From Part II, 5 Declarations Δ......Page 157 From Part II, 5 Declarations Δ......Page 158 To Section 1.1......Page 159 To Introduction......Page 160 To Section 1.3......Page 161 To Section 2.10 item 49......Page 162 To Appendix 5, Bauer's Point 2.75......Page 163 Concerning BNF......Page 164 Concerning the Central Controversy......Page 165 To Section 3.1......Page 166 The Background of Samelson's Comments......Page 167 Concerning Samelson's Two Parties......Page 168 On the Conflicts of the Present Discussion......Page 169 References......Page 170 Transcripts Of Presentations......Page 172 ALGOL versus FORTRAN......Page 195 Influence of Formal Linguistics......Page 197 ALGOL as a Standard Language for Numerical Computation......Page 198 ALGOL and the Commerce of Computing......Page 199 Attention to Implementation During the Design of ALGOL......Page 200 More on Attention to Implementation......Page 201 Full Text Of All Questions Submitted......Page 202 Biography Of Alan J. Perlis......Page 207 Biography Of Peter Naur......Page 208 Introduction......Page 209 LISP Prehistory—Summer 1956 through Summer 1958......Page 210 The Implementation of LISP......Page 213 From LISP 1 to LISP 1.5......Page 215 Beyond LISP 1.5......Page 217 Conclusions......Page 218 References......Page 219 Transcript Of Presentation......Page 221 Transcript Of Discussant's Remarks......Page 228 Transcript Of Question And Answer Session......Page 233 Full Text Of All Questions Submitted......Page 234 Biography Of John McCarthy......Page 236 Introduction......Page 238 Pre Department of Defense Activity......Page 239 May 1959 Pentagon Meeting......Page 240 CODASYL Executive Committee......Page 242 First Meeting (June 23-24, 1959)......Page 243 Subsequent Meetings: July-August, 1959......Page 244 September 4 Report to CODASYL Executive Committee......Page 247 Relationship of FACT to COBOL......Page 248 Producing the December 1959 Version of COBOL......Page 249 Production of COBOL 60......Page 251 Attribution of Inputs......Page 252 Production of COBOL 61......Page 253 The First COBOL Compilers......Page 255 Specific Contributions of FLOW-MATIC and Commercial Translator......Page 256 Relevance of Algebraic Languages......Page 257 Intended Purpose and Users......Page 258 Comments on Personal and Company Interrelationships......Page 259 Language Design Principles......Page 260 Statement Language (= Procedure Division)......Page 264 Data Description......Page 270 Names......Page 271 Language Definition......Page 272 Portability (= Machine Independence)......Page 273 Machine and Compiler Environment......Page 274 Contributions of Language......Page 275 Mistakes or Desirable Changes......Page 277 Implications for Current and Future Languages......Page 278 Appendix. List of Attendees at Pentagon Meeting, May 28-29, 1959......Page 279 References......Page 280 Transcript Of Presentation......Page 282 Transcript Of Dlscussant's Remarks......Page 300 Transcript Of Question And Answer Session......Page 304 Full Text Of All Questions Submitted......Page 312 Biography Of Jean E. Sammet......Page 319 Introduction......Page 320 An APT Theme for This Paper......Page 321 An Overview......Page 323 Source Material......Page 325 Background......Page 326 The MIT Milling Machine Project......Page 328 Changes from the Siegel System......Page 329 Project Start-Up......Page 330 System Structure and Semantics......Page 331 Glimmerings of Plex......Page 333 The Name "APT" and Glimmerings of Structured Analysis......Page 334 Period 2: Special N/C Course for The AIA (December 1956 through April 1957)......Page 337 Suggestions for Language Design......Page 338 Computer-to-Human Languages......Page 340 Initial Meetings......Page 341 The Fateful Decision......Page 342 The Kickoff Meeting......Page 344 Prior Language Suggestions......Page 345 The First Language Memo......Page 346 Project Organization......Page 352 Systematized Solutions......Page 353 Evolution of the Translator......Page 354 The ARELEM Problem......Page 356 Evolution of ARELEM......Page 358 Evolution of Semantics......Page 359 Two Papers on APT......Page 360 The Field Trial Language......Page 362 Period 7: The Postcoordinator Report (July 1958)......Page 364 The Phase I Part Programmer's Manual......Page 365 Phase II Extensions......Page 370 Macros and Phrase Substitution......Page 371 Period 9: The Press Conference (November 1958 through February 1959)......Page 373 Period 10: The MIT ARELEM Epilogue(July 1959 through July 1962)......Page 374 References......Page 376 Transcript Of Presentation......Page 379 Transcript Of Question And Answer Session......Page 408 Full Text Of All Questions Submitted......Page 409 Biography Of Douglas T. Ross......Page 411 The Environmental and Personnel Setting......Page 412 Organizational and People Beginnings......Page 413 History of the Name......Page 415 Schedules and Allocated Manpower......Page 416 Documentation and Early Versions......Page 417 Things Which Were Pretty Much Ignored in the Language......Page 418 Things Excluded in the Language or Given Little Attention......Page 419 Major Language Features......Page 420 Language Design Methodology......Page 424 Meeting of Objectives......Page 425 Contributions of the Language......Page 426 Mistakes and Omissions......Page 428 Implications for Current and Future Language......Page 429 References......Page 430 Transcript Of Presentation......Page 431 Transcript Of Question And Answer Session......Page 441 Full Text Of All Questions Submitted......Page 444 Biography Of Jules I Schwartz......Page 447 Analog Experience......Page 448 Early Digital Experience......Page 449 The Gordon Simulator......Page 450 The First GPSS......Page 453 Later IBM Developments......Page 454 The Generalized, Monitor System......Page 455 Other GPSS Programs......Page 456 Block Types......Page 457 System Numerical Attributes......Page 458 Indirect Addressing......Page 459 Transaction Sets......Page 460 Clock Time......Page 461 Data Structure......Page 462 Simulation Algorithm......Page 463 Associated Coding......Page 465 Documentation......Page 466 Process Interaction......Page 467 Storage Requirements......Page 468 References......Page 469 Transcript Of Presentation......Page 471 Transcript Of Question And Answer Session......Page 481 Full Text Of All Questions Submitted......Page 482 Biography Of Geoffrey Gordon......Page 484 Preface......Page 486 Background......Page 487 Early History......Page 488 The Main Development Stages......Page 489 System Description......Page 492 Storage Allocation......Page 494 Security and Consistency......Page 495 Process Referencing......Page 497 Process Scheduling......Page 498 Relation to Other Languages......Page 500 The Software Agreement between Univac and NCC......Page 501 The Response to SIMULA I......Page 504 From SIMULA I to SIMULA 67......Page 506 The Lysebu Paper......Page 508 The Common Base Conference......Page 511 The SIMULA 67 Common Base......Page 515 The Fight for the SIMULA 67 Compilers......Page 516 Concluding Remarks......Page 523 References......Page 525 Transcript Of Presentation......Page 527 Transcript Of Discussant's Remarks......Page 537 Transcript Of Question And Answer Session......Page 539 Full Text Of All Questions Submitted......Page 541 Biography Of Kristen Nygaard......Page 542 Biography Of Ole-Johan Dahl......Page 543 The JOHNNIAC—the Beginning of JOSS......Page 544 The JOSS Language......Page 548 Philosophy of JOSS......Page 551 Chronology—JOSS Derivatives......Page 555 References......Page 556 Full Text Of All Questions Submitted......Page 557 Biography Of Charles L. Baker......Page 562 Dartmouth Comes to Computing......Page 564 Computing Comes to Dartmouth......Page 565 Goals of the Project......Page 567 Other Influences on BASIC......Page 570 Compiling versus Interpreting......Page 571 BASIC, the First Edition......Page 572 BASIC, the Second Edition......Page 575 BASIC, the Third Edition......Page 576 BASIC, the Fourth Edition......Page 577 BASIC, the Fifth Edition......Page 578 BASIC, the Sixth Edition......Page 580 Dartmouth and General Electric......Page 581 A Posteriori Evaluation......Page 583 Implications......Page 584 References......Page 585 Transcript Of Presentation......Page 586 Transcript Of Question And Answer Session......Page 596 Full Text Of All Questions Submitted......Page 599 Biography Of Thomas E. Kurtz......Page 601 Introduction......Page 603 Background......Page 604 Design Criteria......Page 613 Program Structure......Page 614 Control Flow......Page 616 Storage Management......Page 618 Data Types......Page 620 Implicit and Default Attributes......Page 623 Implications for Current and Future Languages......Page 624 Appendix A......Page 625 References......Page 626 Transcript Of Presentation......Page 627 Transcript Of Discussant's Remarks......Page 642 Transcript Of Question Ano Answer Session......Page 646 Full Text Of All Questions Submitted......Page 651 Biography Of George Radin......Page 655 Setting......Page 657 Initial Design......Page 658 The Implementation......Page 659 The Problem of a Name......Page 660 SNOBOL2 and SNOBOL3......Page 661 The Setting for SNOBOL4......Page 662 Early SNOBOL4 Work......Page 663 Continuing SNOBOL4 Development......Page 664 Documentation......Page 665 Support, Costs, and Schedules......Page 666 The Release of SNOBOL......Page 668 Objectives......Page 670 Influence of Other Languages......Page 671 Basic Decisions......Page 673 Progression to SNOBOL2 and SNOBOL3......Page 674 SNOBOL4......Page 675 Meeting of Objectives......Page 680 Contributions of the Languages......Page 682 Other Implementations......Page 683 Use of SNOBOL4 as an Experimental Tool......Page 684 Syntax and Control Structure......Page 685 String Processing and Pattern Matching......Page 686 Input and Output......Page 687 User Problems......Page 688 Implementation Problems......Page 689 Influences on Other Languages......Page 690 The Long-Range Future of SNOBOL......Page 692 References......Page 693 Transcript Of Presentation......Page 701 Transcript Of Question And Answer Session......Page 714 Full Text Of All Questions Submitted......Page 717 Biography Of Ralph E. Griswold......Page 719 The Evolution Of APL......Page 720 Academic Use......Page 721 Machine Description......Page 722 implementation......Page 723 Systems......Page 728 Conclusions......Page 729 References......Page 732 Transcript Of Presentation......Page 733 Transcript Of Discussant's Remarks......Page 743 Transcript Of Question And Answer Session......Page 746 Full Text Of All Questions Submitted......Page 747 Biography Of Adin D. Falkoff......Page 752 Biography Of Kenneth E. Iverson......Page 754 APL......Page 755 APT......Page 757 ALGOL 60......Page 758 BASIC......Page 760 COBOL 60......Page 761 FORTRAN......Page 763 GPSS......Page 765 JOSS......Page 767 JOVIAL......Page 770 LISP......Page 772 PL/I......Page 775 Classes and Objects......Page 777 The Supplied Simulation System......Page 778 Concluding Observations......Page 779 SNOBOL......Page 780 Acknowledgments......Page 782 Major Elements......Page 783 Basic Facts about Project Organization and People......Page 784 Basic Facts about Documentation......Page 785 Source and Motivation......Page 786 Environment Factors......Page 787 Language Definition......Page 788 Contributions of Language......Page 789 Indirect Influence......Page 790 Appendix C. List Of Attendees......Page 791 Appendix D. Conference Publicity: Original Announcement, Preliminary Program, and Final Program......Page 798 Appendix E. Photographs from Conference......Page 803 Appendix F. Conference Audio and Video Recordings......Page 807 Afterword......Page 809 General Chairman's Message......Page 810 Index......Page 811 History of Programming Languages presents information pertinent to the technical aspects of the language design and creation. This book provides an understanding of the processes of language design as related to the environment in which languages are developed and the knowledge base available to the originators. Organized into 14 sections encompassing 77 chapters, this book begins with an overview of the programming techniques to use to help the system produce efficient programs. This text then discusses how to use parentheses to help the system identify identical subexpressions within an expression and thereby eliminate their duplicate calculation. Other chapters consider FORTRAN programming techniques needed to produce optimum object programs. This book discusses as well the developments leading to ALGOL 60. The final chapter presents the biography of Adin D. Falkoff. This book is a valuable resource for graduate students, practitioners, historians, statisticians, mathematicians, programmers, as well as computer scientists and specialists. The Opening Session / Conference Chairman: Jean E. Sammet -- Fortran Session / Chairman: Jan Lee -- Algol Session / Chairman: Thomas Cheatham -- Lisp Session / Chairman: Barbara Liskov -- Cobol Session / Chairman: Michael Marcotty -- Apt Session / Chairman: John Goodenough -- Jovial Session / Chairman: John Goodenough -- Gpss Session / Chairman: Barbara Liskov -- Simula Session / Chairman: Barbara Liskov -- Joss Session / Chairman: Thomas Cheatham -- Basic Session / Chairman: Thomas Cheatham -- Pl/1 Session / Chairman: Robert Rosin -- Snobol Session / Chairman: Jan Lee -- Apl Session / Chairman: Jan Lee. Edited By Richard L. Wexelblat. Proceedings Of The History Of Programming Languages Conference, Los Angeles, Calif., June 1-3, 1978. Includes Bibliographies And Index. Proceedings of the first ACM SIGPLAN History of Programming Languages Conference, Los Angeles, Calif., June 1-3, 1978. Jean E. Sammet, general conference chair and program committee chair; John A. N. Lee, administrative chair; James J. Horning, John A. N. Lee, Michael Marcotty, Robert F. Rosin, Jean E. Sammet, Henry Tropp, Richard L. Wexelblat, editorial board.
دانلود کتاب تاریخ زبانهای برنامهنویسی، جلد اول