Book Review - Programming F#
Programming F# by Chris Smith
F# is a functional programming language for .NET. If you have never worked with functional programs then you are in for a culture shock. It is vastly different. This book does a great job of discussing the language. You'll want to already know .NET before tackling this book (and language). It would also be useful to have a passing understanding of functional languages because the book does not spend a lot of time explaining the whys of functional programming.
Is F# the next big .NET language? Probably not. It can't even do UIs itself. Nevertheless F# does have some features that might be useful in other applications. Whether it is worth the cost of maintaining multiple language projects or not remains to be seen. Nevertheless F#, and similar languages, have influenced the design of new features for C# and .NET. It is, therefore, a good language to be familiar with.
Book Review - Programming Entity Framework
(Originally published: 3 May 2009)
Programming Entity Framework by Julia Lerman
One of the confusing things coming out of the introduction of EF was how it played into LINQ. This book, from O'Reilly, does an excellent job of not only explaining how EF and LINQ are related but also how they can be used together. Each of the examples is well thought out. It is almost as if the author wrote down notes when she was learning EF and converted it to book form. As a result you'll find yourself asking questions about EF just in time to get to a section in the book that answers that very question.
The book starts out with the basics of EF. The book then moves from the generated code to the underlying data files. From this basic foundation each subsequent chapter builds up the available features until, by the end of the book, you have fully learned EF and its capabilities. Unlike many other books that try to list only the advantages of the technology in question, the author of this book identifies areas where EF falls short. Not only that but she also identifies, where possible, workarounds to the existing limitations.
If you are interested in learning EF (and you should be if you do any sort of database work in .NET) then this book is the one reference you need to have. I cannot recommend this book strongly enough.
Book Review - Programming WCF Services
(Originally published: 1 Jan 2009)
Programming WCF Services by Juval Lowy
Overall this is an excellent book on WCF. It starts with the basics and works you through some of the more advanced books. It goes into great detail in each case. The examples are straightforward and the explanatory text is concise. I began reading this book with only a basic familiarity with the subject and no commercial experience with WCF. I left with a very good understanding of WCF and how I can now use it.
The sheer size of this book makes it impossible to read in a couple of days. This might scare away potential buyers. I'd like to think of this book as a WCF reference guide as much as a tutorial. Thus you don't really need to read the book cover to cover unless you want to.
The only real downside I found to this book was the fact that it jumped straight into the architecture and justifications for WCF without providing a simple Hello World example from which to get our feet wet. Within the very first chapter I was reading about service and data contracts and how they work and yet I hadn't even written one yet. I believe the book could have started off a little better if a simple Hello World was given so that I could at least compare that to the text as I read along.
Another minor complaint I had is with the chapter lengths. Each chapter is approximately 70-80 pages long. If there were a lot of pictures or sidebars then this would be fine but this is bulk reading. I like to read on chapter boundaries so 70 pages is a huge time sink. I think many of the topics in the book could have been broken up into several related chapters rather than stuffing them all into one. It would have made reading the book a little easier.
Overall this is a must have book for anyone wanting to learn and use WCF. It should have the answers to most questions that might come up.
Book Review - Coding4Fun: 10 .NET Programming Projects for Wiimote, World of Warcraft, YouTube and more
(Originally published: 1 Jan 2009)
Coding4Fun: 10 .NET Programming Projects for Wiimote, World of Warcraft, YouTube and more by Dan Fernandez and Brian Peek
Remember back when you programmed for fun rather than for profit? That is what this book is all about. You won't find the solution to some problem you're having in your commercial apps. Instead you'll find several small, fun projects you can work on with tangible results.
The book covers several different areas from XNA to Wii so everybody is likely to find at least one project that they can do. Each project is self contained and relatively small. The book does an execellent job of walking you through each one.
I highly recommend this book for anyone who is getting a little bored with programming on a regular basis.
Book Review - Programming ASP.NET 3.5
(Originally published: 1 Jan 2009)
Programming ASP.NET 3.5 by Jesse Liberty, Dan Hurwitz and Dan Maharry
This is an excellent book on ASP.NET development. It skips over the typical "how to create a button" approach of most books and just covers the necessary information to really use some of the more interesting ASP.NET features including AJAX. Each of the controls that are covered also get a treatment for how to enhance them with AJAX.
The book also covers some of the unfamiliar areas of ASP.NET such as lifecycle management, caching, page and master directives and HTTP handlers. The book also spends quite a bit of time discussing the features that were added in v2.0 such as web parts and themes. This is missing in many books.
The only real flaw I see in the book is that it mentions v3.5 but in reality almost everything it covers is v2.0+. Someone who is only concerned with v2.0 might skip over this book but that would be a mistake. It contains enough information to be useful to anyone doing ASP.NET programming from v2.0 on. While it won't teach beginner ASP.NET folks how to write apps it will help those already familiar with the basics of ASP.NET to write impressive, performant apps under v2.0+.
Book Review - Programming .NET 3.5
(Originally published: 5 Sept 2008)
Programming .NET 3.5 by Jesse Liberty and Alex Horovitz
This book covers the new features of .NET 3.5. Each of the chapters in the book cover a new 3.5 feature such as WPF or WCF. Each chapter includes sample code on how to use the new features. The features include WPF, WCF, Silverlight and WWF.
Overall the book is well written and the chapters flow nicely. Each chapter is concise and accurate. The book does a good job of avoiding the topics that are either not related to 3.5 or are too low level to be worth mentioning in a book such as this.
The target audience for this book, in my opinion, are existing .NET 2.0 WinForm or ASP.NET developers. This book is not useful for learning .NET 3.5 or the features therein. Nor is this book a primer on .NET. Instead I would recommend this book for existing .NET 2.0 developers who want a brief introduction to the newer .NET features to determine which ones, if any, are useful to them. Unless a developer is a quick learner or prefers on the job training additional books and materials are going to be needed in order to learn all the skills need for .NET 3.5 development. However for those looking for an intro to the material (or perhaps to justify the cost of VS2008 to a manager) this is a good starter book.
Book Review - SQL Hacks
(Originally published: 3 June 2008)
SQL Hacks by Andrew Cumming and Gordon Russell
This is an excellent book on the topic of techniques to accomplish real-world, but not real obvious, problems in SQL. For example there is a topic on how to find identify overlapping regions of data and another on pivoting data. These topics are more advanced and can be difficult to figure out even if you are a SQL expert. Furthermore the book gives examples for various databases so even if you do not use Microsoft SQL Server this book is useful.
This book is highly recommended for anyone who does database development.
Book Review - ADO.NET 3.5 Cookbook
(Originally published: 31 May 2008)
ADO.NET 3.5 Cookbook by Bill Hamilton
This book follows a really nice "Problem-Solution-Reasoning" approach. For this particular topic it works really well. The book covers various tasks you might want to do with the ADO.NET. Each task is given as a problem with a solution and a reasoning. Each recipe, as they are called, is appropriate for those working with ADO.NET.
I have only two complaints about this book. The first complaint is that the name is misleading. It might scare away potential readers because it mentions v3.5. Even if you are not interested in v3.5 this book is still for you. This leads me to the second complaint. The book only discusses a couple of things related to ADO.NET v3.5. The rest of the recipes apply to ADO.NET from v2.0 on. Honestly there was not a lot of changes to ADO.NET in v3.5. The book mentions LINQs and SQL 2008 (neither of which are ADO.NET specific) but otherwise remains in the v2.0 realm. I feel that it missed a potential target audience because of the name.
I recommend this book for anyone using ADO.NET (any version). It will likely have at least one recipe that you will need. It is not really designed to be read from front to back. Instead use it when you run into problems.
Book Review - Applications=Code+Markup
(Originally Published: 15 May 2008)
Applications=Code+Markup by Charles Petzold
Petzold writes a book for every Windows UI library Microsoft writes. They are always great. This book is no exception. It covers the basics of WPF by giving you many examples. It then moves on to more advanced topics. His books always are easy to read and seem to be written so that you can follow along in your favorite code editor. Like in previous books Petzold does not assume that you are using any specific IDE. You could be using Notepad and the sample would still work.
This book is highly recommended.
I am in the process of migrating some of the site content from my original site (http://p3net.mvps.org) over to the blog. I'm doing this because some of that content is still relevant and I don't want to lose it. Therefore if you've visited my other site then some of the material will be rehashed until the migration is complete.