Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations bkrike on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

VB.NET or VB6 ??? Learning Pros and Cons

Status
Not open for further replies.

AustinOne

Programmer
Mar 22, 2002
59
US
Pardon if this has been asked before:

With years of COBOL experience, I am now learning VB6 at home using VB6 on my personal Windows 98 PC, along with a half-dozen or so VB6 textbooks. I need some opinions:

1) Do I really need to learn VB.NET, or are there still sufficient opportunities for VB6?

1) Will it be a big jump for me to learn VB.NET?

2) Do employers using VB.NET most likely require me to know VB.NET, or would they likely accept VB6 and an eagerness to learn on the job as sufficient qualifications?

3) Apparently VB.NET (Visual Studio) Academic version allows me to continue to use Win98, whereas "real" versions require Win2K or XP... is this true?

4) What would I be missing out on if I chose the Academic version?

Thanks!
 
Here's my not so humble opinion.

VB .NET is twenty times harder to learn than VB6. I've been a Basic programmer since Basic came out on cassette. I've been through every version of Basic since, then I became a FoxPro programmer. Going from Basic to FP was easy because it's a well thought out programming language with many constructs like Basic.

When I started leaning VB .NET I already had some experience with OOP due to FoxPro, but this language is so complicated, no matter what they say, my learning curve has been two years now, mostly because of my old age, and I still have to work in FP.

My company only supports VB .NET officially so I have to learn to program in it. But doing things, except for building a "Hello" application, is very difficult to do. The platform is so full I can't get my mind around it, so if you are young and inthusiastic this is the way to go because it's so powerful, and you may have no other choice if this is what your company wants to use.

I've spent many hours trying to do things in VB .NET that I can do in ten minutes with FP or VB6. But once I figure out how to do it then it works and I can use that as a template for doing it again. And Microsoft came out with the idea of Application Blocks which really helps with database work.

On the other hand, if I want to do something fast, like low level file work, I pull up VB6 and create a .exe program that does exactly what I want, in a matter of minutes, well, 20 minutes maybe.

I've purchased dozens or more books on VB .NET, and after going through the tutorials and startup types after two years now, I can finally get SQL Server databases working correctly, but try to find out how to do something simple, like clear a datagrid or bind two forms to the same dataset, and you're not in luck. It's really hard to find out how to do things.

Hope this says to you there is a long learning curve. There is nothing simple in this platform except of course for "Hello World".

CU

Tony Scarpelli
Clinical Engineering Dept.
Maine Medical Center
Portland, Maine 04102
 
Tony is correct - the learning curve is very steep. It helps to be able to think in terms of "objects" and not straight procedural code.

However, VB6's life is limited. Microsoft has said they will support it (fee-based support) until 2006. Free support ends in early 2005.

I would use VB6 to learn about things like event-driven programming, database access (stay away from data-bound controls), and forms programming. But I would make the switch at some point to .NET to learn object-oriented programming and a more modern syntax. Whether you choose C# or VB.NET, it doesn't really matter, as the differences between the language just come down to syntax (how you declare variables, curly-braces vs. begin..end, sort of stuff). The .NET framework is the real learning challenge, and is shared by all the .NET languages.

Have you though about learning COBOL.NET? It's being released by Fujitsu. There's no difference in the Intermediate Language it produces between it and any other .NET language. It's just a matter of syntax ("BEGIN-SECTION...END-SECTION").

Chip H.

If you want to get the best response to a question, please check out FAQ222-2244 first
 
If you are going to go the .NET route, I feel that one of the most important things for you to do is, as Chip stated, to think and program in terms of Objects. Learn OOP concepts first. Learn how do design applications using tools such as UML ( I know that this may be a little down the track for you, but it is all too easy to teat .NET like a trickier version of VB6, which is just pointless (I couldn't believe when I read in one of the .NET Wrox books that Objects should be stateless and used only for functionality!).

When you learn to program in Objects, as opposed to functions and data, you'll soon find just how elegant and effective it all is. And it will also greatly help you in terms of career opportunities, which is why we do all this in the first place right? :p

Regards.

Stephen.
 
To help you along in learning objects, if you should start with VB6, do not use any .bas modules. Do everything in .cls (class) modules to force you to think in terms of objects.

Chip H.


If you want to get the best response to a question, please check out FAQ222-2244 first
 
Thank goodness everyone else finds it so hard. And here I was thinking I was being the dummy.

Ive also come from a VFP Background, and in a way I think its an advantage, as OOP concepts were encompassed in a way that VB6 never was.

Still..Ive spent an age developing classes, that basically replicate my old VFP framework. Once you master Intellisense things get a little easier, and you start delving into all the dependent object classes to see what they can do, but I still get hopelessly lost at times.

Good luck with the learning curve. Forums such as these are an absolute god-send when you're at a complete loss.


WTrueman
...if it works dont mess with it
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top