Pro C# 2010 and the .NET 4 Platform (Expert's Voice in .NET)

Category: Programming
Author: Andrew Troelsen
All Stack Overflow 8
This Month Stack Overflow 2


by anonymous   2019-07-21

to copy a post i posted here: there are two things to get a handle upon:

Academic Knowledge:

  • Know the Theory - get a great handle on the theory of programming, the theory of language design, the theory behind the architectures you are coding on
  • Know the Math - all programming eventually boils down to math - know predicate logic, trig, vectors, geometry, (basic) set theory, graphs, basic matrix theory, a little numerical analysis doesnt hurt either - as well as complexity theory
  • Know your Language - get a book, read it, make notes for reference. Apress titles work well for C# is good. Then read blogs and videos, learn to use the Redgate Reflector and MSDN help
  • Know your Tools - for C# this means Visual Studio 2010 - is a great way to learn. Also get a decent refactorer - ReSharper is my favorite but there are others.
  • Know your Ecosysyem - know what libraries are out there, learn how to use one or two of the best


  • Know how to define a projct - no matter how good a programmer you are if you build the wrong thing you will have failed epically.
  • Know how to design - learn the theory on object orientated design - the Gang Of Four software patterns are classics and every coder should be aware of them.
  • Know how to document code - this is critical for long lasting code and for working well in a team. Write it, Document it, Test it => Resuse it
  • Know how to work in a team - work hard, play nice, communicate well.
  • Know which tool to use - get a feel for as many types of languages, actual languages, technologyies, libraries and so on as you can so that you know which to use in which situations
  • Know how to learn - from those around you, from the web, from documentation and most importantly from your own mistakes.

I'm sure others can add to these lists ;)

by David   2019-07-21

I would skip through the book found at the following link. I know that it is 1712 pages, but if you skim through parts of the book that you only have a rough understanding of, you will be better prepared than skimming through a book that is lacking in information.

by anonymous   2017-08-20

The only book with keeping both aspects on index well defined is Pro C# 2010 and .NET 4.0 from Andrew troelson...Very nice book and i am reading it now.

The other book i would recommend is Microsoft Visual C# 2010 Step by Step. Its a very good book with example practices for every chapter. You might love this one too.

by anonymous   2017-08-20

That's not gonna be covered by a single book or tutorial, trust me. You need to decide a UI framework, data access technology, patterns and the overall architecture. And of course you need an in-depth knowledge on .NET framework, & how the CLR works. It's nothing C# specific. Since you have UI customization (Panels) requirements, WPF is definitely a better candidate for UI framework.

That being said -

  • For C#: Pro C# 2010 and the .NET 4 Platform

  • .NET & CLR: CLR via C#

  • UI Framework - WPF: Pro WPF in C# 2010

  • Use MVVM with WPF. MVVM will keep you on track maintaining the Separation of Concern. You can follow Microsoft's Prism guideline. For large applications with sophisticated UI requirements Prism is a better choice. You might need to use Dependency Injection. MEF is there to go hand-to-hand with MVVM & Prism.

  • Yes, Entity Framework can handle concurrency issues, but that its available in almost all data access framework. Entity Framework provides lots of other facilities, but when using it you should have clear idea of what you're doing. Programming Entity Framework is definitely gonna help.