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.

Real World Haskell

real_world_haskell.gif
Reviewer: 
Michael Dumont
ISBN: 
9780596514983

I picked up Real World Haskell for the purpose of learning functional programming. I have had experience with Lisp before but was never able to get particularly far off the ground with it. I decided I wanted to revisit this area of computing and since I had played around with a bit of Haskell already and had some friends who recommended it I chose this language as my foundation.

This book is definitely not a book for beginners. It jumps right into the "why" of using Haskell and glosses over a lot of the "how" to do things. The book is exceptionally good at its goal, though, and I found it very useful to further my understanding of Haskell. I would definitely recommend having experience with functional programming before reading, and it's even better to have some introductory knowledge of the Haskell syntax when jumping into this book. It was also very handy to have syntax and function cheat sheets next to me for things I hadn't learned yet.

I would recommend this book to anyone serious about learning Haskell or becoming better at functional programming. The authors do an excellent job of conveying why Haskell does things in certain ways, which leads to a better understanding of the language.

Learning the vi and Vim Editors

learning_vi_and_vim.gif
Reviewer: 
Michael Dumont
ISBN: 
9780596529833

I found the book "Learning the vi and Vim Editors" to be a very thorough book in covering the foundations of these complex tools. Already being a pretty avid Vim user, I picked up this book as a reference to fill in any holes in my knowledge and to brush up on various configuration options for improving my Vim environment. I found the book to be exceptionally useful in terms of helping me configure my environment. I learned many different options from it that I wouldn't have known existed and it helped me improve my environment in ways I wouldn't have first thought of. The book itself did not help fill in many holes in my knowledge, though, because it tends to be primarily a book aimed at introducing the user to these editors. I think the issue that is the primary cause of this is that these two editors have enough features that it's difficult for anyone to know them all and to cover them effectively in one text while being aimed at beginners as well. I would definitely recommend this book to anyone just beginning to use vi or Vim and wanting to really hone their skills with these editors.

Pro C# 2008 and the .NET 3.5 Platform

pro_csharp_2008.gif
Reviewer: 
Karl Voelker
ISBN: 
9781590598849

This was not the book for me, although I suspect it may be a fine book for some people. I was using this book as both a tutorial and a reference, and with plenty of existing knowledge about object-oriented programming and design. This book would be better for someone with only meager programming experience, as it went into great depth about basic topics which were not specific to C# or .NET. There is nothing wrong with writing a book for beginners, although I'm not sure why the title includes the word "Pro". The book is definitely not meant to be used as a reference. It has an index, but most of the terms I tried to look up were not listed, and many that were had incorrect or incomplete page numbers given. The writer's rhetorical style also leaves plenty to be desired: He frequently repeats himself and uses long turns of phrase that add no value to the text.

All that said, the book has some valuable aspects. Explanatory screenshots are plentiful, and most sections are summarized with helpful tables. The book is definitely complete and thorough, so if there's any topic you need to have explained, the book has you covered.

Network Warrior

network_warrior.gif
Reviewer: 
Chris Lockfort
ISBN: 
9780596101510

This epically-titled O'Reilly book is a well-organized collection of network configuration tips, stories, and common "gotchas", as told by a self-admitted grouchy old network admin to younger, wet-behind-the-ears network administrators.

The author, in a move uncommon to most networking manuals, just cuts to the chase and says what needs to be said. Everything is told from a Cisco perspective, with Cisco terminology, and the only hint of variation allowed for is the occasional explanation when something is radically (or subtly, in some way that would ruin everything when you least expect it) different between CatOS and IOS. This is undeniably a good thing; it keeps the book short, and realistically, Cisco is one
of the forefront leaders in the enterprise network market.

A wide range of topics are talked about – possible problems that you could run into with auto-negotiation on your fast-ethernet network, how to configure spanning tree or etherchannel, getting QoS to work properly, and a whole host of topics one should know when creating one's own medium-to-large sized network. Even for those that already know how to implement these features, the author explains exactly when someone would want to use these features and how they evolved, and how they ought to be properly used.

I would recommend this book to anyone interested in enterprise
networking – ranging from the relatively professionally uninitiated like myself (I only do networking administration for Computer Science House at the Rochester Institute of Technology) to those who are just transitioning from networking classes to actual jobs, who will benefit perhaps the most from the book's tips and tricks from a person in industry, or even the average middle-aged network administrator, who may find a large portion of the book a snooze, but likely still pick up a trick or two that was previously unknown.

Perl Cookbook

perl_cookbook.gif
Reviewer: 
Jacob Allen
ISBN: 
9780596003135

With twenty-two chapters spanning a variety of topics, the Perl Cookbook is enough to satiate any Perl programmer. Although not my top recommendation for a beginner, the book does an excellent job of teaching the basics for those who need it. For a more seasoned programmer this book does not disappoint; the topics covered in later chapters are sure to pique your interest. More importantly, however, it ensures that whatever your task may be, it is done with equal weight placed on both speed and practicality.

The book begins by discussing the various ways to manipulate strings, numbers, arrays and hashes. It conveys various examples of many common tasks that serve as a strong base for future Perl programs. The book then shifts attention to the all-powerful regular expressions, providing numerous commonly used (and often forgotten) examples, not to mention the all-encompassing Regular Expression Grab Bag, a three-page spread of expressions that often sit on the tip of your tongue. From here the book begins to pick up pace and diagram proper programming etiquette and design for subroutines, packages, libraries, modules, classes and objects.

My favorite part of the book comes near the end in the form of sockets and client/server communication. The book quickly gave me the answers I needed on how to establish a proper client and server as well as several options and explanations along the way. Instead of simply telling me what I needed to do, the book gave me several options and explained the pros and cons of each (a common theme I enjoyed throughout the book).

In short, this book allowed me to learn the ins and outs of Perl at my own pace, making this a wonderful cookbook for any Perl chef.