Beautiful Architecture: Leading Thinkers Reveal the Hidden Beauty in Software Design by Diomidis Spinellis |
I
got a chance to review one of the books in OReilly's "Beautiful"
series, in this case it was Beautiful Architecture.
One
of the attractions of the books in this series, is the premise that
you get to hear first-hand accounts, in an essay format, from the
people behind some of the more interesting projects out there. So the
book can be viewed as an opportunity to ask a bunch of innovative
technologists the question: how did you build it?
On
the back cover the book claims that the contributors cover notable
and innovative software architectures. At first glance the table of
contents looked pretty promising, for example “The architecture of
the Facebook platform”. However, after spending some time with the
book and reading through 5 random chapters, it feels like there is
just not enough substance for the book to achieve what most people
are probably hoping to get out of the book: concrete blueprints or
solid design patterns to build systems demonstrating desired
characteristics.
For
the first 45 or pages of the book, the essays tended to meander
around the topics of general definition of architecture vs software
design etc, and general experience of people working on some
non-trivial projects. But somehow the conversation always feels more
academic than practical. So you kind of feel like you are sitting on
a plane waiting for it to disengage from the gate and move towards
the tarmac. And given the fact that this book is supposed to be about
“beautiful” architectures, I am not at all sure why we need to
spend time reading about “The Messy Metropolis”. Given the title
and general back cover description of the book I was expecting the
narratives to be more specific and more parallels drawn with
real-world systems that people interested in this book could be
building.
The
chapter “Architecting for Scale” by Jim Waldo, was also a bit
underwhelming. We basically get a pretty high level overview of a
system that was never really tested in the field, was not thoroughly
bench-marked, and is addressing a fairly narrow problem domain of
online gaming. Although some interesting ideas are presented, you
have a hard time agreeing that this is necessarily beautiful because
it does not seem that the system is proven to successfully solve
their scalability goals. The chapter about facebook platform also
failed to describe the thinking process and design trade-offs, you
get a description of general building blocks but you don't really get
any aha moments.
I
did enjoy “Software Architecture: Object-Oriented versus
Functional” by Bertrand Meyer, however one might argue that the
book might have been better off focusing on systems architecture and
concrete examples of real-world projects as opposed to discussion of
type systems and other programming language esoterica, especially
when the Meyer makes it clear that he has not actually worked in
finance nor released production systems dealing with financial
contracts.
I
think this book is decent read on your e-book reader, but if you have
limited bookshelf space and want to keep it filled with true
classics, this book is not it.
3/5 stars.
3/5 stars.
No comments :
Post a Comment