"We Have Met The Enemy...

...And He Is Us“ (Walt Kelly, 1970 Earth Day poster)

A ton of response to my “Future of VB” post. Some good stuff (I particularly liked Duncan's idea that the tool handle converting the language seemlessly). But there's also a fair amount of stuff like IM's comment that “Programmers use C# and VB to write the same kind of programs” that I have a hard time agreeing with. Sure, some of these are the same, but if this is really true then is there really a point in having two languages?

It's hard to accept. It's been my - obviously simplistic - opinion that C# guys would rather spend their time polishing some elegant class library or widget while the VB guy would rather solve a business problem. Sure, the VB guy might need to create some classes (most don't, except by accident) and the C# guy might create a user interface (though, arguably, he shouldn't be encouraged ).

Here's the problem: We (the VB programmer) have become the “enemy“. This was brought home to me earlier this week when I was talking to a couple of people who are known guru programmers. They were lamenting the looming demise of programming as a paying profession and trying to figure out where they might move their careers. The problem is, they both like solving engineering problems: They both _like_ coding.

I volunteered that I agreed, and that with the next major generation of tools putting the code generation in the tool / compiler, that this would herald the triumphant return of the VB programmer who glued together a bunch of stuff to actually get something done. But I was skewered by the guru who said “Obviously, but that's not going to be you.  You're actually one of us now. It's going to be a bunch of new people we don't know.”

And he was right. In the process of making the VB programmer into a computer science wannabe, we've lost site of the original reward of VB, which was that it enabled non-programmers to actually solve problems. Many of us made a decent living teaching these guys to be productive, but you sure don't see any of that “learn to write business applications in 5 days” stuff applied to .NET.


  • [In response to Mike Parsons' comment]

    Technically, you can do everything in COBOL or FORTRAN. The reason you don't is because it's not worth it. The productivity gains are enormous, but I'm just preaching to the choir, I'm sure :-)

    I do like what you've said here, Keith. I think it's good to keep VB as a RAD-focused language which can plug-in components and services together easily. Getting back to this will be key to bringing legacy VB developers to the .NET table as well as defining the line between VB and C# (among others). I think a "road ahead" should be announced by Microsoft so that everyone will know what is going on - straight from the horse's mouth, so to speak.

  • That's like saying "if some people speak Spanish and say the same things they would say in English, why bother having both?". C#/C++ developers would like to paint the picture that most VB programmers are compsci wannabies coming out of the VBA rock they've been hiding under who are only useful for wiring buttons and datagrids to the "real code." Stereotypes about VB programmers "not creating classes" who hack together code rather than "creating elegant libraries" are simplistic and destructive. There is a large contingent of VB programmers like me who hold CS degrees, have decades of experience, and are 100% commited toelegant, scalable, OO code.

Comments have been disabled for this content.