Patterns of Software: Tales from the Software Community
by Richard P. Gabriel
Publisher: Oxford University Press 1998
Number of pages: 239
In Patterns of Software, the respected software pioneer and computer scientist, Richard Gabriel, gives us an informative inside look at the world of software design and computer programming and the business that surrounds them. In this wide-ranging volume, Gabriel discusses such topics as what makes a successful programming language, how the rest of the world looks at and responds to the work of computer scientists, how he first became involved in computer programming and software development, what makes a successful software business, and why his own company, Lucid, failed in 1994, ten years after its inception. Perhaps the most interesting and enlightening section of the book is Gabriel's detailed look at what he believes are the lessons that can be learned from architect Christopher Alexander, whose books--including the seminal A Pattern Language--have had a profound influence on the computer programming community. Gabriel illuminates some of Alexander's key insights--"the quality without a name," pattern languages, habitability, piecemeal growth--and reveals how these influential architectural ideas apply equally well to the construction of a computer program. Gabriel explains the concept of habitability, for example, by comparing a program to a New England farmhouse and the surrounding structures which slowly grow and are modified according to the needs and desires of the people who live and work on the farm. "Programs live and grow, and their inhabitants--the programmers--need to work with that program the way the farmer works with the homestead." Although computer scientists and software entrepreneurs will get much out of this book, the essays are accessible to everyone and will intrigue anyone curious about Silicon Valley, computer programming, or the world of high technology.
Home page url
Download or read it online for free here:
by Kevlin Henney - O'Reilly Media
Tap into the wisdom of experts to learn what every programmer should know, no matter what language you use. With the 97 extremely useful tips for programmers in this book, you'll expand your skills by adopting new approaches to old problems.
by Matthias Felleisen, et al - The MIT Press
The focus of the book is the design process, from problem statements to organized solutions, it deemphasizes the algorithmic and language details, and specific applications. Programming is a fun activity, and a way to express abstract ideas.
by Michael DiBernardo (ed.) - The Architecture of Open Source Applications
This book provides you with the chance to study how 26 experienced programmers think when they are building something new. The programs you will read about in this book were all written from scratch to solve difficult problems.
by Terry Winograd - Addison-Wesley
In this landmark book, Terry Winograd shows how to improve the practice of software design, by applying lessons from other areas of design to the creation of software. The goal is to create software that works -- really works.