Fog Creek Software
Discussion Board




Visual Basic vs. Visual Basic.Net

I have about a year and half's worth of experience with ASP 3 (VBScript). I want to move up and have been thinking of teaching myself Visual Basic 6.

Then along came .Net....

Is it worthwhile for me to learn Visual Basic 6 or skip it altogether for Visual Basic.Net? What are some of the factors that should affect my choice? Note that I don't necessarily want to work full-time on the Web.

Thanks for the help.

Yoav
Tuesday, May 21, 2002

The world would be a better place without VB, of any variety.  If you're going to use .Net and are starting clean, use C#.

VB hater
Tuesday, May 21, 2002

There is such a world of difference that it really depends. If you plan on doing real work right away, .NET isn't the way to go (the runtime just isn't wide-spread enough) but if you are looking at a year or two down the road, VB.NET will be worth while.

As for C#, it matters little. Learn C# or VB.NET. Once you know one, you can pick up the other in no time.

Just for the love of god skip unmanaged C++. You'll end up hanging yourself if you try to teach it to yourself.

Oh, and forget about ALT and COM+ too . Not only will they make you kill yourself, you'll take out 10 people with you!

Marc LaFleur
Tuesday, May 21, 2002

A tricky one.  It depends what you want to do, and who you put your trust in.  If you want to maintain old VB code, then go for VB6; if you want to do new stuff, then learn VB.NET.  You migth want to take into account that VB.NET is one of the languages which you can write ASP.NET applications.

If you believe Microsoft, and its various parasite companies (that's not necessarily perjorative), there will soon be millions of developers going ahead with .NET projects.  I can't tell whether this is true or not.  But do remember that Microsoft has managed to keep their momentum going for many years, and it is possible that they will be leading for the forseeable future.

Another thing - learning one won't help you learn the other.  There are many differences.  In terms of syntax, VB.NET resembles VB6 ... kind of.  Personally, I consider them to be dialects of the same language (think Glaswegian vs. Cornish English).  One thing's for sure - learning VB6 won't help you if you want to learn VB.NET.
The other thing is the behaviour of the IDE.  Many people comsider that whilst we have gained many things (such as a decent menu editor), some of the features that made VB so cool have been left out.  The principal one is the "debug - edit - continue" feature of all VBs up to 6.  Since VB.NET is not evolutionary, but revolutionary, it has a completely brand new IDE, shared between all Visual Studio.NET languages, and this feature is not supported.  Maybe next version, I hear people say.

Mark Alexander Bertenshaw
Tuesday, May 21, 2002

Why not do both?  If you have already done vbscript for a year and a half you should be able to pick up VB6 basics in about a month.  Just pick up a 21 days book and go through it.  Then I would probably pick up c# just so you don't confuse the two languages.  After that, you can choose which one will be more valuable to you and make your own decision about which one to delve into.  Knowledge is power.

Chris
Tuesday, May 21, 2002

Since VB 6 is IDE-centric, I wouldn't bother picking it up unless you actually planned to use it or just like throwing money around.

VB.NET, C#, and other .NET applications can be developed without VS.NET - Jjust download the .NET Framework.  I'm not sure how well this works and what limitations there are (maybe others could chime in), but free is always a good option when you're dabbling in or learning a language.

Also, the C# syntax is very similar to Java.  Relative to Java, VB job opportunities have declined much more sharply in the past year (above and beyond the industry-wide decline).  So it might be more worthwhile to learn C# & the .NET thing.

Nick
Tuesday, May 21, 2002

It's not only perfectly feasable to write .NET software without Visual Studio.NET, it's the only way I work. I find the VS.NET IDE to be slow and limiting to me.

But I'm not your average programmer. I self-teach myself new technologies all the time, and I'd rather know and understand what's going on in the code than drag and drop and drool and ship. YMMV.

Brad Wilson
Wednesday, May 22, 2002

Thanks for the very informative feedback.

Yoav
Wednesday, May 22, 2002

As a Java-adept I have a preference for C#.
I have read that in VB.NET it isn't possible to write in-line documentation (you know, for use with documentation generators) as in Java or C#. I could be wrong about that, though.
Anyway, C# looks a lot 'cleaner' to me than VB.NET, with all the Dim As's and ByVal's and Sub's in the code.
Possibly, blocks with the End word (If - End If) are a bit easier, but if you use indentation your code correctly, the brackets in C# should not be a problem.

Sander1981
Tuesday, September 16, 2003

With the .NET framework the differences between Visual Basic.Net and C# are so greatly diminished that it simply becomes which syntax you prefer. Yes there are details that are different but they are minute.

The old visual Basic had more limitations; it wasn't truly object oriented, it had limited librairies and classes and it's programs ran slower than other languages. In exchange you got a syntax that was easier to learn and debug.

Visual Basic.NET however has access to the same classes and librairies (through the .NET framework), is fully OO and runs at comparable speeds. So there is no longer any tradeoffs to use VB. In fact, study after study shows that those who learn VB.NET get up to speed more quickly than their C# counterpart and are often more productive. (no disrespect to the C# guys... it's all in the syntax ;-)

The answer is simply to start with the one that you like the syntax more.... Ideally, you should learn the other one also, you never know which kinds of jobs you will encounter.

Stephane Larochelle
Monday, February 23, 2004

I'd recommend you stay as far from .Net as possible. A few concerns:

1) How can MS continue to release both an OS and Development studio that is a) bugged and b) slower than its previous version.

2) .Net doesn't compile to Native Code.

3) There is nothing .NET is going to offer you that you can't do with Borland C/C++, PowerBASIC, VB6, and other languages.

4) Microsoft expects non-Microsoft developers to program in .Net while their programmers are still writing in standard C/C++. Converting programmers to C# is making them learn a proprietary langauge rather than the C/C++ standards that have existed PRIOR to Microsoft..

If you intend to be a programmer, make sure you have a FIRM foundation. ANSI C, Borland C/C++ have been around for years. Microsoft is just trying to "rewrite" the book of known programming languages and standards..

.Net Hater
Wednesday, June 30, 2004

*  Recent Topics

*  Fog Creek Home