VB.NET VS VB6

I

Ivan Weiss

I wanted to kinda take a lil poll here and get some suggestion on
whether to use VB6 or VB.NET.

I am used to writing code in VB6 and have several books to help me along
the way. I recently started writing a VB.Net version of the app I want
and am finding it difficult with a learning curve but doable. I am
writing a program which uses Access databases and will probably not
exceed 15 users down the road (and thats way down the road). Right now
I am expecting 5-7 users. Basically users enter model numbers and
mechanical information into the database through my app which than
generates reports using VBA (Word, excel).

Will I really see better performance using the .net framework including
ado.net over ado? Or am I better off making life easier and writing it
in VB6. I guess I am one of those guys that only wants to use the
latest technology so using VB6 seems "wrong" to me.

Any suggestions or comments would be greatly appreciated!

Thanks guys!

-Ivan
 
J

Joe Fallon

As always the answer is "it depends."
What are you trying to achieve? A useable app in 10 days? Then go with what
you know.

Do you want to begin climbing the VB.Net learning curve? It was pretty steep
for me (and I still have a ways to go but I can get things done now that
were incomprehensible to me earlier.)

Building a VB.Net app to replace an existing app is great way to learn how
to code the new stuff.
Because you already have a database, screens (which you have to re-draw but
at least you know what they look like) , etc. you can just get down to the
core of how to write the same stuff in .net.
 
I

Ivan Weiss

Well, I guess the real question is based on the fact that I personally
have found that things are just simpler and easier in VB6. There is
only one instance of a form, which I want so I do not have to write code
to control that. Data access is also simplified. I find ado.net very
complex for simple SQL statements which is all I am using.

Is there really a big performance gap between the two? If it there is
not a big performance gap what is the advantage to using new technology
other than learning something new.

-Ivan
 
J

Joe Fallon

Probably no performance gap.
Tons of reasons to learn the new stuff - it is where the future is heading.
e.g. the next version of Windows will use Managed Code.
It is just a question of when you want to begin. (not really IF you want to
....)
 
I

Ivan Weiss

Yea, I do see your point. I guess I have to evaluate what makes more
sense in this case and decide depending on that.

I am not a full-time developer, I do it on the side for my own little
projects that I see that my company does. Therefore it already takes
forever for me to complete any project, and the learning curve of .NET
is basically just frustrating me.

Thanks, I will consider your suggestions!

-Ivan
 
J

Jay B. Harlow [MVP - Outlook]

Ivan,
In addition to Joe's comments.
Is there really a big performance gap between the two?
Some things perform faster, some things perform slower.
If it there is
not a big performance gap what is the advantage to using new technology
other than learning something new.
Personally the #1 reason to use VB.NET over VB6 is OOP. Of source it helps
if you've had the proverbial "Aha!" on the entire OOP concept. The second
reason I would have to list is the Framework itself, once you get
comfortable with what's where in the Framework, you will find that it
matches or is more powerful then most COM components for VB6. Of course
there is the side-by-side deployment which helps avoid DLL hell associated
with VB6 apps. (I'm sure there are significant other items that I am
missing).
Well, I guess the real question is based on the fact that I personally
have found that things are just simpler and easier in VB6.
I suspect if you stay with VB.NET over time you will find VB.NET simpler &
easier then even VB6! Even without the improvements in Whidbey (VS.NET 2004)
due out next year.

Hope this helps
Jay
 
C

Cowboy \(Gregory A. Beamer\)

I would probably opt for VB, as it sounds like this is a very small app that
is unlikely to grow. As a caveat, I would definitely figure out the
projected lifespan before cementing this decision.

Will you get greater perf out of .NET? Most likely. Will it be a noticeable
difference? I doubt it. As such, if you have truly figured out a limited
scope and lifespan, I would stick with COM rather than tackle .NET.

--
Gregory A. Beamer
MVP; MCP: +I, SE, SD, DBA

**********************************************************************
Think Outside the Box!
**********************************************************************
 
C

Cor

Hi Ivan,

Going along the route you will see that suddenly VB.net offers so much more.

The net library seems endless for me, I see people here using direct Win32
Api's while there is probably a methode or function in VB.net.

Terrible in my eyes is that it looks it if they are trying to make it
something the same as C. They adopt in my eyes not only the good things but
also the bad things.

But when you are used to it, you take those 10 useless extra keypushes on a
row for something that does not hurt.

My thoughts

Cor
 
I

Ivan Weiss

This is a relatively small app in the way of not being distributed to
tons of users. However, I do expect it to have a long life-span but
without many updates. I will add new features as I go along but the
design of the program is custom fit for the processes of our company.
It is designed to replace what is being done and has been done for the
last 10 years into a computer version. I expect it will not change much
and therefore hope the program needs to be usable for a long time to
come, but it does not need to do anything fancy or make use of fancy api
calls. It is simply a application that allows users to enter products
(which are very complicated with accessories etc..) and generate reports
based on that.

