Customer Reviews


18 Reviews
5 star:
 (14)
4 star:
 (3)
3 star:
 (1)
2 star:    (0)
1 star:    (0)
 
 
 
 
 
Average Customer Review
Share your thoughts with other customers
Create your own review
 
 

The most helpful favourable review
The most helpful critical review


9 of 9 people found the following review helpful
5.0 out of 5 stars Invaluable for its unique insistence on gritty realism.
Have you ever noticed that none of your introductions to C++ ever mention things like header files? This book corrects that omission with a vengeance, taking us deep into the nuts and bolts of real software. It describes things no other book is going to mention (e.g. redundant external include guards, or static nonmember functions to replace private members) and...
Published on 25 Mar. 1999

versus
4 of 8 people found the following review helpful
3.0 out of 5 stars Helpful, to a point
The book offers a lot of tips early on explaining ways to avoid keeping everything in the headers to permit changes to occur without forcing a load of code to recompile.
My problem was that to avoid this recompilation the code has to get very confusing in hiding methods and variables.
I'm halfway through the book and a reread will definitely be required, but...
Published on 17 Feb. 1999


‹ Previous | 1 2 | Next ›
Most Helpful First | Newest First

9 of 9 people found the following review helpful
5.0 out of 5 stars Invaluable for its unique insistence on gritty realism., 25 Mar. 1999
By A Customer
This review is from: Large-Scale C++ Software Design (APC) (Paperback)
Have you ever noticed that none of your introductions to C++ ever mention things like header files? This book corrects that omission with a vengeance, taking us deep into the nuts and bolts of real software. It describes things no other book is going to mention (e.g. redundant external include guards, or static nonmember functions to replace private members) and things the object-oriented community prefers to be silent about (e.g., encapsulation in files, not in classes).
Lakos's great strength is in pragmatics; this is advice on programming from someone who has been there. If your project is large enough to need source code control, it's large enough to need this book.
Sometimes the book drifts away from its roots, assuming a dragging academic tone. However, this does not change the overall rating -- a book with no substitutes.
Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No


8 of 8 people found the following review helpful
5.0 out of 5 stars Excellent Reference, Every Professional should read, 18 Jan. 2002
By A Customer
This review is from: Large-Scale C++ Software Design (APC) (Paperback)
The vast majority of Programming books follow the latest technology trends - new languages, new products. However a book like this, published five years ago, will be useful for as long as C++ is used for professional software development. I've suffered the pain of worked on multi-million line software projects that don't follow the techniques outlined, and I've converted a medium sized software project to follow the guidelines outlined in the book, and I can confirm that this was one of the most practical computer books I've ever read.
In fact I'd have to say it is more useful and practical than the books of C++ tricks and tips that seem so popular, but focus mainly on intricate details of the language.
Unfortunately it is a heavy read, because Lakos provides the sorts of examples and justifications that you need to "buy in" to his suggestions.
I think the length and indepth nature would intimidate people from reading it. However it is very much worth the effort!
Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No


5 of 5 people found the following review helpful
5.0 out of 5 stars Excellent pragmatic advice for building complex C++ systems, 22 Jun. 1999
By A Customer
This review is from: Large-Scale C++ Software Design (APC) (Paperback)
I second much of what has already been said in the previous reviews. This isn't a book for beginners, and its a tough read, but it contains many items that just aren't dealt with in any other book on C++ I've read. The most important point made is that _anything_ appearing in the C++ header file is part of the physical interface, and changing it will affect clients. As with most issues in programming, there's a trade off to be made between efficiency and insulation (and/or simplicity vs. flexibility), which this book tackles well. I certainly feel more confident about sucessfully translating an OOD into a workable C++ framework after reading and ingesting this book. Highly recommended.
Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No


3 of 3 people found the following review helpful
5.0 out of 5 stars Excellent book on the physical architecture of C++ applications, 23 Feb. 2007
This review is from: Large-Scale C++ Software Design (APC) (Paperback)
This book assumes you're already proficient in C++ and basic OOP design principles, and considers design at a level one higher than individual classes. You'll learn how to arrange your classes into modules and packages, and then how to organise communication within and between these higher-level constructs. Nonetheless, the book never forgets that the important thing is working C++ code, not diagrams and acronyms, so it's always practical.

There are two core advantages to the designs discussed in this book: maintaining the correct level of abstraction, and reducing recompilation times. Performance issues always run the risk of becoming outdated fairly quickly, and to a certain extent, some of the timing material is no longer relevant. In particular, Sutter and Alexandrescu, in C++ Coding Standards, explicitly disavow the advocated method of external header guards. Additionally, although namespaces are mentioned, they are not used much, and the older method of using prefixes is recommended instead.

The last part of the book drops down to more low level concerns, such as Schwarz counters, operators, and function arguments. This leans heavily on the likes of Effective C++, C++ Strategy And Tactics and C++ Programming Style, and to be honest, you'd be better off looking in more modern books for up to date best practices. For example, in this book assignment is implemented through the copy-and-destroy idiom, which is nowadays considered to be a mistake.

