Resources to become a Ninja: C#

A friend is starting to use C# and asked me to recommend some resources. I had the idea to make a resource list:

Books:

Pro C# 5.0 and the .NET 4.5 Framework by Andrew Troelsen: Has been considered by readers, the best book to learn C#, there are a lot of good reviews on amazon. It covers from basics about c# until advanced areas like delegates, lambda expressions, reflections and so on.

C# in Depth, Second Edition by John Skeet: My favorite C# book, it covers the improvements made in the language since C#1/2. It explains what were the motivations behind each new feature. It’s a good book to know more about C# history.

Professional Test Driven Development with C#: Developing Real World Applications with TDD by James Bender: I used this book to learn about TDD (Test-Driven Development), it starts with a basic TDD example, showing why we have to use TDD, then covers some practices that make tdd possible like DI, SOLID, Mocks, Stubs and so on. After that, it ends up building a web application from the scratch using TDD and ASP.NET MVC.

Pro ASP.NET MVC 4 by Adam Freeman: It was the book that I used to learn ASP.NET MVC. It starts developing a simple web application using ASP.NET MVC, TDD, Dependency Injection and so on. And in second part, it covers in depth the framework parts ( View Engine, Controllers, Actions, Model Validations, integration with jQuery and Deployment.

Essential C# 5.0 (4th Edition) by Mark Michaelis: It’s good for beginners and veterans alike. The authors talk about C# language itself, but also on how to write and structure your code.

Language Specification: The C# Language Specification provides a complete description of the C# language 5.0.

Online Videos:

Channel9: A lot of talks given in Microsoft Events.

PluralSight: Paid site with a lot of training videos including C#, ASP.NET MVC, Windows Azure, TDD, Software Practices, WPF. Offers a 7-day trial period.

PeterTeach Youtube Channel by Peter Thorsteinson: It has a lot of training videos covering C# and Microsoft environment.

Forums

ASP.NET Forums: Forum with everything you can imagine about ASP.NET. MVC, Web Forms, SPA, SignalR and so on.

Blogs

Eric Lippert’s Old Blog and Eric Lippert’s New Blog: Principal Developer on the C# Compiler. He blogs more about the language and the decisions behind the features.

Jon Skeet’s Blog: Google software engineer and famous writer

Joe Duffy’s Blog: Microsoft Architect

James Michael Hare’s Blog

Scott Hanselman’s Blog

Scott Guthrie’s: Scott runs several development teams at Microsoft

Podcasts

DotNet Rocks: Weekly blog about programming in .NET Platform.

Call for Suggestions

I’m really interested in increase this list, so please send me more suggestions!

15 Comments

  1. Ping from Good Resources to become a C# Expert » Wisconsin Web Works:

    [...] by pauloortins [link] [comment] …read [...]

  2. Comment by Pinku Surana:

    We have an online learning site that’s full of .NET topics. Try it out. I’d love to know what you think. http://www.learninglineapp.com

  3. Comment by tomb:

    I don’t know where you got your information that webforms is deprecated but webforms development is still 70-80% of all ASP.Net development. I understand that MVC is the new sugar for cutting edge devs but there is a lot of work out there for webforms and a lot of devs still using the model.

    Those stats came from Microsoft .Net evangelists when confronted on the newfound popularity of MVC. Please don’t spread misinformation like that, ASP.Net Webforms is a healthy development landscape and will be for years to come.

    • Comment by paulo ortins:

      Hi tombkilla, it’s been deprecated by the community. I’m not seeing new features/projects been developed using webforms. It’s limited to legacy projects. WebForms has some design problems that conflict with software good practices:

      View State Weight: A lot of data have to transferred between requests to keep control’s state. Slow response times and high bandwith use.

      Limited control over HTML: Controls create their own HTML. It’s difficult to achieve the HTML that you want.

      Testability: Unit tests are essential in these days. The WebForms architecture turns it very complicated to be done.

      The new web values responsive pages, using a lot of javascript. WebForms and his controls (AjaxUpdatePanel and so on) are not compatible with this architecture.

  4. Comment by Luis:

    Hello Paulo,
    Great article. One more item for the “Online videos” section could be the PeterTeach you tube channel. Peter has posted a good variety of C# and MS technologies training videos.

    Thank you,
    Luis

  5. Comment by RobIII:

    For blogs; have a look at James Michael Hare’s blog. Also Scott Hanselman’s blog and Scott Guthrie’s blog should be mentioned.

  6. Comment by JoseMalone:

    If you are a DreamSpark or BizSpark member, Pluralsight offers a 90 day Trial. It’s the lower tier (no code downloads), but a solid amount of time to watch and learn.

  7. Comment by laoujin:

    “Jos Duffy’s Blog: Microsoft Architect”

    Little typo there. It’s “Joe Duffy” whom is currently writing about leadership but usually blogs on “Adventures in the High-tech Underbelly”.

  8. Comment by Bob Eiger:

    I recommend http://www.innerworkings.com for Dev training integrated with Visual Studio.

  9. Comment by Hussain Sumrat:

    Thank you for such site.

  10. Comment by waqas:

    hi you can also try to http://codingresolved.com/

Leave a Reply

Your email address will not be published. Required fields are marked *