views:

67

answers:

4

I am just confused. There is sooooo much to start with LINQ, WCF, WPF, MVC, MVC2, Entity, Workflow.. .. 4.0

Books take too much time and energy. I can spare couple of hours a day. I did started with reading articles on WCF but after a while everything just goes away as I do practical work on 2.0 as of now.

Most probably my next project would be in 4.0 and it would be a shopping web site or a windows application. Keeping this in mind what areas should I start investigating?

Is there any good strategy on how to keep updated with new developments?

+6  A: 

Start with LINQ. It is a core concept in the later versions of .NET that will help you write cleaner and more efficient code.

From there, it all depends on what you're going to be doing.

Are you making Services (Web or otherwise) - Check out WCF.

Are you making UIs? - WPF is what you want to look at next.

Do you interact with a Database? - Check out Entity Framework. It's good stuff. That LINQ knowledge will come in to play as well.

Are you working on the Web? - MVC2 should be very interesting (especially is you are as frustrated with WebForms as I was).

Justin Niessner
qstarin
I am actually working in everything.. the only developer in my small company so you can imagine. One more question can I skip MVC1 and just go start with MVC2?
Aseem Gautam
@Aseem Gautam - As long as you can find a reference that covers everything in MVC2 (rather than just what was added since the last release) then yes, you can skip MVC1.
Justin Niessner
+2  A: 

My recommendation is to first get involved with Linq queries. It makes managing data objects so much easier and is the reason many of the 3.0 technologies were introduced (anonymous types, extension methods, lambdas, etc).

JML
+2  A: 

Dealing with so many technologies can be overwhelming but that's only because we think about the depth they cover. I'll go against the general consensus and would suggest you to get your hands dirty by doing small demos on each. You don't need to go in-depth of any topic. Somethings like WCF, WPF etc. are really requirement specific. You might not be working on them at all. So, first thing would be to identify what would be definitely there in the project.

Here's how to do it in steps:

Identify the list of technologies/prioritize

Do a small demo of each, for e.g. set up a WCF service and get it running. Only read that much which is required. WCF is a piece of cake, it gets difficult when you go into really core concepts like security etc. Running a demo successfully is a good motivation-booster too :)

Whenever you read a technology, come to SO and try to find out questions on them and read a bit or be adventurous and try to dig for some answers for other's problems. That's fun too. You get to learn so many little things.

Lastly, I'd go for Entity framework than for LINQ :p

Sidharth Panwar
+2  A: 

Working in a .NET 3.5 environment for the past year, I can tell you that the single most useful and used addition to the Framework has been Linq. If you learn what Linq can do for you, you'll immediately become useful in developing a 3.5+ app. It's the common denominator for interacting with many ORMs, and it's useful for basic list processing besides.

Beyond that, what areas you learn next depend on what you're doing day-in, day-out. If you're working in service-oriented architecture, I'd learn WCF. If you're doing a lot of front-end work, bone up on WPF. WWF is, according to many, not really worth the hassle of dealing with it. MSEF is definitely worth a look to add to any existing ORM framework expertise you have.

Whether you get into the dynamic features of C# 4.0 depends on two things; whether you're going to be working in .NET 4.0, and whether you'll be working with "duck-typed" or typeless external assemblies or COM handles.

KeithS