I get asked frequently what .NET books I recommend on a given topic.  Although I love reading .NET books, I don’t think I have read enough to give an informed opinion. So I was thinking about how to provide a community ranking system on .NET books.  But then I thought we already have a lot of that community information available via web services.  

 

With some creative use of the Amazon Web Services I can get a list of the .NET related books and their Amazon sales ranking and other information about the book.  But that doesn’t really give me the full picture… It tells me what books people are buying, but it doesn’t tell me what books people are finding value in.   

 

So, from the Google web service I am able to get an idea for the amount of chatter or buzz there is out there on a particular topic.  That coupled with the number of comments a given book has on Amazon allows me to come up with a buzz rating for a given title. 

 

The program is very hacky, but it was fun to write and tweak the algorithm.  If you have ideas for how to improve the algorithm, maybe with the addition of yet another web service, I’d love to hear it. 

 

A couple of bits of feedback for the Amazon and google folks (or their competitors ;-)):

1. Properties that return null are real pain…  Several times I would write code like this:

Console.Error.WriteLine(d.ProductName + "," + d.Reviews.TotalCustomerReviews);

 

And would get a NullReferenceException that would force me to change to change it to this:

string totalReviews = "0";

if (d.Reviews != null) totalReviews = d.Reviews.TotalCustomerReviews;

Console.Error.WriteLine(d.ProductName + "," + totalReviews);

Life would be lot more simple if TotalCustomerReviews just retuned “0” in this case.  

 

2. Google’s max calls per day of 1,000 is a really limitation in development.  Plus it doesn’t really seem to reset at midnight ;-)

 

3. I’d love to get google’s page rank to weight the buzz rating better.

 

 

Ok, without further ado, here is my take at the top 10 .NET books.  Remember, this is not my personal recommendation; I am just giving you the data:

Rank(All) Cover Title Sales Rank (lower is better) Buzz (higher is better)
1. Programming C#, Third Edition (ISBN:0596004893) 2,941 21,501,420
2. Windows Forms Programming in C# (ISBN:0321116208) 2,846 2,740,530
3. ASP.NET Unleashed, Second Edition (ISBN:067232542X) 6,274 15,901,130
4. Applied Microsoft .NET Framework Programming (ISBN:0735614229) 6,626 2,990,770
5. Essential ASP.NET With Examples in C# (ISBN:0201760401) 3,226 2,090,300
6. MCAD/MCSD Self-Paced Training Kit: Developing Windows-Based Applications with Microsoft Visual Basic.NET and Microsoft Visual C#.NET, Second Edition (ISBN:0735619263) 11,971 5,720,100
7. Microsoft Visual C# .NET Step by Step--Version 2003 (ISBN:0735619093) 7,579 2,680,100
8. Murach's VB.NET Database Programming with ADO.NET (ISBN:1890774197) 16,344 3,200,170
9. OOP with Microsoft Visual Basic .NET and Microsoft Visual C# .NET Step by Step (ISBN:0735615683) 22,066 4,180,220
10. Programming ASP.NET, 2nd Edition (ISBN:0596004877) 12,670 1,820,570

 

 

And the top book per category:

Windows Forms (BradA's Top)

Rank(All) Cover Title Sales Rank (lower is better) Buzz (higher is better)
1. Windows Forms Programming in C# (ISBN:0321116208) 2,846 2,740,530

CLI (BradA's Top)

Rank(All) Cover Title Sales Rank (lower is better) Buzz (higher is better)
1. Shared Source CLI Essentials (ISBN:059600351X) 195,730 92,430

VB.NET (BradA's Top)

Rank(All) Cover Title Sales Rank (lower is better) Buzz (higher is better)
1. Murach's VB.NET Database Programming with ADO.NET (ISBN:1890774197) 16,344 3,200,170

ADO.NET (BradA's Top)

Rank(All) Cover Title Sales Rank (lower is better) Buzz (higher is better)
1. Murach's VB.NET Database Programming with ADO.NET (ISBN:1890774197) 16,344 3,200,170

ASP.NET (BradA's Top)

Rank(All) Cover Title Sales Rank (lower is better) Buzz (higher is better)
1. ASP.NET Unleashed, Second Edition (ISBN:067232542X) 6,274 15,901,130

.NET Framework (BradA's Top)

Rank(All) Cover Title Sales Rank (lower is better) Buzz (higher is better)
1. Applied Microsoft .NET Framework Programming (ISBN:0735614229) 6,626 2,990,770

 

 

 

And here is the full run..

 

What do you think?  Does my automated system pick winners? What did a I miss?