Fog Creek Software
Discussion Board

Books for moving from VBscript to VB.NET

I have a comfortable working knowledge of VBscript, as my day job is in ASP web development.  We are going to be moving to .NET, and I am also going to be building a web application in .NET in my freelance business, so I want to start preparing now.

While I would rather learn C#, just from the good things I've heard about it, I and the rest of my teammates already have a long history with the VB family, and no C family experience (although some of us have a lot of PHP experience, so syntacticly we are comfortable with wanting to learn C family stuff).  So we have pretty much decided to use VB.NET as the easiest and fastest way to go.

Can anyone recommend some good books that help someone transition from VBscript to VB.NET?

(Also, if you know of some significant advantages of C# over VB.NET, which would behoove us to reconsider, I'm all ears.  We are not too far down the road to change our direction if its worth it.)


Clay Whipkey
Thursday, April 08, 2004

These books are more for VB6 -> VB.Net, but they're both very good:

Appleman, "Moving to VB.Net: Strategies, Concepts and Code."

Cornell & Morrison, "Programming VB.Net: A Guide for Experienced Programmers."

Both are from APress.  The first book is more theoretical about the fundamental changes of moving to the .Net platform, while the second is more practical (providing a quick introduction to the IDE, important changes in the language, etc.)  They're good together, IMO.

Also, there's nothing wrong about starting with VB.Net.  Once you're comfortable with it, picking up C# is a breeze.  In many ways they're basically the same language, just with different syntax/keywords.  This ebook is good:

(The conclusion: the differences between them are minor; use whichever language is more comfortable and productive for you.)

Robert Jacobson
Thursday, April 08, 2004

Programming Microsoft Visual Basic .NET (Core Reference) from Microsoft Press won't forget you used to know VBScript/VB.

Li-fan Chen
Thursday, April 08, 2004

"Also, if you know of some significant advantages of C# over VB.NET, which would behoove us to reconsider, I'm all ears."

I've dickered around with C#, used VB6 and VBScript, but have only glanced at a VB.Net book; so I am probably not the best person to answer this.  However, let me offer my limited opinion (and if ANYONE wants to correct me, I welcome it):  I get the impression that VB.Net will allow you to move faster than C# would.  C# lets you be more productive, than say C/C++, but you still have to do a lot of declaring, working with characters (not just strings), and defining GUI classes(1).  If I were moving ahead into .Net for web applications professionally, I would stick to VB.

Knowing VBScript and seeing some VB.Net, it looks like it'd be quicker to pick up and run with(2).


1. I could be mistaking my ignorance of Borland's C#Builder with the proper and quick way to create new forms, but making a new dialog box in C# feels clumsier than it does in Visual Basic.

2. Again, I'm a neophyte when it comes to .Net, so I welcome any corrections anyone wants to make.

Andrew Burton
Thursday, April 08, 2004

The big advantage, right now, is that C# developers get paid more than VB.NET developers.

No, it doesn't make much sense.

I consider the difference between the two languages is about the same as the difference between American English and British English. Some idioms are different, and the spelling may be a little different, but they're really pretty much the same thing.

Chris Tavares
Thursday, April 08, 2004

#1 reason to learn C# instead of VB.Net is even more valuable if you're going to keep writing VBScript:
it's less confusing.

The mental switch is a LOT easier from the land of curly braces and semicolons to the land of begin/end and back again instead of trying to remember which keyword works for this here in this application.

Just like I never accidentally wrote english words in russian composition like I always did in spanish...

"Miguel y Luis trabajando en la kitchen..."


Thursday, April 08, 2004

Hopefully I will not have to use too much VBscript in the future.  I prefer using PHP/MySQL for smaller - to - medium web stuff, and probably .NET for large scale.  I don't know Java and haven't heard anything that "sells" it to me over .NET.

In my case, the corporate job has decided to use VB.NET because our team already uses VBscript.  In my startup, we are planning on VB.NET for the same reason, compounded by the fact that we can't make any money until the app (which is a service, not a product) is up and running.  Sweat equity is our friend, but its not the greatest for learning new things for the fun of it.  If the startup is successful, it should afford us the opportunity to do more development for fun, and we will likely learn C# at that point.

Clay Whipkey
Thursday, April 08, 2004

BTW Philo, that plan isn't fool-proof anyway.  I have caught myself throwing dollar signs onto the front of variables while writing VBscript. Doh!

Clay Whipkey
Thursday, April 08, 2004

"In my case, the corporate job has decided to use VB.NET because our team already uses VBscript"

For the record, this shows an almost complete lack of understanding about what they're getting into. The really, really hard part about .Net is learning and getting used to all the .Net namespaces and object model. Whether it's VB.Net or C# is practically transparent. In fact, building on my previous post, the perceived differentness of C# may help recognize that things are going to be different, while typing Begin and having little else work could be truly frustrating.

The "VB.Net will be easier because you know VB" is akin to "it'll be easier to learn to drive a tanker than an 18 wheeler because you know how to swim"

[disclaimer: The opinions stated above are those of the author and do not represent the Microsoft Corporation]

Thursday, April 08, 2004

I spent quite a while doing ASP/VBScript. It was decided that the next major release of the system should be based on .NET, so I had to decide on VB.NET or C#.

I opted for C# as it seems like a more natural language, although I had done a lot of client-side JavaScript work, so the syntax makes perfect sense. I also did some C/C++/MFC years ago, but I'd forgotten a lot of that anyway.

VB had already been butchered many times over since VB1, and I thought that the VB.NET was just one re-write too far.

There is very little difference between the languages (as you'd expect, given that they both target the same IL), so really it comes down to personal choice.

After working with C# for a couple of years (since the beta), I can honestly say I never missed VB. It is just a delight to work with C#, so for me and my project it was 100% the right decision.

Steve Jones (UK)
Friday, April 09, 2004

One other possible considerations: just as a historical artifact, I think that VB.Net will remain the language of choice for most ASP programmers.  (People tend to stick with what they know.)  If you're looking for help online, VB will probably be the linga franca for ASP developers.

Also, consider the direction that the languages are taking with future editions (starting with "Whidbey," or Visual Studio 2005.)  It looks like Microsoft is abandoning the "they're basically the same" approach and is trying to position VB as the better RAD tool (with extra hand-holding/support in the IDE) and C# as the hardcore programming-without-a-net language.

I was at a user group meeting last night where Microsoft previewed VB for Whidbey, and it looks pretty cool -- a return of edit-and-continue, more informative error messages in the text editor, etc.  Of course, a hardcore programmer might just find these annoying.  More info here:

Even with these changes, though, the languages will still be 99% the same in term of their capabilities.  I suggest learning both if you have the time.

Robert Jacobson
Friday, April 09, 2004

I used (and loved!) VB (and older BASIC's) almost since I started programming. I used various other languages with varying degrees of success and/or productivity, but BASIC (and VB in particular) was just my favourite.

When the time came to decide between C# and VB.NET, I didn't even hesitate--I went C#. It was fairly obvious from the beginning that the main hurdle would be learning the framework. It was also fairly obvious that the 'curly-brace' languages were here to stay and that I would have to work with them more often, not less. If I hope to be productive, then I need to focus on one 'syntax model'. I don't have to like it, but I need to do it. Now that I've (mostly) adapted (my VBScript keeps getting semi-colons and for(int i=0;i<whatever;i++) instead of ''), I have to say that not only do I not dislike the 'curly-brace' stuff, I think I'm actually getting to kind of prefer it.

Ron Porter
Monday, April 12, 2004

*  Recent Topics

*  Fog Creek Home