Book Reviews

Please Note: Each review is done on a strictly volunteer basis and represents the opinion of the individual reviewer, not CSH as a whole.

Filter by publisher

Real-World Functional Programming

functional_programming.jpg
Reviewer: 
Michael Dumont

Real-World Functional Programming, by Tomas Petricek and Jon Skeet, introduces the functional programming paradigm by comparison to more traditional imperative programming techniques. The first part of the book goes through many common programming tasks and compares how you would implement them in the C# programming language and then re-introduces the problem from a functional perspective using F#. It introduces simple ideas such as recursion and how to use recursion to simulate many iterative constructs to the idea of higher-order functions, all the while keeping the explanations and examples very clear. The author also strives to instill good functional design practices in the reader by introducing different ways to think of functional programs and common design patterns that can assist in clean implementations.

The second half of the book dives into more advanced functional concepts, such as lazy evaluation, efficiency, and continuations. It also takes a look at using functional programming for practical tasks. Overall, this section is more suited towards someone who understood the majority of the first half of the book, or to someone who is already familiar with functional concepts.

I would recommend this book to newcomers and intermediate programmers who are looking to learn about or refine their functional programming skills. The authors do a good job of covering the core material and also introduce a good amount of advanced material towards the end of the book.

Storage Networks

storage_networks.gif
Reviewer: 
Zachary Vida

Storage Networks was middle-of-the-road as far as networking books go. It tries to cover lots of theory mixed with a bit of implementation and with some vendor specific solutions. I suggest that if you are already well versed on storage mediums, you should skip the first couple of chapters. The RAID explanation was really well done, and the graphics were concise. I felt that the book could have used a bit more practical how-to instruction. More examples with Linux would have also been nice. I would say if you can get a good deal on this book pick it up otherwise look elsewhere.

Learning OpenCV

learning_opencv.gif
Reviewer: 
David Brenner

The OpenCV library provides an amazing opportunity to those interested in computer vision to begin exploring the field. The only problem with OpenCV is that it is considerably lacking in straightforward, easy-to-use documentation. Luckily, that's where this book comes in.

The rapidly expanding OpenCV library is explained in detail throughout this book and those that read it gain a vast understanding of the methods and classes provided through the library. With a simple webcam, the opportunities to utilize the library are nearly endless. Personally, I used this book as a reference while designing an Automated Weapon Turret (sentry gun).

The book covers the basics of OpenCV from grabbing a frame from a video or webcam to complex image processing tasks like stereo vision, motion tracking, and machine learning. Because the library is constantly expanding and being rewritten, not all of the information in the book is up to date, but it certainly helps to establish a background on how to use the library. While not a necessary tool for using the OpenCV library, it is definitely a very useful and highly recommended introduction and reference.

XNA 3.0 Game Programming Recipes

xna_recipes.gif
Reviewer: 
Michael Dumont

Given the popularity of "programming cookbooks" on the shelves nowadays, it is no surprise to find one for the XNA Framework by Microsoft. XNA 3.0 Game Programming Recipes, by Riemer Grootjans, is probably one of the better recipe-style computing books that I have read recently. In general, these books tend to excel at having excellent programming examples with decent explanations, or vice-versa. Grootjans has managed to get the best of both worlds with this book and provides very details and easy to read code samples with clear and understandable explanations alongside them.

This book contains eight chapters filled with a variety of examples ranging from networking and audio processing in XNA to vertex processing and lighting techniques. Throughout the book, there are several core themes that are scattered throughout among several recipes. In the introduction, Grootjans points out these themes and suggests a path of recipes to follow for each one. This makes it very easy to follow recipes and build one on top of the other while developing a game. This is probably one of my favorite aspects of this book. It allows each individual tutorial to maintain its independence, but gives the reader a clear path throughout the book to learn several core concepts to game programming.

I would recommend this book to an intermediate user of XNA as a reference, but also to a beginner. The first chapter of the book is dedicated to setting up XNA and getting started with your first game. This allows novices to easily sit down with this book and get started with XNA.

Beginning XNA 3.0 Game Programming

beginning_xna.gif
Reviewer: 
Michael Dumont

I found Beginning XNA 3.0 Game Programming to be a basic introductory book on using the XNA Framework. Having already had experience with XNA before I found that the book was often times difficult to read if you were looking to learn a single topic. The book does have a very good progression of topics lined up in terms of introducing a novice to game development. It begins by having you develop a basic 2D game and then takes you through adding networking, and developing for the Zune. It then starts over again with a new project to introduce 3D concepts.

Before each chapter new version of a game there is always a chapter or two that introduces the upcoming material in a general sense. This gives the authors an opportunity to explain new topics like networking or 3D mathematics in detail without distracting from the design of the game later on.

I would recommend this book to new users of the XNA Framework, but if you have had experience before and are already comfortable with the system I would suggest picking up a copy of XNA 3.0 Game Programming Recipes by Riemer Grootjans instead.

Syndicate content