Revised Report on the Algorithmic Language Algol 68

Total Page:16

File Type:pdf, Size:1020Kb

Revised Report on the Algorithmic Language Algol 68 Revised Report on the Algorithmic Language Algol 68 Edited by A. van Wijngaarden, B. J. Mailloux, J. E. L. Peck, C.H. A. Koster, M. Sintzoff, C.H. Lindsey, L. G. L. T. Maertens and R. G. Fisker This Edition, which is issued as a Supplement to ALGOL Bulletin number 47, includes all errata authorised by the ALGOL 68 Support subcommittee of IFIP WG2.l up to the end of 1978. This Report has been accepted by Working Group 2.1, reviewed by Technical Committee 2 on Programming and approved for publication by the General Assembly of the International Federation for Information Processing. Reproduction of the Report, for any purpose, but only of the whole text, is explicitly permitted without formality. CONTENTS Acknowledgements . ... 6 0. Introduction . ..... ... ... .. .. ... ... ... ... .. .. ... .... ... .. ... ... 8 0.1. Aims and principles of design....................................................... 8 0.1.l. Completeness and clarity of description................................. 9 0.1.2. Orthogonal design.................................................................. 9 0.1.3. Security................................................................................. 9 0.1.4. Efficiency.............................................................................. 9 0.2. Comparison with ALGOL 60 .. ... .. .. ... .. .. ... .. ... ... .. .. .. 10 0.3. Comparison with the language defined in 1968............................... 13 0.4. Changes in the method of description............................................ 15 PART I Preliminary definitions l. Language and metalanguage . 17 l.l. The method of description ............................................................ 17 l.l.l. Introduction .......................................................................... 17 l.l.2. Pragmatics .................... ..................................... .................. 18 1.1.3. The syntax of the strict language .......................................... 19 l.1.3.l. Protonotions .................................................................. 19 l.l.3.2. Production rules and production trees ........................... 21 l.l.3.3. Metaproduction rules and simple substitution ................ 23 l.l.3.4. Hyper-rules and consistent substitution . .. .. .. .. .. .. 25 l.1.4. The semantics ...................................................................... 26 l.l.4.l. Hypernotions, designation and envelopment ................... 27 .. 2 van Wijngaarden, et al. 1.1.4.2. Paranotions .................................................................. 27 1.1.4.3. Undefined ..................................................................... 30 1.1.5. Translations and variants .................................................... 30 1.2. General metaproduction rules ..................................................... 31 1.3. General hyper-rules . .. .. .. .. .. ... .. .. .. .. .. .. .. 33 2. The computer and the program .. ... .. ... ... .. .. .. .... ... ... .. ... .. ... ... ..... .... .... 35 2.1. Terminology ................................................................................ 36 2.1.1. Objects ................................................................................ 36 2.1.1.1. Values, locales, environs and scenes ............................. 36 2.1.1.2. Modes .. .. .. .. ... .. .... .... ... .. .. ... .. .... ... .. ... .. .. .. ... ... ... .. 37 2.1.1.3. Scopes .......................................................................... 38 2.1.2. Relationships ....................................................................... 39 2.1.3. Values ................................................................................. 39 2.1.3.1. Plain values ................................................................. 39 2.1.3.2. Names .......................................................................... 41 2.1.3.3. Structured values ......................................................... 42 2.1.3.4. Multiple values ... ... .. .... .. ... .. .. .. ... ..... ... ... .. ... .. .. ..... ... 42 2.1.3.5. Routines ... .. .. .. ....... .. ... .... .. ... .. ... ... ..... .. .. .. .. ... .. .. .... 45 2.1.3.6. Acceptability of values ................................................. 45 2.1.4. Actions .. .. .. .. .. ... .. ... .... .... .. .... ... .. .. .. .... ... ..... .... ... .. ... .. ... .. .... .. 46 2.1.4.1. Elaboration .................................................................. 46 2.1.4.2. Serial and collateral actions ......................................... 47 2.1.4.3. Initiation, completion and termination .......................... 48 2.1.5. Abbreviations ...................................................................... 49 2.2. The program ............................................................................... 51 PART II Fundamental constructions 3. Clauses ............................................................................................... 53 3.1. Closed clauses ............................................................................. 53 3.2. Serial clauses .............................................................................. 54 3.3. Collateral and parallel clauses .. .. .. .. .. .. .. .. .. .... .. .. .. .. .. 57 3.4. Choice clauses ............................................................................. 59 3.5. Loop clauses ............................................................................... 63 4. Declarations, declarers and indicators . .. .. 66 4.1. Declarations ................................................................................ 66 4.2. Mode declarations . .... .. .. .. .. .. ... ...... ... .... ... .. .. ...... .. ... .. ... ..... ... ... .. .. .. 67 4.3. Priority declarations ................................................................... 68 4.4. Identifier declarations . .. .. ... ... .. ... ... .... .. .. .. ... ... .. ... .. .. .. .. .. .. ... .. .. 68 4.5. Operation declarations ................................................................ 70 4.6. Declarers . .. .. .. .. ..... ... .... .. .. .. ... .... .. ... .. .. .... .. .. .. .. .. ... .. ... .. ... .. ... ... .. ... 71 4.7. Relationships between modes ...................................................... 74 4.8. Indicators and field selectors .. ... .... .. ... .. ..... ..... .. ... .. ... .. ... ... .... 76 ALGOL 68 Revised Report 3 5. Units .................................................................................................. 77 5.1. Syntax ........................................................................................ 77 5.2. Units associated with names ....................................................... 78 5.2.l. Assignations .. .. .. .. ... ... ... .... .. ... .. ... .. ... .. .. .... ......... ... .. ... .. .. .. 78 5.2.2. Identity relations ................................................................. 79 5.2.3. Generators ........................................................................... 80 5.2.4. Nihils ... .... .... .... .. .. .. .. .. ... ... .. ... .... ..... ... .. ... .. .. .. .. .... ... .. ... ... 82 5.3. Units associated with stowed values .. .......... ......... ................ .... ... 82 5.3.l. Selections .... .. ... .. .... .... ... ... .... ... .. ..... ... .. ... .. ... .. ..... .. ... .. .... .... 82 5.3.2. Slices .... .... .. .. .. .... .. .. ... .. .. .. ... .. ... .. .. .. ... .. ... ... .. ... .. .. .. ... .. ... ... .. 83 5.4. Units associated with routines .... ...... .. .. .................. ...... .. ... .. .. .. .... 86 5.4.l. Routine texts ....................................................................... 86 5.4.2. Formulas .. .... ... ... .... .... ... .. .. .. ... ... ... .. .... ... .. ... .. ... ... .. ... .. ... .. 87 5.4.3. Calls . .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. 88 5.4.4. Jumps . .. .. .. .. .. .. .. .. ... ... ... ... .. .. ... ... .. .. ... .. .. .. ... .. .. ... .. .. .. .... .. 89 5.5. Units associated with values of any mode .... ..... .. .... ..... .. .. .. .. .. .. .. 90 5.5.l. Casts . .... ... .... ... .... .. ... ... ... .. .. .. .. .. .. .. ... ... .. .. .. .. .. .. ... .... 90 5.5.2. Skips ................................................................................... 90 PART III Context dependence 6. Coercion .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. 91 6.1. Coercees ..................................................................................... 91 6.2. Dereferencing ............................................................................. 93 6.3. Deproceduring ............................................................................ 94 6.4. Uniting . .... .... ... ... ... ... .. ... .. ... ... ... ...... .... .. .. ... .. .. .. .. .. ... .... ... .. ... 94 6.5. Widening .. .. .. .. .... ... ... ... .. .. ... .. .. ..... ... .... ... .. .. .. ... .. .. ... .. ... ... ... 95 6.6. Rowing .. .. .. .... ... .. .. .. .. .... .. .. ... ... .... .. ... .. .. .. ... .. .. .. ... .. ... .. ... .. ... ... 96 6.7. Voiding ....................................................................................... 97 7. Modes and nests . .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. 98 7 .l. Independence of properties .......................................................... 98 7.2. Identification in nests ................................................... ............... 101 7.3. Equivalence of modes ................................................................
Recommended publications
  • A Politico-Social History of Algolt (With a Chronology in the Form of a Log Book)
    A Politico-Social History of Algolt (With a Chronology in the Form of a Log Book) R. w. BEMER Introduction This is an admittedly fragmentary chronicle of events in the develop­ ment of the algorithmic language ALGOL. Nevertheless, it seems perti­ nent, while we await the advent of a technical and conceptual history, to outline the matrix of forces which shaped that history in a political and social sense. Perhaps the author's role is only that of recorder of visible events, rather than the complex interplay of ideas which have made ALGOL the force it is in the computational world. It is true, as Professor Ershov stated in his review of a draft of the present work, that "the reading of this history, rich in curious details, nevertheless does not enable the beginner to understand why ALGOL, with a history that would seem more disappointing than triumphant, changed the face of current programming". I can only state that the time scale and my own lesser competence do not allow the tracing of conceptual development in requisite detail. Books are sure to follow in this area, particularly one by Knuth. A further defect in the present work is the relatively lesser availability of European input to the log, although I could claim better access than many in the U.S.A. This is regrettable in view of the relatively stronger support given to ALGOL in Europe. Perhaps this calmer acceptance had the effect of reducing the number of significant entries for a log such as this. Following a brief view of the pattern of events come the entries of the chronology, or log, numbered for reference in the text.
    [Show full text]
  • Internet Engineering Jan Nikodem, Ph.D. Software Engineering
    Internet Engineering Jan Nikodem, Ph.D. Software Engineering Theengineering paradigm Software Engineering Lecture 3 The term "software crisis" was coined at the first NATO Software Engineering Conference in 1968 by: Friedrich. L. Bauer Nationality;German, mathematician, theoretical physicist, Technical University of Munich Friedrich L. Bauer 1924 3/24 The term "software crisis" was coined at the first NATO Software Engineering Conference in 1968 by: Peter Naur Nationality;Dutch, astronomer, Regnecentralen, Niels Bohr Institute, Technical University of Denmark, University of Copenhagen. Peter Naur 1928 4/24 Whatshouldbe ourresponse to software crisis which provided with too little quality, too late deliver and over budget? Nationality;Dutch, astronomer, Regnecentralen, Niels Bohr Institute, Technical University of Denmark, University of Copenhagen. Peter Naur 1928 5/24 Software should following an engineering paradigm NATO conference in Garmisch-Partenkirchen, 1968 Peter Naur 1928 6/24 The hope is that the progress in hardware will cure all software ills. The Oberon System User Guide and Programmer's Manual. ACM Press Nationality;Swiss, electrical engineer, computer scientist ETH Zürich, IBM Zürich Research Laboratory, Institute for Media Communications Martin Reiser 7/24 However, a critical observer may notethat software manages to outgrow hardware in size and sluggishness. The Oberon System User Guide and Programmer's Manual. ACM Press Nationality;Swiss, electrical engineer, computer scientist ETH Zürich, IBM Zürich Research Laboratory, Institute for Media Communications Martin Reiser 8/24 Wirth's computing adage Software is getting slower more rapidly than hardware becomes faster. Nationality;Swiss, electronic engineer, computer scientist ETH Zürich, University of California, Berkeley, Stanford University University of Zurich. Xerox PARC.
    [Show full text]
  • Latest Results from the Procedure Calling Test, Ackermann's Function
    Latest results from the procedure calling test, Ackermann’s function B A WICHMANN National Physical Laboratory, Teddington, Middlesex Division of Information Technology and Computing March 1982 Abstract Ackermann’s function has been used to measure the procedure calling over- head in languages which support recursion. Two papers have been written on this which are reproduced1 in this report. Results from further measurements are in- cluded in this report together with comments on the data obtained and codings of the test in Ada and Basic. 1 INTRODUCTION In spite of the two publications on the use of Ackermann’s Function [1, 2] as a mea- sure of the procedure-calling efficiency of programming languages, there is still some interest in the topic. It is an easy test to perform and the large number of results ob- tained means that an implementation can be compared with many other systems. The purpose of this report is to provide a listing of all the results obtained to date and to show their relationship. Few modern languages do not provide recursion and hence the test is appropriate for measuring the overheads of procedure calls in most cases. Ackermann’s function is a small recursive function listed on page 2 of [1] in Al- gol 60. Although of no particular interest in itself, the function does perform other operations common to much systems programming (testing for zero, incrementing and decrementing integers). The function has two parameters M and N, the test being for (3, N) with N in the range 1 to 6. Like all tests, the interpretation of the results is not without difficulty.
    [Show full text]
  • Boolean Matrix in the Matrix Equation (19)
    General Disclaimer One or more of the Following Statements may affect this Document This document has been reproduced from the best copy furnished by the organizational source. It is being released in the interest of making available as much information as possible. This document may contain data, which exceeds the sheet parameters. It was furnished in this condition by the organizational source and is the best copy available. This document may contain tone-on-tone or color graphs, charts and/or pictures, which have been reproduced in black and white. This document is paginated as submitted by the original source. Portions of this document are not fully legible due to the historical nature of some of the material. However, it is the best reproduction available from the original submission. Produced by the NASA Center for Aerospace Information (CASI) C f I l 1 ^o } Technical Report 69-86 March 1969 Design Automation by the Computer Design Language by Yaohan Cho Professor fr N he computer time used was supported by the National Aeronautics and Space Administration under Grant NsO 398 to the Computer Science Center of the University of Maryland. /i Abstract A Computer Design Language (CDL) has been developed for facilitating design automation of digital computers. When the functional organizatl.on and sequential operation of a digital computer are conceived and specified by the CDL, this d CDL description is called a Macro design. The macro design is highly descriptive in computer elements. it describes precisely and concisely what the computer is expected to do functionally step by step.
    [Show full text]
  • CWI Scanprofile/PDF/300
    ADAPI'ED: ADJUSTED; widened; rowed; NINE : EIGHI' plus one. hipped; voided. NONPROC : PLAIN ; format ; procedure ADIC : PRIORITY; monadic. with PARAMETERS MOID; reference to ADJUSTED: FITI'ED; procedured; united. NONPROC; structured with FIEIDS; .ALPHA : a ; b ; c ; d ; e ; f ; g ; h ; row of NONPROC ; UNITED • i ; j ; k ; 1 ; m ; n ; o ; p ; q ; NONROW: NONSTOWED; structured with r; S; t; U; V; W; X; y; z. FIEIDS. ANY: KIND; suppressible KIND; NONSTOWED : TYPE ; UNITED. replicatable KIND; NarION: .ALPHA; NOTION .ALPHA. replicatable suppressible KIND. NUMBER : one ; 'IWO ; THREE ; FOUR ; BITS : structured with row of boolean FIVE ; SIX ; SEVEN ; EIGHI' ; NINE. field LENGTHETY letter aleph. PACK : pack ; package. BOX : IMOODSETY box. PARAMETER: MODE parameter. BYTES: structured with row of character PARAMETERS : PARAMETER ; field LENGTHETY letter aleph. PARAMETERS and PARAMETER.. CLAUSE: MOID clause. PARAMETY : with PARAMETERS ; EMPTY. CLOSED: closed; collateral; conditional. PHRASE: declaration; CLAUSE. COERCEND : MOID FORM. PLAIN: INTREAL; boolean; character. COMPLEX: structured with real field PRAM: procedure with IMODE parameter letter r letter e and real field and RMODE parameter MOID; letter i letter m. procedure with RMODE parameter MOID. DIGIT: digit FIGURE. PRIMITIVE : integral ; real ; boolean EIGHI' : SEVEN plus one. character; format. EMPTY : . PRIORITY: priority NUMBER. FEAT : finn ; weak ; soft. PROCEDURE: procedure PARAMETY MOID. FIEID : MODE field TAG. REAL: LONGSETY real. FIEIDS FIEID ; FIEIDS and FIEID. REFETY: reference to; EMPTY. FIGURE: zero; one; two; three; four; RFIEIDSETY: and FIEIDS; EMPTY. five; six; seven; eight; nine. RMODE: MODE. FITI'ED: dereferenced; deprocedured. RMOODSETY : RMOODSETY and MOOD EMPTY. FIVE : FOUR plus one. ROWS: row of; ROWS row of. FORESE: ADIC formula; cohesion; base.
    [Show full text]
  • Niels Ivar Bech
    Niels Ivar Bech Born 1920 Lemvig, Denmark; died 1975; originator of Danish computer development. Niels Ivar Bech was one of Europe's most creative leaders in the field of electronic digital computers.1 He originated Danish computer development under the auspices of the Danish Academy of Technical Sciences and was first managing director of its subsidiary, Regnecentralen, which was Denmark's (and one of Europe's) first independent designer and builder of electronic computers. Bech was born in 1920 in Lemvig, a small town in the northwestern corner of Jutland, Denmark; his schooling ended with his graduation from Gentofte High School (Statsskole) in 1940. Because he had no further formal education, he was not held in as high esteem as he deserved by some less gifted people who had degrees or were university professors. During the war years, Bech was a teacher. When Denmark was occupied by the Nazis, he became a runner for the distribution of illegal underground newspapers, and on occasion served on the crews of the small boats that perilously smuggled Danish Jews across the Kattegat to Sweden. After the war, from 1949 to 1957, he worked as a calculator in the Actuarial Department of the Copenhagen Telephone Company (Kobenhavns Telefon Aktieselskab, KTA). The Danish Academy of Technical Sciences established a committee on electronic computing in 1947, and in 1952 the academy obtained free access to the complete design of the computer BESK (Binar Electronisk Sekevens Kalkylator) being built in Stockholm by the Swedish Mathematical Center (Matematikmaskinnamndens Arbetsgrupp). In 1953 the Danish academy founded a nonprofit computer subsidiary, Regnecentralen.
    [Show full text]
  • New Contracts
    whel"e wel"e tJ0U when the telejah0ne l"an~? Chances are you weren't anywhere-yet. For it was March 10, 1876 when Alexander Graham Bell made that first historic telephone call to Mr. Watson ... and another significant milestone in man's attempt to better himself and his environment had been passed. Now you and your family can enjoy, know better, and relive hundreds of rich and exciting days just like this when you enroll as a Founding Associate of THE NATIONAL HISTORICAL SOCIETY If you would relish the experience of being a spectator at the fascinating West-anywhere Americans can trace roots or great moments in America's past- from yesterday back; if you have left a mark for all time. would like unique tailor-made vacations to spots where America's Three-day seminars featuring presentations by some of the heritage is always just around the corner; if you would have a country's most outstanding historians ... and held at actual place for authentic, unbelievably priced antique reproductions; historical settings, providing both eye-and-ear witness to the and the opportunity to always renew your association with the way it actually happened. Society at the same low dues cost; take this opportunity now­ before the rolls close- to become a Founding Associate. You'll The opportunity to buy-at discounts up to 25%-the latest be pleased and proud, too, to frame and display the handsome and best in new books on history, without the usual commit­ Certificate, personally inscribed for you, as a permanent symbol ment of belonging to a book club.
    [Show full text]
  • A DATA DEFINITION FACILITY for PROGRAMMING LANGUAGES By
    A DATA DEFINITION FACILITY FOR PROGRAMMING LANGUAGES by T. A. Standish Carnegie Institute of Technology ....... PittsbUrgh, Pennsylvania May 18, 1967 Submitted to the Carnegie Institute of Technology ....... in partial fulfillment of the requirements for the degree of Doctor of Philosophy This work was supported by the Advanced Research Projects Agency of the Office of the Secretary of Defense (SD-146). Abstract This dissertation presents a descriptive notation for data structures which is embedded in a programming language in such a way that the resulting language behaves as a synthetic tool for describing data and processes in a number of application areas. A series of examples including formulae, lists, flow charts, Algol text, files, matrices, organic molecules and complex variables is presented to explore the use of this tool. In addition, a small formal treatment is given dealing with the equivalence of evaluators and their data structures. -ii- Table of Contents Title Page ....................... i Abstract ........................ ii Table of Contents .................... iii Acknowledgments .................... v Chapter I. Introduction .................. 1 Chapter II. A Selective Review of the Work of Others ...... 17 Chapter III. The Data Definition Facility ........... 25 1. Chapter Summary .............. 25 2. General Description .............. 25 3. Component Descriptions ........... 30 4. Elementary Descriptors ........... 34 5. Modified Descriptors ............ 40 6. Descriptor Formulae ............ 48 7. Declaring Descriptor Variables. and Descriptor Procedures ......... 51 8. Predicates, Selectors, Constructors and Declarations ............. 53 9. Constructors ............... 53 10. Selectors ................. 58 11. Predicates ................ 60 12. Declarations ............... 64 13. Reference Variables, Pointer Expressions and the Contents Operation ......... 65 14. Overlay Assignments, Sharing of Structures and Copying of Structures .......... 68 - iii- Table of Contents, Continued 15.
    [Show full text]
  • A Complete Bibliography of Publications in Science of Computer Programming
    A Complete Bibliography of Publications in Science of Computer Programming Nelson H. F. Beebe University of Utah Department of Mathematics, 110 LCB 155 S 1400 E RM 233 Salt Lake City, UT 84112-0090 USA Tel: +1 801 581 5254 FAX: +1 801 581 4148 E-mail: [email protected], [email protected], [email protected] (Internet) WWW URL: http://www.math.utah.edu/~beebe/ 23 July 2021 Version 2.85 Title word cross-reference .NET [1085, 1074]. 0 [195, 291, 202, 572, 183, 515, 265, 155, 192, 231, 243, 514, 245, 1980, 295, 156, 151, 206, 1 + 118 [2359]. 10 [91]. $102.50 [267, 268]. 146, 203, 213, 289, 285, 286, 287, 219, 244, 11 [95]. 12 [101]. 13 [103]. 14 [107]. 15 [112]. 207, 246, 182, 229, 153, 321, 296, 217, 208, 16 [117]. 18 [125]. 19 [131]. 2 [43]. 20 [147]. 297, 193, 180, 298, 67, 204, 267, 268, 194, 21 [160]. 22 [178]. 23 [190]. 24 [242]. 3 [47]. 216, 320, 181, 317, 145, 214, 266, 269, 397, 3=2 [693]. $31.25 [320]. 4 [54]. 5 [61]. 6 [66]. 169, 574, 390, 215, 173, 1976, 227, 185, 575, + 2 7 [72]. $74.25 [318]. 8 [77]. [2065, 2428]. 226, 318, 270, 201, 288, 166, 205, 196, 284, 3 [466]. [1492]. 1 [944]. fun [1352]. SCR [1723]. 230, 247, 248, 249, 250, 524]. 0-06-042225-4 M jj [1894]. CSP B [1280]. ∆IC [879]. E3 [180]. 0-12-064460-6 [214]. 0-12-274060-2 [523]. j [1050, 1534]. k [1890, 2529]. λ [146].
    [Show full text]
  • CWI Scanprofile/PDF/300
    STICHTING MATHEMATISCH CENTRUM ,,n 2e BOERHAAVESTRAAT 49 AMSTERDAM REKENAFDELING MR 100 FINAL DRAFT REPORT ON THE ALGORITHMIC LANGUAGE ALGOL 68 A. van Wijngaarden ·(editor), B • J. Mailloux, J. E. L. Peck I , and C. H.A.Koster · Commissioned by Worldng Group 2 .1 on ALGOL of the International Federation .for Information Processing December 1968 MATHEMATISCH Contents P. Prologue P.1. History of the Report . P. 2. Membership of the Working Group::· · P.3. Maintenance P.4. References o. Introduction 0.1. Aims and principles of design 0.1.1. Completeness and clarity of description. 0.1.2. Orthogonal design.- 0.1.3. Security. 0.1.4. Efficiency. 0.1.4.1. Static mode checking. 0.1.4.2. Static scope checking. 0.1.4.3. Mode independent parsing. 0 • 1 • 4. 4. Independent compila·tion. 0 • 1 • 4. 5 • Loop optimization. 0. 1 • 4. 6. Representations 0.2. Comparison with ALGOL 60 0.2.1. Values in ALGOL 68. 0.2.2. Declarations in ALGOL 68. 0.2.3. Dy­ namic storage allocation in ALGOL 68. 0.2.4. Collateral elaboration in ALGOL 68. 0.2.5. Standard declarations in ALGOL 68. 0.2.6. Some particu­ lar constructions in ALGOL 68 1 • Language and metalanguage ":· ,,.. 1.1. The method of description . 1 • 1 • 1 • 'I'he strict, extended and representation languages. 1 • 1 • 2. The syntax of the strict language. 1.1.3. The·syntax of the metalanguage. 1.1.4. The production rules of the metalanguage. 1.1.5. The production rules of the strict language. 1.1.6.
    [Show full text]
  • Wirth Transcript Final
    A. M. Turing Award Oral History Interview with Niklaus Wirth by Elena Trichina ETH, Zürich, Switzerland March 13, 2018 Trichina: My name is Elena Trichina. It is my honor to interview Professor Niklaus Wirth for the Turing Award Winners Project of the Association for Computing Machinery, the ACM. The Turing Award, sometimes referred to as “the Nobel Prize of computing,” is given annually for major contributions of lasting importance in computing. Professor Wirth received his award in 1984 in recognition of his outstanding work in developing a sequence of programming languages – Euler, Algol-W, Pascal, Modula. The hallmarks of Wirth’s languages are their simplicity, economy of design, and high-level engineering. We will talk about it and many other things later today in the interview that takes place on the 13th of March, 2018, in the Swiss Federal Institute of Technology. So we start. Ready? Guten Tag, Niklaus. Gruetzi. Wirth: Добрый ден, Елена Василевна Здравствуи [Good morning, Elena. Hello. – ed.] Trichina: Well, although your command of Russian is sufficient, my command of Swiss German is a little bit rudimentary. Shall we continue in one of the languages where we both feel comfortable? What would it be? French? English? Wirth: Oh, I think English is better for me. Yes, yes. Trichina: Okay. It’s probably better for the audience. [laughs] Wirth: Okay. True. Trichina: Okay. We continue in English. Here in front of me there is a list of the most important days in your life. You were born in February 1934 in Winterthur, which is a sort of middle-size industrial town in Switzerland.
    [Show full text]
  • I Vestiti Vecchi Dell'imperatore Di Tony C.A.R
    Tony C.A.R. Hoare ACM Turing Award per "fondamentali contributi alla definizione ed alla progettazione di linguaggi di programmazione". Il premio gli è stato consegnato alla Conferenza Annuale dell' ACM in Nashville, Tennessee, il 27 Ottobre 1980, da Walter Carlson, CPresidente del comitato per i Premi. Una trascrizione della conferenza di Hoare[12] è stata pubblicata nelle Communications of the ACM.[2] I Vestiti Vecchi dell'Imperatore di Tony C.A.R. Hoare Communications of the ACM, 1981 (in occasione del conferimento del Turing Award) Il mio primo e più piacevole obbligo da assolvere con questa conferenza, è quello di esprimere la mia profonda gratitudine alla Association for Computing Machinery per il grande onore che ha voluto attribuirmi, e per la presente opportunità di rivolgermi a voi con un argomento di mia scelta. In realtà si tratta di una scelta davvero difficile! I risultati scientifici da me ottenuti, così largamente riconosciuti da questo premio, sono già stati ampiamente descritti nella letteratura scientifica. Anzichè riproporre gli astrusi dettagli tecnici del mio mestiere, vorrei parlarvi in modo informale di me, delle mie esperienze personali, delle mie speranze e dei miei timori, dei miei modesti successi, e anche dei miei meno modesti insuccessi. Ho imparato di più dai miei errori di quello che possano rivelare le fredde parole stampate di un articolo scientifico, ed ora mi piacerebbe che anche voi possiate ricavare da essi un insegnamento. Inoltre, dei fallimenti è molto più piacevole sentir parlare dopo qualche tempo; essi sul momento non risultano così divertenti. Faccio partire il mio racconto nell'Agosto del 1960, quando divenni un programmatore per un relativamente piccolo fabbricante di computer, una divisione della Elliott Brothers (London) Ltd., dove nei successivi otto anni avrei ricevuto la mia educazione di base in computer science.
    [Show full text]