Software Architecture: Perspectives on an Emerging Discipline

3.75/5 · 100+ ratings

David Garlan and Mary Shaw provide a foundational look at how software systems are structured, moving beyond simple coding to the high-level patterns that define modern computing. They formalize the informal folklore of system design, turning intuitive habits into a disciplined engineering practice. This book serves as a bridge between abstract theory and the practical realities of building compl…

Shelves
Software Programming Architecture book Computer Science Technology David Garlan Technical Mary Shaw

More like this


Growing Object-Oriented Software, Guided by Tests

Foreword by Kent Beck "The authors of this book have led a revolution in the craft of programming by controlling the environment in which software…

3.75/5 · 100+ ratings

Automate the Boring Stuff with Python: Practical Programming for Total Beginners

If you've ever spent hours renaming files or updating hundreds of spreadsheet cells, you know how tedious tasks like these can be. But what if you…

3.75/5 · 100+ ratings

The Practice of Programming

With the same insight and authority that made their book The Unix programming Environment a classic, Brian Kernighan and Rob Pike have written The…

3.75/5 · 100+ ratings

The Algorithm Design Manual

This volume helps take some of the "mystery" out of identifying and dealing with key algorithms. Drawing heavily on the author's own real-world ex…

3.75/5 · 100+ ratings

Structure and Interpretation of Computer Programs

Structure and Interpretation of Computer Programs has had a dramatic impact on computer science curricula over the past decade. This long-awaited …

3.75/5 · 100+ ratings

Working Effectively with Legacy Code

Get more out of your legacy systems, more performance, functionality, reliability, and manageability.Is your code easy to change? Can you get near…

3.75/5 · 100+ ratings

The Clean Coder: A Code of Conduct for Professional Programmers

Programmers who endure and succeed amidst swirling uncertainty and nonstop pressure share a common They care deeply about the practice of creating…

3.75/5 · 100+ ratings

Building Microservices: Designing Fine-Grained Systems

Author: Sam Newman

Distributed systems have become more fine-grained in the past 10 years, shifting from code-heavy monolithic applications to smaller, self-containe…

3.75/5 · 100+ ratings

Designing Data-Intensive Applications

Data is at the center of many challenges in system design today. Difficult issues need to be figured out, such as scalability, consistency, reliab…

3.75/5 · 100+ ratings

Effective C++: 55 Specific Ways to Improve Your Programs and Designs

The Barnes & Noble Review Since early in the 90s, working C++ programmers have relied on Scott Meyers s Effective C++ to dramatically improve …

3.75/5 · 100+ ratings

Design Patterns: Elements of Reusable Object-Oriented Software

Capturing a wealth of experience about the design of object-oriented software, four top-notch designers present a catalog of simple and succinct s…

3.75/5 · 100+ ratings

Release It!: Design and Deploy Production-Ready Software

Whether it's in Java, .NET, or Ruby on Rails, getting your application ready to ship is only half the battle. Did you design your system to surviv…

3.75/5 · 100+ ratings