My company posted a job listing to get me a helper. A recruiter called me today and all he kept saying was "MVC this Entity Framework that..." - He sounded shocked when I said the project uses DataSets and Linq2Sql over WinForms and ASP.NET WebForms.

Then I was looking at options for automated website testing and I come upon this here: and I began to get agitated.

Most folks "in the know" are using presentation layers to make ASP.NET so thin that a tool like NUnitAsp isn't helpful.

This person is in the know, and his friends are apparently in the know. I want to be in the know too, because being out of the know makes me feel insecure and a little sad.

In my efforts this past year to get with the times, I realized great benefits from Linq2Sql and the Unity container. They both were nothing but good for me - filling gaps that have been apparent to me for ages.

Then I moved on to Model-View-Preseneter for WinForms GUIs and was again very happy with it for the same reason - I had been asking myself for a long time how to separate things out so that I could have a thick client and a web client share their common logic in a common code base.

Yet, I am stuggling with the following. And I know a zillion people can't be wrong and I'm not smarter than the masses, but I need help to see:

  • MVC as the evolution of WebForms
  • WPF as the evolution of WinForms
  • Entity Framework as the evolution of Linq2Sql (and, for that matter
    the deprecation of Datasets)

(I suspect it all stems from my, to date, lack of obtaining Test Fahrvergnügen)

Thus, I have been asking myself, and not hearing an answer to:

  • What do I gain using MVC in a web application? I know I gain additional source code artifacts and a new DSL to learn. What else?
  • What would happen if I used WPF objects without the MVVM pattern? Would I be hurting my chances to get a job somewhere else?
  • For that matter, is WinForms really broken? Is it me or does Visual Studio have noticable visual lag on my dual core 2.8 GHZ machine with 8 Gigs of RAM? I like snappy. I want end users to experience snappy all the time without fail.
  • Why are Datasets "the old way"? They seem quick efficient and succinct for many small to medium sized problems I have to solve (yet they are not even in Silverlight).

I feel like big pile of complexity is on the plate and spreading it around won't make it go away. The intrinsic amount of complexity needs to be confronted head on, and maybe software engineering should become more like electrical engineering or mechanical engineering, or brain surgery.

  • 7
    Q&A threads generally work out better when you ask one question at a time. And a few of the specific questions you ask here have already been answered.
    – Aaronaught
    Aug 5, 2011 at 18:02
  • 1
    "And I know a zillion people can't be wrong and I'm not smarter than the masses" I lol'ed. A zillion people are using JSF. Even James Gosling hates it and it sucks. But still: People think it's a standard so they should use it.
    – Falcon
    Aug 5, 2011 at 18:21
  • JSF is standard now? Wow. Or should I say, Ow.
    – Michael K
    Aug 5, 2011 at 20:11
  • I used to be with it, but then they changed what it was. Now what I'm with isn't it, and what's it seems weird and scary to me.
    – AlexC
    Aug 5, 2011 at 23:01

2 Answers 2


Well, I want to be in the know too - because being out of the know makes me feel insecure and a little sad.

+1 for being able to express yourself without shame.

I would suggest following blogs. If you want to be "in the know", then follow these people

  • General cool stuff: Rob Conery; Jeff Atwood, Joel Spolsky
  • MVC: Scott Hanselmann, Rachel Appel, Rob Conery (Again)
  • .NET in general: Scott Guthrie, Jeff Atwood, Jon Skeet

Those guys and that one gal write blogs that are easy to follow and understand. You can find them on the web (try googling for them with Bing)

  • 5
    "try googling for them with Bing" - Why not "google" them with, uh.... Google? ;) Aug 5, 2011 at 18:23
  • 5
    I google all my googles with Bing. +1
    – Sam DeHaan
    Aug 5, 2011 at 18:26
  • 7
    Bing is the best way to google since Yahoo! Aug 5, 2011 at 18:38

I think you're asking some good questions. What it boils down, to me anyway, is constantly asking "Is there a better way?"

Are there annoyances that I have with using data sets? Are there annoyances I have in constantly iterating over a list of item? Take that query to google, and see how other people are doing it.

I liken it to electricians. Gold wire in cotton insulation will work. But it has some problems. There are cheaper, and safer methods used to wire a house today (as a result, the codes in cities require the newer technology.) Now if you hire an electrician, you could find one who only knows the old way, and he could make it work. Or you could hire a guy who is up-to-date on his technology and he'll make it work and be safer.

So too with code. You could just fire up Ado.Net and execute code (and sometimes you have to.) But the code will be less readable (and possibly less maintainable) than using an ORM. The difficulty comes in that you need to know the "old way" so that you have an understanding of what's going on in the "new way." So don't use MVC just because it's new, take a look at it's benefits and weigh them against the benefits of doing it the old way.

  • I agree with your observation - i am playing catchup - however, yesterday I tried using Entity framework and about 10 minutes in I got hit with it not supporting the XML datatype - i waas like.. "geeeez!" and went back to L2S (again) :) Aug 5, 2011 at 19:33
  • 1
    About datasets - I'm not sure I agree with the analogy to out-moded electical components. Say I'm told to develop a time clock application (I was) for my employer - Using nothing but the winforms designer and the dataset designer I am done in a day. I didn't write any data access code - it was all generated. I don't have tests because I didn't do anything I could have messed up. I'm having trouble seeing why I'd ever want to make my life harder by writing LINQ queries and partial classes to make a data layer that is a true "model". Aug 5, 2011 at 19:44
  • You don't always want to, and that's a good point. You have to evaluate each and every case and see when it's appropriate. I'm on several projects that if I had to do dataset work I'd go crazy. But I've also written apps where ado.net was the quickest and easiest way.
    – taylonr
    Aug 5, 2011 at 20:08

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.