vb.net is free. I'm perservering with it for this reason, as it is a completely different language to vb6.
It's not without reason that it has been called
VB.Not and
Fred.Net
I decided to stick with VB6 until there's a compelling reason to change, and I suspect that could be a way off. I just don't see the gain as being worth the pain at present.
I think MS are morphing vb, C++ and Java into the same language which is a painful process but will be worth it in the end. I have been able to paste some whole slabs of C into vb.net and have it work, so I can see where they are going.
Yes, that's exactly Microsoft's goal, a single runtime and 'assembler code' environment so programs can be written in any Microsoft ( or other ) language of a programmers choice then easily combined with whatever else others prefer to use in different parts of the same application project. The real benefit to the entire computing community is that .Net should be multi-platform by design. With a ported runtime code should run on Windows, Linux and Mac.
It's a brilliant idea. A brilliant strategy. It's generally been brilliantly executed. It's ballsed-up Visual Basic entirely. The beauty of VB was that it hid the crud but now it's surfaced. Where VB knew what it was expected to do when an object was dropped on a form and its code written, now it has to be told, and that's an awful lot of typing, greater opportunity to go badly wrong and a steep learning curve. You now need to know things you shouldn't have to. What was great about VB is what's been taken away. The irony is that VB could have been adapted to generate the exact 'assembler code' required without the syntax having to change much, and the VB 2005 IDE is entirely inferior to that of VB6.
I started writing my Terminal Emulator example programs. FirstBasic, VB3 and VB6 all done and tested in 30 minutes. Six hours on and I'm still battling VB 2005, and most of the work was done while I blinked by the VB6 Project Import utility. It works fine if I tell VB to 'ignore illegal cross-thread calls', but trying to turn them into legal cross-thread calls has me stumped. Apparently I need to understand Delegates in handling the received data event :-(
Anyway, I'm sure I'll solve the problem and porting to C# should be fairly straightforward after that. It would still be nice to see more Terminal Emulator examples written in other languages people use. It shouldn't be more than a half-hour job for the advocates of those languages, so there's a chance to test the proof of the pudding
I'll put my reference examples up in a .Zip file once I get VB 2005.