BradA's Top 10 .NET books [in Beta]
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?
Comments
Anonymous
February 21, 2005
The comment has been removedAnonymous
February 21, 2005
The comment has been removedAnonymous
February 21, 2005
Add to the above -
Dino Esposito's Applied XML programming for .NETAnonymous
February 21, 2005
The comment has been removedAnonymous
February 21, 2005
The comment has been removedAnonymous
February 21, 2005
Then of course there is .NET Framework Standard Library, Annoted Ref. by BradA! ;)
There is also Expert .NET 1.1 Programming by Simon Robinson, great book.Anonymous
February 21, 2005
Juval Lowy's "Programming .net Cpmponents" is also one of the best.Anonymous
February 21, 2005
The comment has been removedAnonymous
February 21, 2005
SBC -
you can see most of those on the full list:
http://blogs.msdn.com/brada/articles/377610.aspx
Milan -
Amazon has a rating system for comments, I could leave out comments that are not rating above a certain level.
David -
Expert C# Business Objects is 69
Effective C# is 106
Kiran -
You are right about missing Juval's book.. let me think about how to get that added..
Aaron -
You have a good point.. it was my hope that the "buzz" factor would help highlight the deeper books.
I publisher view would be good idea..Anonymous
February 21, 2005
I'm glad to see that the buzz factor selected Jeffrey Richter's book. That book was the very first .Net book that I read, and I can affirm that .Net development is best learned by being thrown in the fire!Anonymous
February 21, 2005
The comment has been removedAnonymous
February 21, 2005
Brad, how are you computing the "buzz" for a book? You say you are using the Google API, but I'm unclear what the buzz represents. If I search on "Programming C#," or Programming C#, or "Programming C#, Third Edition," in none of those do I get Google telling me there are 21,501,420 results, so I assume the number is generated some other way. I couldn't find the code for your algorithm - is it available online?
One of my concerns - which I blogged about over at http://scottonwriting.net/sowblog/posts/3269.aspx - is that if you are basing the "buzz" on results returned by Google that a book's title may unfairly have more results. For example, the book "Programming C#" is probably more likely to result in false positives on Google (i.e., pages that use those words or that phrase that aren't talking about the book) than, say, "Teach Yourself C# in 24 Hours."Anonymous
February 21, 2005
Blalab - I like the thinking!
Scott - the buzz is roughly speaking a google search for the full title and the term "book" to avoid the problem you point out. I also add in a factor for the number of reviews on Amazon. But I did notice that the answer I get back from the google web service don't always match the results from the web page..Anonymous
February 21, 2005
Do not under-estimate the power of the Shared Source CLI Essentials text. I have "programmed" in .NET since the beta, but it wasn't until I read this book did I really begin to understand conceptually why the framework is designed the way it is. Very well written by a couple of gurus. Even if you don't bother installing Rotor it is worth a read.Anonymous
February 22, 2005
Well I think I'd add Riordan's "Designing Effective Database Systems" which I saw recommended on Coding Horror. I've read a lot of db design books but this one brings forth the information is a very coder friendly way. I concentrates on Access and SQL Server.Anonymous
February 22, 2005
Brad, does the Google API expose the page rank?
If each result you get from the search exceeds a page rank, you could include it in your buzzworthiness? Just my 2c. Great list by the way :)Anonymous
February 22, 2005
I wish it did! See my #3 above...Anonymous
March 02, 2005
Shame Don's book isn't there - its my favourite .NET tome by a significant margin. And +1 to most of the other recommendations made in these comments, most of which I have at least partially read. I had not realised quite how many .NET related books I have digested over the last few of years.
Brad, are MS employees not 'encouraged' to use MSN Search rather than Google these days!?
khAnonymous
March 02, 2005
Interesting, yea, Don’s book should be there, but what happened when I ran the program Amazon didn’t have a Sales Rank so I left the book out… That seems to happen periodically, I am not sure what to do in that case.
As far as using MSN Search, yea, I’d certainly love to use it, but it doesn’t have web services (yet) that I am aware of…Anonymous
March 05, 2005
Brad,
You seem to be missing Gough's excellent Compiling for the .NET Common Language Runtime, one of the best books for getting a feel of how higher level language constructs map onto the CLR and also how to do it yourself,
JamesAnonymous
March 06, 2005
Yes -- same issue, at the time I ran this, Amazon's sales rank for the Gough's book didn't show... clearly a need a better plan... that is why this is still in betaAnonymous
May 29, 2009
PingBack from http://paidsurveyshub.info/story.php?title=brad-abrams-brada-s-top-10-net-books-in-betaAnonymous
June 08, 2009
PingBack from http://jointpainreliefs.info/story.php?id=2057Anonymous
June 08, 2009
PingBack from http://insomniacuresite.info/story.php?id=6538Anonymous
June 09, 2009
PingBack from http://greenteafatburner.info/story.php?id=1717