Sponsored links

Valid XHTML 1.0!
Valid CSS!

Product: Book - Paperback
Title: Executable UML: A Foundation for Model Driven Architecture
Publisher: Addison-Wesley Professional
Authors: Stephen J. Mellor, Marc J. Balcer, Stephen Mellor, Marc Balcer
Rating: 5/5
Customer opinion - 5 stars out of 5
Good ideas bear up well over time.

Two events at the Object-Oriented Systems, Languages, and Applications Conference of 1996 were memorable for me. The first was the opening address given by one of the more insightful architects/designers of the 20th century, Christopher Alexander. And the second was a debate between Stephen Mellor (one of the authors of this book) and Grady Booch on the topic "Translation: Myth or Reality?". Six years later, with the addition of Action Semantacs to UML, the Model Driven Architecture initiative of the Object Management Group, and the publication of this book, it appears that Mr. Mellor is as persistent in his position that executable (and hence translatable) models are indeed a reality, as Mr. Alexander was that the resonance between the structure of a solution and the corresponding problem is a measure of the solution's quality. Good ideas bear up well over time.
Mr. Mellor, and this book, are not for the faint hearted. It is his position that building software systems should be more about engineering a solution than artfully handcrafting one, and that to do this, one needs a disciplined process and a rigorous and precise engineering tool: Executable UML. If you agree with this tenet, and accept its implied challenge--or just want to know where they will lead you--this is a book for you.
In this book, Mellor and Balcer present a very lean and agile profile of UML and define the underlying execution semantics that enable it to be used as a valuable engineering tool for analyzing, designing, and implementing your systems. They also prescribe an engineering process to follow when modeling a software system, and thoughtfully walk the reader through this process and the various UML models with numerous examples and real-world experiences. If you use UML to model software, and aspire to engineer that software in the process, this book will give you a lot to think about and add significantly to your engineering tool chest.

Product: Book - Paperback
Title: Agile Software Development
Publisher: Addison-Wesley Professional
Authors: Alistair Cockburn
Rating: 5/5
Customer opinion - 5 stars out of 5
Treating a software team as an art commune

There is a lot of sensible advice in this book, the most important of which is "if you have a system that works, use it." I have read many books on software development over the years and have slowly been moving towards a conclusion that is inconsistent with current development strategies. Namely, software development will never advance to the highest levels until the principle of software engineering is dropped. Using that phrase, we try to make people interchangeable parts and think of development as a process similar to changing to a thicker steel beam or adding a few more inches of concrete to a wall based on the examination of formulas. That is nonsense, people are spontaneous, imaginative and creative at irregular and largely unpredictable intervals. Software development is much more like the writing of novels than it is the building of a bridge, so we should plan our development that way. Set down a general story line, but let each individual page and paragraph be crafted with only the general story in mind. It is this theme that endeared me to this book. Over and over, the authors talk about "funky people", those contradictory but productive creatures that can thrive in one environment but have their creativity shrivel in others. As I read the book, my impressions were that the authors were describing the management of a communal colony of artists, commissioned to create a series of artworks. Soft communication is the order of the day, and each participant naturally gravitates to their area of expertise. They use the metaphor of how heat radiates from an air duct to describe how project information naturally flows to and through the members of the team. As a participant in far too many of the meetings where information transfer was hard in more ways than one, I definitely vote for their techniques. Agile software development is more than just a mechanism for making software so that you have the ability to make changes rapidly. It is also designed to treat people as individuals and a software project as a form of art. Many of the rigid tenets so beloved by some practitioners of software engineering and methodology madness are rejected in favor of more sensible approaches. I strongly recommend that this book be part of your reading over the next month if you are in the first stages of a software project. Quite frankly, if you are in the later stages of one, reading it might depress you.

Product: Book - Paperback
Title: Python in a Nutshell
Publisher: O'Reilly
Authors: Alex Martelli
Rating: 5/5
Customer opinion - 5 stars out of 5

Alex Martelli reveals his teaching experience and deep knowledge of Python with this highly readable, information rich book.
Compared to other python books, it has more thorough coverage, more instructive examples, and is the most up-to-date.
While intended as a desktop reference, the book is highly instructive and can be read straight-through. Each section contains both reference material and text packed with core concepts, examples, rules-of-thumb, and practical advice.
Rather than duplicate existing documentation, the author has been highly selective and guides you to the most important parts of CPython, Jython, and third-party extensions. Without this book, expert assistance would be needed to effectively select the best python toolsets.
For people with older Python books, this one will best bring you up to speed with Python 2.2 and beyond. It offers the clearest treatment of new-style classes, generators, the email module, unittests, doctests and XML tools.

Product: Book - Hardcover
Title: Rules of Play : Game Design Fundamentals
Publisher: The MIT Press
Authors: Katie Salen, Eric Zimmerman
Rating: 5/5
Customer opinion - 5 stars out of 5
A deep, fundamental treatment of game design

First, let me say that if you want to learn to use a technology like DirectX, OpenGL, C++, or Your Favorite Game Engine to build a computer game, this is absolutely not the book for you. Most of its examples don't even come from computer games, although the authors are fully aware of games like Warcraft and Unreal Tournament.

This is a book about *fundamentals of gameplay*, independent of any particular physical realization. It addresses the deep, underlying elements of designing an engaging, effective game, drawing on a variety of social and technical fields. The first unit focuses on defining the properties of effective games and the different "frames" or viewpoints from which they focus on gameplay. The rest of the book focuses on describing games from these viewpoints in a variety of ways by tying them into concepts used in other fields such as probability and semiotics. While one might expect such a drawing together of disparate elements to result in an wandering mishmash, the authors' continuous focus on the application of game design keeps this from occurring.

As for audience, this book does not require a background in mathematics, computer science, sociology, or any of the other areas it draws from; except for an assumed knowledge of various well-known games, it is self-contained. In fact, those with background in these areas may wish to skip a few sections that cover their basics. Just about anyone can read this book and get a lot out of it, although it is a deep treatment and requires careful thought to get the most out of it. Not a quick pleasure read.

It also evidently had a large budget, because it includes a variety of fitting photographs, commissioned games for the book to use, and a commissioned essay.

In short, if you want to learn how to write a game, given a design, this really isn't the book for you. If you want to learn to design your own games and understand gameplay and game design at a much deeper level, there is no substitute for this book.