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 The architecture of concurrent programs

    The architecture of concurrent programs

    Per Brinch Hansen · 1977

    Systems & OSProgramming
    Open LibraryAmazon
    Stats for nerds
    2recommend
    5mentions
    4people
    2021–2025years
    40% recommend60% neutral

    Mentions per year

    20212022202320242025

    What Hacker News says

    1. wglbFeb 2025
      A Discipline of Programming, Dijkstra

      The architecture of Concurrent Programs, Per Brinch Hansen

      Literate programming--see http://www.literateprogramming.com/

      I don't recommend Design Patterns, as these are elements needed if your programming language is inadequate.

      There are many more.

      thread
    2. lukegoDec 2023
      The Architecture of Concurrent Programs (his book) is a real treasure. I read that on a tip from Ralph Johnson way back when on the C2 wiki.

      Special purpose operating systems e.g. with disk driver (for input) and a compiler (the application) and a printer driver (for output.)

      Those were the days!

      thread
    3. Joker_vDSep 2022
      > "Such a module is called a monitor…” Not a mutex? It literally has the words “mutual exclusion” in it. Is this where Java’s bogus synchronization comes from?

      > Can’t really blame him, literally nobody knew how to do multithreading well before Rust. Even in 2013 your choices were limited to “Erlang” and “suffering”. And in 1978 I’m not sure that anyone even had done enough multiprogramming for practical concerns like that to come up.

      To borrow from the author himself, "omg it's adorable". Per Brinch Hansen invented, named, and implemented this "monitor" concept in 1968 or somewhen about that time and published it in his 1973 book "Operating System Principles" (C.A.R. Hoare would popularize this concept further in his 1974 paper "Monitors: An Operating System Structuring Concept"). This book also describes RC 4000 operating system which, by the way, inspired the whole microkernel research in the 70-ies and 80-ies. By 1978, the same Hansen guy has published another book, "The Architecture of Concurrent Programs", in which he describes both a new language, Concurrent Pascal, and a new microkernel OS called "Solo", implemented entirely in Concurrent Pascal.

      So believe it or not, people did know how to do multithreading stuff way before Rust has graced us all with its existence.

      thread
    4. Joker_vDJun 2022
      It's been done way earlier than MSFT's SingularityOS: see e.g. Hansen's book "The Architecture of Concurrent Programs" (from 1977) where he writes an OS in Pascal with exactly this approach to process separation.

      Heck, I'd argue everyone who writes their own toy OS should probably start with this approach and then retrofit memory protection later because it simplifies things tremendously and you get something actually usable much earlier (context switching between is not that hard but it's complicated, especially on x86).

      thread
    5. vajrabumSep 2021
      Per Brinch Hansen wrote the first comprehensive textbook on operating systems Operating Systems Principles, and with Tony Hoare was the developer of the monitor concept in operating systems, developed the first implementation of a monitor in Concurrent Pascal which he developed. His book The Architecture of Concurrent Programs included a small operating sytem Solo written in Concurrent Pascal which was likely the first microkernel OS. So a very influential and original computer scientist.
      thread

    Related

    Cover of Threaded interpretive languages
    2009–2026

    Threaded interpretive languages

    R. G. Loeliger
    24 recommend · 38
    Cover of A discipline of programming
    2009–2025

    A discipline of programming

    Edsger Wybe Dijkstra
    16 recommend · 51
    Cover of Java Concurrency in Practice
    2009–2026

    Java Concurrency in Practice

    Brian Goetz
    53 recommend · 82
    Cover of Concurrent Programming in Java
    2008–2023

    Concurrent Programming in Java

    Doug Lea
    1 recommend · 5
    Cover of Parallel And Concurrent Programming In Haskell
    2013–2025

    Parallel And Concurrent Programming In Haskell

    Simon Marlow
    24 recommend · 34
    Cover of Concurrent programming on Windows
    2010–2021

    Concurrent programming on Windows

    Joe Duffy
    4 recommend · 4
    Cover of Designing Data-Intensive Applications
    2014–2026

    Designing Data-Intensive Applications

    Martin Kleppmann
    457 recommend · 846
    Cover of Communicating sequential processes
    2009–2026

    Communicating sequential processes

    C. A. R. Hoare
    25 recommend · 73