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.