I've been using it mainly to migrate from ASP to ASP.Net, but I've attended Several .Net Summits here in Houston and I've been continuing to use VB.Net for my own continued studies. I love the .Net platform but agree that there will probably be many part-time or hobbyist programmers who never make the journey into using it. There are over 8000 classes available in the .Net framework - who can claim to master them all?
I started my formal schooling with C++ and Java, after having tinkered with VB for several years, so I welcomed the additional horsepower provided by VB.Net. I think the biggest hurdle for VB6 programmers is the amount of "wrapping" that's done to shield them from the underlying mechanics of their code. For example, to use an API function in VB you have to declare the function with its library and alias, make sure you have the necessary types and constants declared, and then call it and hope you don't crash VB. In C++, you just call it. Simple. And you don't have to do callbacks to access windows messages in C++, they're just available to you to do cool things with. In that regard, C++ can actually be easier to use than VB when it comes to doing things "outside the box." That's one reason a good VB coder is probably not given the credit they deserve since they have to jump through hoops to make VB do something that's native to C++.
That said, VB.Net is actually closer to Java than it is to VB6. And if you can master VB.Net, it's a very short jump to C#, which pays more, which is why the latest polls from programmers shows them to be moving to C# rather than learning VB.Net. Some actually fear the demise of VB due to the new complexity that comes with .Net. We have to remember that a large portion of VB programmers have no formal programming training and learned the language by hands-on experimentation and macro recording. I migrated to VB because of the huge business demand for it and its associated RAD turnaround time. I don't consider it "dumbing down" to use VB, I just find VB more enjoyable to work with because it allows me to focus on the business problem rather than spending half a day researching to find out how to call a function that has 8 pointers in its parameter list.
Another thing about VB.Net is the IDE is shared with the other .Net languages so switching between VB.Net and C#.Net is a no-brainer - it's really just a difference in syntax, with C# being less verbose, and a little more elegant to look at.
On the plus side, since Microsoft did so much work on the new classes in the .Net framework, you can do things with one line of code that took dozens of lines in VB6. The IDE is awesome for database work, and is almost like having SQL Server built right into it. I think that was the main goal of the design team anyway, since most apps are data-centric in nature. You don't see a lot of 3D-shooters written in VB do you?
What I'm waiting to see is what they're going to do with the huge base of VBA programmers out here. Are we headed toward VBA.Net? What then? Is the average Joe Macro out there going to be able to migrate to an XML-bloated VBA.Net environment. I think not. However, I also think that's a good thing for full-time programmers. There's a push right now to form a real structure in the IT hierarchy so when someone puts "Programmer / Analyst" on their resume they actually have the training and certifications to back it up. The Y2K bug brought thousands of people into the IT world who might not have been there otherwise. The result, a bloated IT workforce where it's hard to determine who is qualified to do what because there isn't a defined standard. Microsoft actually has a position I saw advertised called "Software Evangelist!" How do you become that? Is there a course at Carnegie Mellon for Evangelist Certification? In comparison, when someone becomes a lawyer, engineer or doctor, we know they have taken the necessary steps to get there.
I saw a recent article that predicted that 20% of today's progammers would have to switch careers by 2005, due to this re-structuring and the flow of jobs overseas, primarily in India. That's one reason to get out your thinking cap and get good with .Net as soon as possible. Microsoft has announced the end of VB6 certification testing after next year - you know that's a bad sign for VB6 people.
It seems to me that the trend now is to hire people with specific industry knowledge rather than people who know syntax rules. Anybody can read a reference manual and figure out a syntax rule. A programming language is no different than a spoken language. I learned Spanish in High School in much the same way I learned VB. I applied it as I had the need for it until I got comfortable with it. I think programmers tend to get haughty because they can program a certain language or two, but how valuable are you if you don't know anything about the business you work for? Today, you need to be a jack-of-all-trades, doing everything from analysis, to coding, to testing, to documentation and help systems, to graphics, to packaging, to tech support, to ... well you get the point. There are so many engineers and other professionals who moved into programming that a pure programmer is at a disadvantage in the business market. What needs to happen is for IT positions to get re-defined so a programmer is a programmer, an analyst is an analyst, an architect is an architect, and so on. It appears that programmers have become more of a blue-collar commodity these days, which means no money. Even 15 year old kids can program in VB, but what do they know about petroleum refinement, or banking, or medicine? The key to becoming valuable is learning an industry, not a language.
What was the question?
Disclaimer
The opinions expressed here are the sole responsibility of the author and have no warranty implied or otherwise. Oh...(pause)...the political-correctness of it all...
VBSlammer
![[sleeping] [sleeping] [sleeping]](/data/assets/smilies/sleeping.gif)
Unemployed in Houston, Texas