Basically I guess it is a fancy database interface as it does not do
much processing or anything too intensive.

-Ivan
 
C

Charlie Smith

As an old timer in the "part time programmer" dept. (meaning 'grey'
not 'adept') I tend to disagree with cowboy. I respect the solid
grounding in reality that his advice reflects, but I find that this is
just the type of app that is excellent for learning .NET on. Having
been dragged kicking and screaming into .NET from VB6 (who could
possibly want to go from something so simple and powerful to something
so confusing), I have to say that I wish I had done it sooner!

I find programming so much easier and can do a lot more in less time
these days (not counting the places where the brainworm has eaten away
things that I have to find again). I would strongly encourage you to
jump into .NET and will bet (at least a cup of coffee) that by the end
of the project you won't want to write in VB6 ever again.

Just my $.002
 
I

Ivan Weiss

Your advice is very much appreciated and is really dead on. As a test
for myself I started writing some of the app in VB6 to compare it to
what I already did in .NET (about an hour or two worth of work) and
already starting seeing there is a real difference there. It is a lot
more than I realized. The JIT compiler and the way the IDE underlines
invalid code as you type alone seems to me worth the learning curve.
Thanks for the advice everyone and sorry that this really wasn't a more
specific question and after all that ended up realizing the answer
myself.

Thanks for everyones input, .NET is the way to go.

Now, are there major differences between the different .NET versions and
frameworks (developing in 2002/2003/soon to be 2004 etc...) :) I am
staying with what I have 2002 but just curious hehe. I am sure some
people out there want to kill me now though lol.

-Ivan
 
T

Tom Shelton

Your advice is very much appreciated and is really dead on. As a test
for myself I started writing some of the app in VB6 to compare it to
what I already did in .NET (about an hour or two worth of work) and
already starting seeing there is a real difference there. It is a lot
more than I realized. The JIT compiler and the way the IDE underlines
invalid code as you type alone seems to me worth the learning curve.
Thanks for the advice everyone and sorry that this really wasn't a more
specific question and after all that ended up realizing the answer
myself.

Thanks for everyones input, .NET is the way to go.

Now, are there major differences between the different .NET versions and
frameworks (developing in 2002/2003/soon to be 2004 etc...) :) I am
staying with what I have 2002 but just curious hehe. I am sure some
people out there want to kill me now though lol.

-Ivan

There isn't much difference between 2002 and 2003. Mostly bug fixes, a
few language enhancements, and a couple of changes to the class library.
You're probably fine just staying with 2002 - but 2004 is going to
introduce a fair amount of new material :)
 
J

Jay B. Harlow [MVP - Outlook]

Ivan,
Now, are there major differences between the different .NET versions and
frameworks (developing in 2002/2003/soon to be 2004 etc...) :) I am
staying with what I have 2002 but just curious hehe. I am sure some
people out there want to kill me now though lol.
If you are just learning VB.NET I agree with Tom, staying with VB.NET 2002
is adequate, however if you are maintaining multiple VB.NET programs I would
recommend upgrading to VB.NET 2003 as it has a number of bug fixes in both
the framework & IDE.

The two language enhancements in VB.NET 2003 are bit shift operators &
enhanced For Next & For Each statements that allow defining the target
variable as part of the statement.

Dim i, j As Integer
i = j << 6 ' shift left 6
i = j >> 6 ' shift right 6

For Each anItem As Object In myCollection
Next

For index As Integer = 0 to 10
Next

Learning VB.NET 2002 or 2003 now, will simplify learning VB.NET 2004 later!

Hope this helps
Jay
 
B

Bob

I have found that there is a *huge* performance difference between VB6 and
VB.Net. And I'm afraid not many people here are going to like what I have to
say. VB6, hands down, is faster. And I'm not talking about flat-out algorithm
execution. I'm talking about what the end users see for a database application.
I moved from VB6 to VB.Net, and the users all agree that .Net is a dog. The app
loads slow, windows come up slower, and it's not because of my code, it's just
the way .Net runs. Tell my biggest client it needs to buy 25 new machines to
make the users happier with the transition? In this regard it has been quite a
disappointment.

That being said, I personally make it policy to never start new projects in a
depricated language. Your valuable time is limited, and you should be aware that
how you chose to spend it - using VB6 vs. VB.Net - will impact your future well
beyond your current project. Invest some extra time in .Net and you'll be better
equipped to handle the next project, and more employable. Put it off and it may
be a decision you may regret later.
It is designed to replace what is being done and has been done for the
last 10 years into a computer version. I expect it will not change much

Don't you believe it.

Bob

P.S. If you're located near MA and need a hand I'll help you out just for fun.
(e-mail address removed)
 

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