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 Concepts, techniques, and models of computer programming

    Concepts, techniques, and models of computer programming

    Peter Van Roy, Seif Haridi · 2004

    Teaching the science and the technology of programming as a unified discipline that shows the deep relationships between programming paradigms. This innovative text presents computer programming as a unified discipline in a way that is both practical and scientifically sound. The book focuses on techniques of lasting value and explains them precisely in terms of a simple abstract machine. The book presents all major programming paradigms in a uniform framework that shows their deep relationships and how and where to use them together. After an introduction to programming concepts, the book presents both well-known and lesser-known computation models ("programming paradigms"). Each model has its own set of techniques and each is included on the basis of its usefulness in practice. The general models include declarative programming, declarative concurrency, message-passing concurrency, explicit state, object-oriented programming, shared-state concurrency, and relational programming. Specialized models include graphical user interface programming, distributed programming, and constraint programming. Each model is based on its kernel language—a simple core language that consists of a small number of programmer-significant elements. The kernel languages are introduced progressively, adding concepts one by one, thus showing the deep relationships between different models. The kernel languages are defined precisely in terms of a simple abstract machine.

    Programming
    Open LibraryAmazon
    Stats for nerds
    70recommend
    133mentions
    93people
    2007–2026years
    70% recommend30% neutral

    Mentions per year

    2007200920112013201520172019

    What Hacker News says

    1. rramadassApr 2026
      Folks might find the following useful for studying PLs;

      1) Advanced Programming Language Design by Raphael Finkel - A classic (late 90s) book comparing a whole smorgasbord of languages.

      2) Design Concepts in Programming Languages by Franklyn Turbak et al. - A comprehensive (and big) book on PL design.

      3) Concepts, Techniques and Models of Computer Programming by Peter Van Roy et al. - Shows how to organically add different programming paradigms to a simple core language.

      thread
    2. bmezJan 2026
      Given unlimited time, read all of them, learn all the languages. It will all help make you a better programmer in your preferred language. With limited time (as a normal being), start with the top 100 books. Any of them. The next will be simpler than the first...

      I have an M.Sc. in Comp.Sci. Flicking through books like these, all the chapter titles resonate with courses, exams, and problems we solved. It also makes me realise I have probably forgotten more than I like to think.

      On the other hand, bashing my head against graph theory and logic, has made me a much better programmer. Similarly, the hours spent in Van Roy and Haridi's fairly abstract and technically language-agnostic "Concepts, Techniques and Models of Computer Programming" made me primed to learn a lot of languages fast - because I had the primitives mastered.

      thread
    3. nextosSep 2025
      For a classic CS view around the year 2000:

      * Concepts, Techniques, and Models of Computer Programming

      * Engineering a Compiler

      * The Elements of Computing Systems

      thread
    4. ZoomZoomZoomJun 2025
      Since this is actually the same edition that's been available for at least 7 years, but you still clicked the link, it's very likely you're interested in something along those lines. Consider getting "Concepts, Techniques, and Models of Computer Programming First Edition"[1] by Peter Van Roy and Seif Haridi. Although not exactly cutting edge (2004) and Oz-centric[2], still a great read and, for many, a fresh perspective.

      1. https://en.wikipedia.org/wiki/Concepts,_Techniques,_and_Mode...

      2. https://en.wikipedia.org/wiki/Oz_(programming_language)

      PS: I'll appreciate your recommendations as replies!

      thread
    5. somethingsomeMar 2025
      I already posted this another time, but I think this book deserve to be more known.

      Peter Van Roy, Concepts, Techniques, and Models of Computer Programming, 2004

      It uses the language developed in this book (Oz).

      The book constructs many of the current programming paradigms, starting from almost nothing, with an emphasis on software design.

      See the paradigms poster built http://www.info.ucl.ac.be/people/PVR/paradigmsDIAGRAMeng201....

      thread
    6. mkleczekNov 2024
      "Concepts, Techniques, and Models of Computer Programming" by Peter Van Roy and Seif Haridi is my favourite.
      thread

    Related

    Cover of Essentials of programming languages
    2008–2026

    Essentials of programming languages

    Daniel P. Friedman
    43 recommend · 76
    Cover of Structure and Interpretation of Computer Programs
    2007–2026

    Structure and Interpretation of Computer Programs

    Harold Abelson
    347 recommend · 761
    Cover of The art of computer programming
    2007–2026

    The art of computer programming

    Donald Knuth
    336 recommend · 1,799
    Cover of How to Design Programs
    2007–2026

    How to Design Programs

    Matthias Felleisen
    277 recommend · 776
    Cover of Computer systems
    2009–2026

    Computer systems

    Randal Bryant
    67 recommend · 110
    Cover of The Elements of Computing Systems
    2008–2026

    The Elements of Computing Systems

    Noam Nisan
    204 recommend · 344
    Cover of Types and Programming Languages
    2008–2026
    2021
    2023
    2025
    2026

    Types and Programming Languages

    Benjamin C. Pierce
    132 recommend · 321
    Cover of The UNIX programming environment
    2007–2026

    The UNIX programming environment

    Brian W. Kernighan
    86 recommend · 215