Genet Program Evolvable Mach (2011) 12:463–464 DOI 10.1007/s10710-011-9146-1 BOOK REVIEW
Paul Coates: Programming architecture Routlegde, 187 pp, ISBN: 978-0-415-45188-8 Benachir Medjdoub
Published online: 7 August 2011 Ó Springer Science+Business Media, LLC 2011
Thus far, people working in the area of generative design must have been experiencing some kind of frustration due to the lack of adequate literature in the field, apart from individual research papers published in conferences or international journals. There was a shortage of reference books that provide an overview of the field, its historical development, or even an understanding of the generative design basics. That scenario has fortunately changed with the recent publication of the book Programming Architecture authored by one of the most respected people in this field. Programming Architecture introduces the reader to the history of computing, its concepts, technologies and a selection of projects that have been developed so far to define computational design, with a particular emphasis on generative design using genetic programming. The book is organized into six chapters. The first chapter of the book, ‘‘Rethinking representation’’, addresses the very important issue of design representation and introduces the reader to the representation of simple 2D/3D geometrical shapes including the description of algorithms to generate these forms. The next two chapters explore the history of computing, where Coates introduces some leading researchers in computer science and artificial intelligence field such as Seymour Papert from MIT. These two very interesting chapters take the reader back to the early development of programming languages such as Smalltalk and Lisp to discuss the advantages of these languages. Furthermore, the case of cellular automata is described including some illustrated examples with samples of programming code. Among other interesting elements addressed in this book is the Turing machine and its development. Chapters four and five introduce the reader to generative design in architecture using more particularly genetic programming. Several interesting examples and algorithms are presented.
B. Medjdoub (&) School of the Built Environment, University of Salford, Salford, UK e-mail:
[email protected]
123
464
Genet Program Evolvable Mach (2011) 12:463–464
There are two areas of discussion that are not covered, but which would be of interest. First, the book could give a better explanation of the complexity and difficulties involved in developing generative models using genetic programming or other optimisation approaches. Second, it would have been interesting to find out more about parametric modelling and where it fits within the generative design approach. In spite of the sweep between the first chapters presenting basic material on the history of computing and the early development of programming languages and the chapters more related to generative design, the book reads very well and I have particularly enjoyed Coates’ stories on early development of programming languages. Despite these minor criticisms, I would conclude that Programming Architecture is a good book. It makes an invaluable contribution to the field of generative design. I recommend this book to designers interested in the history of computing and computational design and to computer experts in genetic programming interested to explore a new field of application such as architectural design. The reader needs to have a minimum knowledge of genetic programming to be able to understand the examples presented in the book.
123