But this is a big book, and you won't be buying it for the lower-level stuff, but for the large amount of higher level material that makes up the bulk. The main practices and metrics remain extremely relevant, the text is clear and well written. And there just isn't many other places where you can go and read about this sort of stuff. It's a must-read.
Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No


2 of 2 people found the following review helpful
5.0 out of 5 stars If you think you're an expert, think again., 1 Dec. 1998
By A Customer
This review is from: Large-Scale C++ Software Design (APC) (Paperback)
I'm a single developer of about eight years who used to go around thinking that, being alone, the systems I write will always be small, and the interfaces between packages can be casual since I own both ends. Boy was I wrong! Lakos' book is the direct answer to the most persistent problems I've had with quality, maintainability and extensibility for the last year.
Even if you're a C++ genius, I'll bet the section on how redundancy (as in duplicated code) may be desirable will teach you something you didn't realize you needed to learn. And, the extensive coverage of physical insulation shows the path away from the dark side of development that logical design texts hardly even allude to. Read this book!
Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No


2 of 2 people found the following review helpful
5.0 out of 5 stars a 'should read' for every programmer., 28 May 1998
By A Customer
This review is from: Large-Scale C++ Software Design (APC) (Paperback)
This book contains a lot of good hints for things to think about and mistakes to avoid in designing and/or coding a large software projekt. John Lakos hints are very well documented and argumented, they are not just like 'make this, do that'. I really recommend this book to everyone programming something larger than 'Hello World'. Sometimes J. Lakos tends to get a bit long winded when getting to something he thinks is important, but the book is still easy to read and very good to understand.
Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No


1 of 1 people found the following review helpful
5.0 out of 5 stars Great source of information on system design, 4 Oct. 2010
By 
D. Baas - See all my reviews
(REAL NAME)   
This review is from: Large-Scale C++ Software Design (APC) (Paperback)
If you are serious about nontrivial C++ system design you should buy this book. I have read many books on object oriented desing, design patterns, refactoring and so on. However, none of those books mentioned placed much emphasis on physical design. This is strange, given that a solid physical design is crucial for creating maintainable, understandable components. As mentioned by other reviewers it is a tough read, but that is a small price to pay for the information that is on offer.
Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No


4.0 out of 5 stars Must read for software architects, 12 Jun. 2012
Verified Purchase(What is this?)
This review is from: Large-Scale C++ Software Design (APC) (Paperback)
Lakos really rubs your nose into the fact that every change to a header file has (potentially far-reaching) consequences. He formally introduces some concepts that every programmer has a vague idea about but never really stops to think about. If you want to write a system with thousands of components and you want to be able to expand and maintain that system for years to come, then this book is an essential read. Every serious software company should own at least one copy.

I do have some problems with the age of the C++ code in the book. Many of his examples are outdated (they were written even before the C++98 standard) and it shows. You have to mentally do the conversion of his examples to more modern C++ (using e.g. the guidelines in C++ Coding Standards : Rules, Guidelines, and Best Practices).

So if you can read past the aging C++ code, this book comes highly recommended to experienced (or aspiring) software architects. I wouldn't recommend it to the novice since it can be daunting at times.
Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No


4.0 out of 5 stars Solid real-world advice on physically putting together code, 3 Aug. 1998
By A Customer
This review is from: Large-Scale C++ Software Design (APC) (Paperback)
Many programmers, even if they have been in the industry for a while, still do not realize the importance of how a system physically fits together; what header files go where; where does coupling make sense; and why does the damn thing require a full re-compile just because I added one new error code?
After reading this book, you will know. If you follow the advice, your project will compile faster; changes will be easier, and you should be able to slice off any part of your project to re-use somewhere else. This book gives knowledge previously only learned "the hard way" and never taught in college. I just wish it was more concise; the wordiness lost it a star.
Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No


5.0 out of 5 stars One of a kind, 14 Dec. 1998
By A Customer
This review is from: Large-Scale C++ Software Design (APC) (Paperback)
After flipping through the pages of this book for two minutes, I knew that a miracle had occured. I have avoided buying many pathetically simple C++ books that introduce nothing more complex than the famous and ever annoying ATM machine example or the famous and even more annoying Shape/Square/ Circle example. Is there a C++ project that isn't large? Those are the only kind that I have worked on!! One C++ project that I worked on filled volumes of notebooks and took 3 hours to compile. This book has taught me things that no class or book ever has. Buy it!
Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No


‹ Previous | 1 2 | Next ›
Most Helpful First | Newest First

This product

Large-Scale C++ Software Design (APC)
Large-Scale C++ Software Design (APC) by John Lakos (Paperback - 10 July 1996)
£46.99
In stock
Add to basket Add to wishlist
Only search this product's reviews