Instant and complete porting of old code is a valid point ... as was instant
porting from QBasic to VB and VB3 to VB5/6.
I guess it's perception, as most things really are, Ken. And calling it B#
kinda implies that you've pretty much got your mind firmly set to a
position. I too had that position and I might even have had you beat in my
initial hatred of VB7 (
http://www.smithvoice.com/adorumination.htm )
Thing is, it hit me differently back a few years when I had been reading a
lot about VB.net but not really, honestly, using it and all of a sudden (I
remember the exact moment, sitting in my office at drugstore.com when
everyone else had gome home) I noticed that probably because I was tired my
fingers were just typing the VB that they had been doing for years and when
I pressed F5 the code ran. It was a "moment".
That's when I realized that all of the scary books and posts that said "You
Can Only Use VB.Net If You Think Like A Java Developer" were rubbish. You
do have to learn a bit of the new object model ... RDO was different from
DAO ... and you will go farther faster if you have a handle on OOP to begin
with (VB5/6 classes are enough ... after all, C+ still isn't SmallTalk) but
it being a completely alien "Language" isn't the case for a lot of folks who
have taken the leap of faith.
..Net is Revolutionary to C++ people, but it is Evolutionary to VB6 people
who used VB6-OOP.
I know there are still folks who swear that ActiveX and OOP and VB6 is just
MS hype that will go away eventually, and for their jobs VB3 with VBXes
still does them fine. As I see it, my perception, having a great background
in VB6 OOP makes the move to VB7 doable and after you've done a few apps you
might start wondering, as I did, what the worry was all about. Plus you'll
probably notice that being really good at VB6 and at least functional in
VB.Net gives you a tangible edge in these transitional times.
And remember, it's not an All or Nothing issue because there's "Interop"
that lets you use .Net components with VB6 and VB6 components with .Net and
that means that porting a full mature VB6 program or system to .Net can be
done either a little at a time or even that the app can be left as-is and
VB.Net can be used to add functionality that VB6 couldn't easily do .
A great example of this is that it is truly simple to make a real Windows
Service in VB.Net, no unsuppported NTsvc.ocx and no VB forms required.
Using VS2003 you just create a VB.Net Windows Service project and fill in a
couple of properties. Then you have that Service run a VB.Net or even a VB6
exe. XCopy the files to the server, call a commandline function named
InstallUtil.exe and your service is running... a true Windows Service.
I'll grant you that that service code would not instantly port from a VB6
example ... because VB6 can't do Window Services by itself. But with this
you have the best of both versions and you did it all with VB.
I like them both, and as the link above shows I didn't start out that way.
I hope you are able to get yourself onto an Interop project some time soon
so that you too can get feel that "moment".
And if this stuff about making VB6 and VB7 work seemlessly together
interests you even a little bit, I think you'd like the book by Rockford
Lhotka (a VB6 God) called "Professional Visual Basic Interoperability: COM
and VB6 to .Net" It's not about porting or leaving VB6 behind, it's about
using both together for more VB power. It only came out with a .Net 1.0
edition but nothing in it has really changed for .Net1.1. You know Rocky's
style so you know that it's directly aimed at us professional VB people and
it's not boring or fluffy. If it's not at your local store then get it from
amazon, they have a deal on it right now becuase of the death of WROX press.
I think you'll intrigued by the potiential benefits you'll see explained in
that book.
All the best.
Robert Smith