Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

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.

share|improve this question
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 '11 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 '11 at 18:21
    
JSF is standard now? Wow. Or should I say, Ow. –  Michael K Aug 5 '11 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 '11 at 23:01
add comment

2 Answers

up vote 9 down vote accepted

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)

share|improve this answer
5  
"try googling for them with Bing" - Why not "google" them with, uh.... Google? ;) –  FrustratedWithFormsDesigner Aug 5 '11 at 18:23
5  
I google all my googles with Bing. +1 –  Sam DeHaan Aug 5 '11 at 18:26
7  
Bing is the best way to google since Yahoo! –  Kristofer Hoch Aug 5 '11 at 18:38
    
thank you for the info, i appreciate the help –  Aaron Anodide Aug 5 '11 at 19:30
add comment

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.

share|improve this answer
    
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) :) –  Aaron Anodide Aug 5 '11 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". –  Aaron Anodide Aug 5 '11 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 '11 at 20:08
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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