I got this book for my master thesis. It is a great book for anyone interested in object oriented programming. It shows various techniques for solving very common problems. Even if you have your doubts about design patterns and their use, you will most surely agree that this book will make your life easier, and your projects/programs much prettier and easy to understand and reuse. It isn't about any specific programming language, the examples that are included are either in smalltalk or C++, the patterns can be used in virtually any language. To read more about the topic, read my page about design patterns. Highly recommended to be placed near your keyboard/bed/wherever since the patterns strikes you as more and more useful everytime you read them. Don't expect to fully understand the beauty of the patterns, by time you'll see how clever the patterns really are.