Skip to content
HomeVideosBooks
AllTopicsTrends
BlogsPodcasts
HistoryListsWatch laterLiked videosFollowing

The videos, books, blogs and podcasts Hacker News keeps recommending, all in one place.

VideosBooksBlogsPodcastsAboutPrivacySettings

Data from Hacker News, HackerTube, HackerBooks, HackerBlogs and Open Library. Credits · Not affiliated with Y Combinator.

HomeVideosBooksBlogsPodcasts
Ctrl K
    Cover of Programming Languages

    Programming Languages

    Jean E. Sammet · 1969

    The primary purpose of this book is to serve as a reference for an overall view of higher level languages. The book brings together in one place, and in a consistent fashion, fundamental information on programming languages, including history, general characteristics, similarities, and differences. A second purpose of the book is to provide specific basic information on all the significant, and most of the minor, higher level languages developed in the United States. The third purpose of the book is to provide history and perspective for this particular aspect of the programming field. - Preface.

    Computer ScienceProgrammingMathematics
    Open LibraryAmazon
    Stats for nerds
    1recommend
    6mentions
    4people
    2013–2023years
    17% recommend83% neutral

    Mentions per year

    201320152017201920212023

    What Hacker News says

    1. kpsApr 2023
      One I like: Jean Sammet, Programming Languages: History and Fundamentals, from 1969. https://archive.org/details/SammetProgrammingLanguages1969

      And related, the HOPL proceedings, the first at https://dl.acm.org/doi/book/10.1145/800025 and the rest at https://dl.acm.org/conference/hopl/proceedings , finally freely available.

      thread
    2. earthicusMar 2019
      According to an amazon reviewer [1], Sammet's book Programming Languages: History and Fundamentals (from 1969) already discusses ~120 different languages! And gives code examples in 30 of them.

      [1] https://www.amazon.com/Programming-Languages-Fundamentals-Au...

      thread
    3. kpsApr 2018
      Too late to edit, but I've gone and done it: scanned through Sammet's Programming Languages: History and Fundamentals for languages with identifiable assignment statements. I skip assembly-style, English-like (COBOL etc.), and functional-style (LISP etc.) syntax, and for summary purposes ignore accompanying keywords like BASIC's LET.

      Results:

      ν = ε     18 (AMTRAN, BASIC, COLASL, CPS, FORTRAN, FORTRANSIT, JOSS, JOVIAL, Klerer-May, Laning & Zierler, MAD, MADCAP, MAP, MATH-MATIC, MIRFAC, PL/I, QUICKTRAN, UNICODE)

      ν ← ε     4 (APL, DIALOG, IT, LISP2)

      ε → ν     2 (MADCAP, NELIAC)

      ν := ε     1 (ALGOL)

      ε * ν     1 (BACIAC)

      So pretty much everybody used ‘=’. ALGOL was an outlier, though admittedly more influential than BACIAC.

      thread
    4. breckJun 2017
      Though it looks only useful for the listing and factual description of languages at that time:

      47[12].- -JEAN E. SAMMET, Programming Languages: History and Fundamentals, Prentice-Hall, Inc., Englewood Cliffs, N. J., 1969, xxx $ 785 pp., 24 cm. Price $18.00 ($13.50 student edition). Programming Languages: History and Fundamentals is a monumental and encyclopedic treatment of its field. The primary aim of the book, as stated by the author, is to provide, ". . . in one place, and in a consistent fashion, fundamental information on programming languages, including history, general characteristics, similarities,'and differences." This aim has without doubt been achieved, and achieved well. A second aim is"... to provide specific basic information on all the significant, and most of the minor, higher level languages developed in the United States." This aim also has been achieved; there is an impressive collection of about 120 languages described in varying amounts of detail. The book is organized into three introductory chapters, six chapters on languages grouped more or less according to application areas, and two chapters on unimplemented concepts and future long-range developments. The organization is well thought out and suits the author's purposes admirably. The first chapter is devoted to defining what is meant by a programming language, to pros and cons of higherlevel languages, to classifying and categorizing languages, and to a presentation of factors influencing the choice of a language. Omitted from consideration are most European programming languages, and certain languages that are not, by the author's definition, higher-level programming languages, e.g., Report Generator, Autocoder, APL and SLIP. The second and third chapters are devoted to describing functional and technical characteristics of programming languages, partly with the aim of developing a format for the later discussions of specific languages. Functional characteristics, roughly, are the historical, political, economic, and pragmatic aspects of a language, i.e., those that are not part of its definition. Technical characteristics have to do with the actual syntax and semantics of the language. This outline of discussion is spelled out in some detail and generally adhered to in the sequel. The fact that approximately equal amounts of space are devoted to functional and technical characteristics is an indicator of the tone of the discussion. The author does not attempt to teach the reader how to program in any of the languages discussed, and indeed, one certainly would not learn programming from this book. As a reference work for background on specific programming languages, the book is a success. As a textbook on programming languages as a field of study, it is not. The tone of the introductory chapters is too platitudinous, and the technical information, both in depth and in organization, is inadequate to the task of imparting a feeling for what programming languages are all about. The difficulty is that this feeling can ultimately be achieved only by actually writing programs in various languages and thus coming to appreciate their fine points. Thus, the uniformity of organization across languages is achieved at the cost of omitting really deep examination of a few of them. The chapter on technical characteristics attempts to raise the issues of what choices a language designer must make, but the question of how, historically, they have been made is scattered among the different language discussions and never really explored in depth. Questions such as scoping rules, extensibility, and the structuring of data aggregates are never treated in a unified way, and the material on minor languages and on functional characteristics tends to deemphasize the importance of the technical characteristics of the major languages. There are no exercises in the book, and, indeed, the material provides no basis for exercises. In summary: Programming Languages: History and Fundamentals is a fine source for factual knowledge, but a poor source for gaining understanding. PAUL ABRAHAMS

      thread
    5. dandrewsJul 2015
      In re: the vast number of available programming languages... not really a new problem. I've always been amused by the "Tower of Babel" illustration on the cover of Jean Sammet's 1969 book, Programming Languages: History and Fundamentals.

      http://ecx.images-amazon.com/images/I/51jYiKlauWL._SX330_BO1...

      thread
    6. kpsFeb 2013
      Several early programming systems did use custom character sets (custom type bars) as well as typewriter-oriented notations like overstrikes, half-line motions for superscripts (powers) and subscripts (indexes), and colour (red half of the ribbon for comments)¹. Except for APL, which had IBM behind it, these tended not to escape their original research environments.

      Relatively large-scale production required I/O devices to share a common character set. These tended to be based on pre-computer character sets (teletypes, punched cards) and were limited in size both by the I/O devices and by storage requirements (don't forget how small and expensive memories were). A lot of work went into choosing character sets.²³⁴

      1963 ASCII had an up arrow ‘↑’ dropped in 1967 in favour of ^ (because furriners wanted accents), and a left arrow ‘←’ dropped in favour of ‘_’.⁵⁶

      ¹Jean Sammet, Programming Languages: History and Fundamentals 978-0137299881
 ²Charles E. MacKenzie, Coded Character Sets: History and Development 978-0201144604
 ³http://www.trailing-edge.com/~bobbemer/SURVEY.HTM ⁴R W Bemer, Design of an improved transmission/data processing code http://dx.doi.org/10.1145/366532.366538
 ⁵American Standard Code for Information Interchange http://www.wps.com/projects/codes/X3.4-1963/index.html
 ⁶Revised U.S.A. Standard Code for Information Interchange http://www.wps.com/J/codes/Revised-ASCII/index.html


      thread

    Related

    Cover of Types and Programming Languages
    2008–2026

    Types and Programming Languages

    Benjamin C. Pierce
    132 recommend · 321
    Cover of Code
    2008–2026

    Code

    Charles Petzold
    243 recommend · 385
    Cover of Essentials of programming languages
    2008–2026

    Essentials of programming languages

    Daniel P. Friedman
    43 recommend · 76
    Cover of The art of computer programming
    2007–2026

    The art of computer programming

    Donald Knuth
    336 recommend · 1,799
    Cover of The C Programming Language
    2007–2026

    The C Programming Language

    Brian W. Kernighan
    246 recommend · 604
    Cover of Structure and Interpretation of Computer Programs
    2007–2026

    Structure and Interpretation of Computer Programs

    Harold Abelson
    347 recommend · 761
    Cover of Practical Foundations for Programming Languages
    2013–2026

    Practical Foundations for Programming Languages

    Robert Harper
    17 recommend · 34
    Cover of Programming Language Pragmatics
    2008–2026

    Programming Language Pragmatics

    Michael L. Scott
    31 recommend · 54