Udostępnij za pośrednictwem


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 removed

  • Anonymous
    February 21, 2005
    The comment has been removed

  • Anonymous
    February 21, 2005
    Add to the above -
    Dino Esposito's Applied XML programming for .NET

  • Anonymous
    February 21, 2005
    The comment has been removed

  • Anonymous
    February 21, 2005
    The comment has been removed

  • Anonymous
    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 removed

  • Anonymous
    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 removed

  • Anonymous
    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!?

    kh

  • Anonymous
    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,

    James

  • Anonymous
    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 beta

  • Anonymous
    May 29, 2009
    PingBack from http://paidsurveyshub.info/story.php?title=brad-abrams-brada-s-top-10-net-books-in-beta

  • Anonymous
    June 08, 2009
    PingBack from http://jointpainreliefs.info/story.php?id=2057

  • Anonymous
    June 08, 2009
    PingBack from http://insomniacuresite.info/story.php?id=6538

  • Anonymous
    June 09, 2009
    PingBack from http://greenteafatburner.info/story.php?id=1717