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 Large-scale C++ software design

    Large-scale C++ software design

    John Lakos · 1996

    ProgrammingSoftware Engineering
    Open LibraryAmazon
    Stats for nerds
    24recommend
    41mentions
    34people
    2009–2026years
    63% recommend29% neutral7% critical

    Mentions per year

    2009201120132015201720192021202320252026

    What Hacker News says

    1. RossBencinaSep 2025
      > If you avoid circular refs

      See the book "Large Scale C++ Software Design" by John Lakos for more detail in this direction.

      thread
    2. rramadassDec 2024
      > In general my project is late adopters.

      Amen ;-)

      John Lakos' old Large Scale C++ Software Design (there is a newer edition which i have not read) taught me C++ "physical design".

      thread
    3. halfcatDec 2024
      I recall not being very effective with C++ for years, and then someone recommended the book Large Scale C++ Software Design, and that was a big unlock.

      I didn’t use 80% of what’s in the book, but just having a comprehensive way of structuring the code was a massive productivity boost. Looking back, I suspect it was less that it was “the right way”, but just that it was “a way” and most of the benefit was it kept me from overthinking and got me to work.

      Later with C++11, I kept having this thought, “in Python this would be way less verbose”, and I started writing C++ that looked more like Python, creating whatever helper functions Python would have (mostly simple stuff, string handling, etc).

      That was one of the most productive seasons of programming I ever had, and I still get tempted to write stuff in C++ that Python is better suited for, just because the benefit of not overthinking is that significant (at least for me).

      thread
    4. AdieuToLogicMar 2024
      This article reminded me of a seminal C++ book on this subject:

      Lakos, John (1996). Large-Scale C++ Software Design. Addison-Wesley.

      thread
    5. lll-o-lllJan 2024
      Yeah, but it’s the type of tests that are often the problem. You need tests that cover the functional (and as much as possible, non-functional), requirements of each “component”.

      In practice, we tend to have a pile of tests that helped the developer write the code, but now are simply redundant. Then you have all the tests that assert on internal details (strings in error messages anyone?).

      My favorite guide to testing well is in “Large-Scale C++ Software Design” by John Lakos. The problem at its heart is one of engineering practices. Structuring code bases physically into definable components/modules, interacting only via defined api’s/interfaces and providing test suits that both document and verify the contracts. Done right, refactoring/rewriting involves no, or extremely minimal, changes to the tests.

      It can be done right, but it requires significant discipline.

      thread
    6. WantonQuantumJul 2023
      I read Large-Scale C++ Software Design by John Lakos when it came out and even though I don't do much C++ anymore, it set me up with a mental model that has worked very well for almost 30 years now.
      thread

    Related

    Large-Scale C++ Volume IIJohn Lakos
    2020–2026

    Large-Scale C++ Volume II

    John Lakos
    1 recommend · 2
    Cover of Large-scale C[plus plus] software design
    2011–2024

    Large-scale C[plus plus] software design

    John Lakos
    6 recommend · 14
    Cover of The C++ programming language
    2008–2026

    The C++ programming language

    Bjarne Stroustrup
    19 recommend · 49
    Cover of Beautiful C++
    2022–2025

    Beautiful C++

    John Davidson
    1 recommend · 3
    Cover of Functional Programming in C++
    2019–2026

    Functional Programming in C++

    Ivan Cukic
    3 recommend · 6
    The C++ standard template libraryP. J. Plauger
    2015–2026

    The C++ standard template library

    P. J. Plauger
    1 recommend · 8
    Cover of A Tour of C++
    2013–2026

    A Tour of C++

    Bjarne Stroustrup
    65 recommend · 150
    Cover of Modern C++ Design
    2007–2026

    Modern C++ Design

    Andrei Alexandrescu
    29 recommend · 83