Over at Jeff’s Junk, Jeff discusses what he feels is the main problem people have with ASP.NET. That is, they don’t understand object oriented programming.
Jeff, you’ve got half the problem.
I spent 3.5 years teaching ASP.NET at a training company. My experience was similar to Jeff’s, the people had a hard time with ASP.NET were the people who had no exposure to object oriented programming. But, I found that the people who have the most trouble with ASP.NET are people who have no object oriented background AND no exposure to event driven programming.
That is, if I were asked to interview two programmers for an ASP.NET position and one of them had only ASP experience and the other had only VB 6 Windows Forms experience, I’d take the VB6 guy every time.
I’ve also seen people that have JSP/Servlet experience (object oriented programming, but no event driven experience) actually have a harder time using ASP.NET than their VB6 counterpart.
In fact, I would argue that to actually be productive in ASP.NET, you don’t have to know object oriented programming at all. I’ve worked with many programmers who can’t explain inheritance, or polymorphism, or interfaces. But, they can get a pretty decent web page together.
However, most of the questions I get in the course of the day would never get asked if the person understood the nature of event driven programming and had some clue how to productively use the debugger.
Teach a programmer those two skills. Debugger and events. And they’ll be able to do almost anything in ASP.NET.