![Cover of Large-scale C[plus plus] software design](https://covers.hackerbooks.org/c/8684934.webp)
Large-scale C[plus plus] software design
by John Lakos · first published 1996
14mentions
6recommended by
11HN commenters
2011–2024first – last mentioned
55% recommend45% neutral
Why HN recommends it
Practical guide to organizing and packaging large C++ codebases, covering physical design, dependencies and library structure. Readers value its real-world experience and recommend it to engineers on big C++ projects.
Summarised by Claude from recommending comments
Affiliate links. As an Amazon Associate I earn from qualifying purchases.








there is an excellent book by jon lakos called 'large scale c++ design' which treats organizational or physical design of large scale c++ projects (> 1giga loc). highly recommended.
on “Organizing complexity is the most important skill in software development” ↗…the number of books about C++ object-oriented design versus the design and packaging of C/C++ libraries. The best reference I know is John Lakos's excellent (but ancient: 1996!) book on the subject: "Large-Scale C++ Design." Here are some excerpts from the book. http://blog.codeimproved.net/2009/03/the-large-scale-c-softw... http://www.cs.unc.edu/~stotts/COMP204/lakos/
on “Why can't we all use standard libraries for commonly needed algorithms?” ↗Learn C++. All the Quant work I've ever heard of, is done in C++. Read John Lakos' "Large Scale C++ Software Development" as well as Scott Meyers' Effective C++ series.
on “Best UK Universities for Becoming a Quant?” ↗…Pike. * Code Complete by Steve Mcconnell. * The Unix Programming Environment by Kernighan & Pike * Advanced Unix Programming by Marc Rochkind. * C Interfaces and Implementation by David Hanson. * Large Scale C++ design by John Lakos * Unix Network Programming by Richard Stevens. The key is that while reading the above you need to "get" how the code is "structured" rather than the details. For example, how…
on “Ask HN: How to transition from academic programming to software engineering?” ↗I really like John Lakos who has written a few books on large scale C++ projects. Very practical material. I don't know how well it translates to other languages but they have been very helpful for my C++ projects. His books are based on his extensive real-world experience…
on “Steve McConnell” ↗…linking. Step a) runs happily in parallel with any other build task, thus it's impact is meaningless. To read more on the topic, google for "horizontal architecture", a concept popularized by the book "Large-Scale C++: Process and Architecture, Volume 1" By John Lakos. Mountain out of a molehill.
on “Compile-time JSON deserialization in C++” ↗I've been reading "Large Scale C++" by Lakos. There are two kinds of code Lakos writes about: 1. Application code -- Fast changing, poorly specified code. You need to have a rapid development cycle, "discovering" what the customer wants.…
on “Is TDD Dead? (2014)” ↗John Lakos differs from you. In his book "Large Scale C++ Software Development" he advocates starting at the lowest level of your own code, that is, subroutines that only make system calls or call libraries that are provided by the system. Then you unit test…
on “QA = Time and Money. How much should you invest?” ↗The BBG UI certainly hasn't changed since then. They bought in John Lakos (https://www.linkedin.com/pub/john-lakos/4/117/888), the "Large Scale C++" author to help them make the jump to C++ in 2001 and linkedin says he's still there. Given they have a winning business model, and the forces of inertia being what they are, I'm betting nothing's changed...
on “The Bloomberg Terminal, a Wall Street Fixture, Faces Upstarts” ↗Large Scale C++ Software Development John Lakos The book explains how to design large systems to contain compile times.
on “Stop looking at HN and go work that thing you promised yourself you'd work on” ↗…relevant. The inside baseball stuff on problems seen while working in Sun's compiler group is fascinating. Rereading C Interfaces and Implementations, Hanson. Hoping this will serve as my C version of Large Scale C++ Design by Lakos. Honestly though, the literate programming style of presentation is off-putting. Are we still talking about that?
on “Ask HN: Books you read in 2016?” ↗…application vs library programmers is a managerial decision. Any application project that starts writing library-style code will slow down, and possibly gain the scrutiny of the managers / executives. In "Large Scale C++", Lakos notes the importance of manager-level buy in. You must have a library-team, with a separate stream of money, if you expect to be sustainable. Application-style programmers trying to make a…
on “Is TDD Dead? (2014)” ↗…style of the original language and the very non OOP[1] style using the STL. Even within that, different shops had different subsets of the language they were willing to use. See, for example, Lakos' book Large Scale C++ Developement. [1] Alexander Stepanov, of STL fame, hated everything OO and called it "gook". http://www.stlport.org/resources/StepanovUSA.html
on “Darker Corners of Go” ↗…widely known and understood but it also featured in books published decades ago. The blog post authors would do well if they got up to speed on the basics of working with C++ projects. Books such as "Large scale C++ vol1" by John Lakos already cover this and much more.
on “Speeding up C++ build times” ↗