- Just as an update to my comment above, I have since tried to use the newer VS2005. "VB" is even less like BASIC than VS2003 was, and the IDE is, bluntly, miserable (s-l-o-w, given to crashes which lose your work, etc ad nauseam). Not suitable for my work at all.
- My impression (sans becnhmarks) is that the resulting EXE from VS2005 are so slow and uncertain that I cannot risk my professional rep by delivering them to an actual paying customer (and we are not even talking about the massive .NET 2.0 framework install issues here!).
- If it is speed and "real" BASIC syntax you want, I would suggest the PowerBASIC product - however, be advised that for Windows programming you will need to become very familiar with Win32 programming techniques, API calls, etc. Not as easy, but MUCH faster than .NET and even much faster than VB6.
- And the PowerBASIC allows you to freely mix inline Assembler with BASIC to fine tune your apps to a high degree!
I guess it really depends on what type of project you are designing. Since most of my programs are desktop applications for home users, I've been using .NET now since it is much simpler and intuitive (from a multi-language perspective) and faster than VB6 for my typical application. However, I keep VB6 just in case. Each one seems better than the other at some thing or another. The part I appreciate the most in .NET, though, has to be the addition of "real" OO programming concepts... like inheritance and overloading. And, oh, if you've got VS2005 you have to check out overloading operators if you're not familiar with it. But despite my googly-eyes for that kind of stuff, I think it really just comes down to picking the right tool for the job... even if you think it's outdated or too complex or whatever.
One thing, though, is that I've only noticed a speed increase so far. Someone posted earlier that their math-based code ran slower in .NET. However, I took an octree quantizer module from VB6 and converted it to .NET... it actually takes about 1/5 the time it used to. Of course, this speed increase could be due to the fact that .NET accesses structure and class members much more efficiently--including arrays--and my octree quantizer uses a single 1-dimensional array of node structures.
While I'm at it, I have to mention the "learning curve" thing. If you're coming from a VB-only perspective, then it'll be really awkward at first. However, if you're familiar with Java or similar languages, then it'll be a breeze and you'll probably appreciate the changes more than the VB-only programmer... particularly if you dig initializers and assignment operators as much as I do =)
Just my thoughts. =)