What are the ingredients of robust, elegant, flexible, and maintainable software architecture? Beautiful Architecture answers this question through a collection of intriguing essays from more than a dozen of today's leading software designers and architects. In each essay, contributors present a notable software architecture, and analyze what makes it innovative and ideal for its purpose.
Some of the engineers in this book reveal how they developed a specific project, including decisions they faced and tradeoffs they made. Others take a step back to investigate how certain architectural aspects have influenced computing as a whole. With this book, you'll discover:
How Facebook's architecture is the basis for a data-centric application ecosystem The effect of Xen's well-designed architecture on the way operating systems evolve How community processes within the KDE project help software architectures evolve from rough sketches to beautiful systems How creeping featurism has helped GNU Emacs gain unanticipated functionality The magic behind the Jikes RVM self-optimizable, self-hosting runtime Design choices and building blocks that made Tandem the choice platform in high-availability environments for over two decades Differences and similarities between object-oriented and functional architectural views How architectures can affect the software's evolution and the developers' engagement Go behind the scenes to learn what it takes to design elegant software architecture, and how it can shape the way you approach your own projects, with Beautiful Architecture.
This book is a brilliant for one who want to dive into software architecture. It takes time to read it, but it worth this time. Authors give an introduction to what is architecture. They cover architecturally principles, properties and structures. But it’s only the preface to the main part of the book: 14 chapters about different Beautiful Architectures. Authors talk about architecture's of desktop, web, open-source, system-level, language projects. The book keeps great amount of knowledge from the experts of the giant companies. They share their experience and wisdom with the readers. To me the most remarkable chapters to me were ones about Xen, Emacs, Lifetouch Portrait Studios, Eiffel and KDE.
A mixture of essays about software systems and their architectures. While the individual pieces vary the overall theme and reflections of the book are valuable and challenging. Another piece exploring the general relationship between different disciplines of design.
Too little architecture in this book. I would expect more diagrams, better description of problems that were solved with selected approaches, but also what other solutions were considered. Some of the projects described are dead now.
Given the full title “Beautiful Architecture: Leading Thinkers Reveal the Hidden Beauty in Software Design” I expected at least something along the line of what is considered a beautiful architecture and how that was achieved in various applications. Instead I got a collection of essays with varying quality and no continuity. Those essays are so independent that they not even could use a common structure to present their applications. A few good ones are worth reading and offer a lot to learn, but most essays are bad in explaining the architecture and feel more like a failed sales pitch, completely ignoring any downsides that could come with those decisions. Overall a disappointing book that will quickly be forgotten.
This book about software architecture managed to avoid a single UML diagram in almost 400 pages:). I should have expected it as the introduction contained vitriol about UML Use cases, lol. It seems to be one of the few common things across dozen+ essays from different authors. Wordy, mostly memoirs or sales pitch + musings from Bertrand Meyer about FP vs OOP (can you guess what one of the proponents of OOP prefers?), history of Smalltalk(?) etc. It was interesting to read about Facebook architecture circa 2008 and a couple of other essays were of quality - 25% of the book max.
This book was good at providing a glimpse at the architectures of various software systems. It is nice to get details of why some decisions were made, see snippets of code, etc. for wide variety of applications. However, the wide variety also contributes to the main negative of the book: different people provide the content for each system that is detailed. This makes it a bit hard for the book to get into a good flow because each system is described is at a different level of detail and in a different style.
For someone interested in software architecture, I think this is a good book to read to get some mental experience. This is not a book I would necessarily study or consult when working on an architecture, but I do not believe that is the goal of the book.
This book has a nice collection of projects, each of one has an important role in different areas of software development. Reading this collection of high level abstractions gives you a broad overview of how software architecture is built generally. In same time books gives an idea how software architectures can affect system evolution and no one safe from bad decisions, but it's important to expel them as soon as possible.
If you liked this one, I'll recommend you to read "The Architecture of Open Source Applications" collection, which will extend your software engineering intuition in depth.
This is a pretty interesting read. The breadth is large which I really liked. Also, despite what I would have expected, there were very few UML-ish diagrams. Instead, most chapters describe their system and context and then examine the trade-offs they made, why they made them, and what the consequences were.
The book is a conglomerate of different stories about architectures. Some are excellent and well worth bying the book for alone, but others are more stuffing than anything. I recommend this book to anyone who worked with architecture for long and want to get some new (and old) perspectives on architecture to add into their thinking process.
Some of the articles are good. Some are a bit outdated to be appreciated by the likes of me who have never worked at a system level and that is why this low rating. Otherwise a good book to read for systems programmers.