What are the ingredients of robust, elegant, flexible, and maintainable software architecture? Beautiful Architecture seeks to answer this question with a collection of intriguing essays from more than a dozen of today's leading software designers and architects. In each essay, one or two contributors present a favorite piece of 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 the decisions they faced and the tradeoffs they made, while others take a step back to investigate the impact certain architectural aspects have had on computing as a whole. Topics include:
- Facebook's architecture as the basis for a data-centric application ecosystem
- The magic behind the Jikes RVM self-optimizable, self-hosting runtime for a high-level language
- Differences and similarities between object-oriented and functional architectural analysis
- How architectures can affect system evolution and developer engagement
- The effect of Xen's well-designed architecture on the way operating systems evolve
- Design choices and building blocks that made Tandem the platform of choice in high-availability environments for over two decades
- How creeping featurism has helped GNU Emacs gain unanticipated functionality
- How community processes can help software architectures evolve from rough sketches to beautiful systems
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.