"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.