tags:

views:

108

answers:

4

All my past programming experience has been in C++ on VS2003/8, Mostly service based and completely self taught.

2 Years ago I had to create my first real GUI app and (Foolishly) choose MFC. I got the app working but it took a long time & was a bit of a nightmare to learn MCF (and its many shortcomings) but I ended up with a reliable workable app which was difficult to change or extend.

Again I have to create another GUI app more complex than the first and again this will be created from scratch and will only ever be used on windows.

I had put off learning C# for a long time but not wishing to re-visit MFC have decided that the new application with be birthed in VS2010 and WPF 4 will be the midwife.

Trying to avoid the several expensive (Time wise) mistakes I made previously. Im looking for for good books/tutorials on the current versions of C# 4 & WPF 4 and also general advice on the best approach.

The application will do several things one of them would persisting info in a SQL DB. So Im thinking LINQ for that?

Please chip in...

+1  A: 

I'd like to encourage you - WPF and C# are great choices! Don't be too afraid of "older" 3.5 materials though. Most of things are completely unchanged. As for LINQ - yes, it's another great tool.

You might want to start with video tutorials here , so you get used to Visual Studio and so. Good luck!

Xorty
+1  A: 

I would recommed the following:

Business Layer:

Presentation Layer:

  • WPF 4 (or 3.0/3.5) and learn M-V-VM (I'm still learning it myself)

Persistance Layer:

  • Linq-To-SQL
    • Look into WCF Data Services if you may need additional interfaces to the data later
    • The more I use them, the more I absolutly love them

@Xorty makes a great point -- much of the stuff available in .net 3.5 is very much the same as in .net 4. Much of the tutorials and books are worth checking out even though they are geared toward older framework versions.

Nate Bross
Thank you :-)))
Xorty
+2  A: 

Hi,

i've been using .Net from when it was a Beta and it has been a wonderful thing seeing it evolve to what it currently is. I can assure you that you are making the right decision!

You will be using LINQ not just for SQL, but anywhere in your code (where performance is not critical).

So, here are some resources i found best over the years..

C#

  • Programming C# by O'reilly - great for beginner to mid level programmers. quick read covers all the basics.
  • For the most In-Depth disection of .Net framework 4.0 CLR Via C# - Jeffrey Richter This book is not only interesting, but gives amazing insight into why 4.0 has the features it has and how it works under the covers.

LINQ

  • besides a ton of online resources, there is LinqPad. Amazing app that lets you see/modify just about every style of linq programming there is
  • There is also Entitiy Framework, which replaced LinqToSql, but I wouldn't recommend starting with that. Lots of gotchas (at least in 3.5 when i used it)

WPF

if you prefer watching demos, channel9.msdn.com , and MSDN webcasts are a great resource. Ton of stuff there. (be sure to search past events)

Sonic Soul
+1  A: 

For WPF I'm a huge fan of Apress' Pro WPF

I agree with the others regarding 3.5 vs 4.0 - not much difference when you are starting out. It's mostly cornercases and new controls (which were also in the WPF toolkit for 3.5sp1).

Goblin