Lazycoder

25Feb/054

Great one more question I have to ask when I interview

Tech Blender: Grumpy Grimes

VB6 developers get productive with VB.NET much faster than C#. Honestly, you can get a very long way in VB.NET without learning OO, threading, delegates, casting, etc.

“Have you taken a VB.NET course from Scott Swigart? If so, am I going to have to teach you OOP if I hire you?” :)

I’ll agree that .NET is light years ahead of where we were with VB6 and ASP.classic.

Filed under: General Leave a comment
  • http://blog.swigartconsulting.com Scott Swigart

    Yes, you will. :)

    In truth, I’ve found that when VB6 students show up to learn VB.NET, you just can’t teach them OO in 4 hours. Learning OO is the hardest thing a VB6 developer will do. It’s a complete paradigm shift. In general, VB6 developers are very good at consuming objects, but when asked to factor their problem in terms of objects, they just hit a wall. Then you dig into interfaces, inheritance, polymorphism, etc, and they’re just all lost (keep in mind that VB6 supports interfaces, but still, very, very few VB6 developers understand or use them).

    I used to try to teach OO, but now I focus on getting them as far as they can go without OO. I know, it sounds evil, but it does get them productive, faster. They need to understand OO eventually, but when you’ve only maybe got 3 – 5 days to teach, it’s more important that they know controls, data, etc.

  • Scott

    I’d agree with that. VB6 only supported editor-inheritance and interfaces were a gigantic pain. It’s nice to have a VB based language that supports true OOP. I lucked out during my migration from VB6 to C# in that I had a lot of C++ mentors when I was working in VB and I did a two-year stint in Java before .NET was released.

  • http://www.codinghorror.com/blog/ Jeff Atwood

    I’d much rather diagnose a bunch of procedural code over code that suffers from “Explosion At The Pattern Factory” syndrome. OO for the sake of OO isn’t a best practice.

    At least with procedural code you can wrap it into a few classes and be done with it, for the most part.

  • Scott

    hehehe, my friend Brian and I have this argument all the time. “If it’s OOP it’s CRAP”. I disagree, but I think that unless the language REALLY supports OOP, like Smalltalk, Ruby, and Python (I guess) you need to mix OOP with small amounts of procedural code. The OOP gold standard is “no if statements”. I’ve never, ever seen a program that didn’t use ANY If statements.