VB.NET & VB6

V

Viswanathan S

Hi All!

What is the major difference or advantage of using VB.NET to create
application compare to Visual Basic 6.0?


Thanks in Advance
S. Viswanathan
 
P

Paul

I would answer a manager: Why create any new projects in a language that is
now by definition legacy?

I would answer a developer: .NET experience will teach you that VB6 isn't a
serious programming language.

Paul
 
A

Al Reid

Paul said:
I would answer a manager: Why create any new projects in a language that is
now by definition legacy?

I agree that there would be no reason to do so, assuming that you don't already have a large investment in legacy code that has been
thouroughly tested and would have to be rewritten in order to utilize it. If you are starting with a clean slate I would say go
with VB.Net.
I would answer a developer: .NET experience will teach you that VB6 isn't a
serious programming language.

Obviously you don't have any serious experience with VB6. I doubt that any programmer who moved from VB5/6 to VB.Net magically
became a serious professional programmer, either.

VB.net is a great language and has greatly improved with the VB2005, but that does not diminish that thousands of serious and
critical business applications have been written with VB6. The decision to break compatibility between VB6 and VB.Net is a serious
issue that should not be taken lightly. How serious depends on your position. Deadending VB6 may be great if you are a
programmer/developer, but maybe not so great if you own the assets and have to foot the bill.
 
P

Paul

Obviously you don't have any serious experience with VB6.

You may disagree with my assessment, but that's just not true.
I doubt that any programmer who moved from VB5/6 to VB.Net magically
became a serious professional programmer, either.

It's not magic, but the transition can be a very good influence on technique
and understanding. 3 years of coding in VB6 vs 3 years of coding in any
DotNet language is just not the same. I could go into why VB6 can be a
crippling language to use, but here that would be both preaching to the
choir and beating a dead horse.

I'm not trying to belittle anyone's experience using VB6 - obviosuly there
is some very serious stuff you can do in it - please take my (perhaps
biased) point of view as something that comes from my never wanting to go
back.

Paul
 
A

alantolan

What is the major difference or advantage of using VB.NET to create
application compare to Visual Basic 6.0?


There are a couple of facets to this question.

At the basic technical level

- VB.Net is a fully OO language. Notwithstanding the troll-thread
about Procedural vs. OO, this is a good thing.
Implementation Inheritance of classes and the nicely done
visual inheritance of forms speed up development a great deal.
The ability to subclass controls and add specific behaviour is
a big plus.
- Streams - they are a BIG improvement over the previous file
access methods and provide a lot of flexibility that was just not
previously available (using memory streams in place of file
streams, customized readers/writers for acting on the streams
- Exception handling instead on On Error
- Delivered libraries providing lots of support for a range of
functionalty - e.g. XML, Sockets, Threading, Diagnostics
- Reflection


On the support side

- Microsoft is going to end support for VB6 at some point (can't find
the date at the moment, if some else knows of an
authoritative source for this i'd add appreciate them posting it)
- There will be no VB7 based upon the current VB6 technologies, all
new improvements will happen on the VB.Net side of
the house.
 
G

Guest

Well if you were developing COM based application using VB6 you can easily
integrate VB.NET based COM components. We have a huge amount of legacy VB6
code and have extended it using COM components written in VB.NET.
Eventually, the .NET classes will become the majority and then we'll drop all
VB6 development. In the meantime, there is no reason to dump all VB6 for
VB.NET. Using COM Interop you can have both. And, development of new
features using .NET is significantly faster. (Once you get over the learning
curve).
 
A

Al Reid

TrtnJohn said:
Well if you were developing COM based application using VB6 you can easily
integrate VB.NET based COM components. We have a huge amount of legacy VB6
code and have extended it using COM components written in VB.NET.
Eventually, the .NET classes will become the majority and then we'll drop all
VB6 development. In the meantime, there is no reason to dump all VB6 for
VB.NET. Using COM Interop you can have both. And, development of new
features using .NET is significantly faster. (Once you get over the learning
curve).

Learning curve is not an issue. VB.Net is just another of many languages I have used over the years. In fact, I'm coding in VB.Net
right now. No big deal. It's a new application w/o any VB or COM legacy code and therefore it was an ideal fit for .Net.

However, I also maintain a large code base in VB6. It will probably stay that way until some compelling reason comes along and
forces the issue. There is no reason to invest time and money moving the applications to .Net when there is zero payback.

So my point is/was to use VB.Net for new development and to stick with VB6 for legacy applications until there is a compelling
reason to switch. Once that reason presents itself, then develop a plan to migrate it forward. That may include COM interop,
rewriting/refactoring, etc.
 
G

Guest

The language syntax really is fairly trivial. The learning curve is more
related to the .NET framework than the actual programming language. Also,
software design is different due to the greater OO capabilities of VB.NET
versus VB6. VB.NET finally is a fairly robust OO language. It does require
some learning to take advantage of this and to not just code the old VB way.

Regardless, I agree with not moving a large VB6 code base in one giant
conversion. (I still have one myself). But, once you understand the
benefits of VB.NET you will want to find every way possible to take advantage
of them. Our VB6 base is still supported. But, we take every opportunity
to convert when they arise. For example: Major component modification, user
interface enhancements, new functions, ... Eventually I hope we get to a
point where the VB6 is the minority. At that point, the total conversion may
make sense. GL and happy VBing...
 
P

Paul Clement

¤ Hi All!
¤
¤ What is the major difference or advantage of using VB.NET to create
¤ application compare to Visual Basic 6.0?
¤

The biggest advantage for VB.NET is the fact that there will be future support and enhancements for
this version. The disadvantage is that a rather large run time (the .NET Framework) is required for
VB.NET apps.


Paul
~~~~
Microsoft MVP (Visual Basic)
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top