why should I learn VB.NET

Started by
23 comments, last by Shannon Barber 18 years, 7 months ago
my only programming experience is with C++ and I was reading about .NET. It said C# was designed specifically for the .NET interface and you could do the same things with C# and VB.NET. so i was wondering, is there any reason someone should learn VB.NET?
Advertisement
VB.NET exist primarily for those who are users of Visual Basic 6.

.NET is fundamentally language agnostic, so what language you choose is immaterial. Kudos to Microsoft for making this stupid religious issue structurally irrelevant in their new system architecture.
There isn't any reason not to try both C# and VB .NET out. I personally prefer C#, but I will admit that Intellisense for VB .NET seems to be better. No clue why that is though. Maybe when the final version .NET 2005 gets released there will be better parity there.
Quote:Original post by SiCrane
There isn't any reason not to try both C# and VB .NET out. I personally prefer C#, but I will admit that Intellisense for VB .NET seems to be better. No clue why that is though. Maybe when the final version .NET 2005 gets released there will be better parity there.


Trying out the 2005 beta, the C# intellisense is quite good. It will pop up when you are defining something (the actual type), which is nice for me coming from VB... Can't wait for it to come out on shelves.
Sean Henley [C++ Tutor]Rensselaer Polytechnic Institute
Quote:Original post by SiCrane
I personally prefer C#, but I will admit that Intellisense for VB .NET seems to be better.


I suspect it's because the VB syntax is a bit more suggestive. Consider variable declarations -- they prompt for a type, whereas in C# there is no way intellisense could give you a type list for variables without you pulling up the list manually.
SlimDX | Ventspace Blog | Twitter | Diverse teams make better games. I am currently hiring capable C++ engine developers in Baltimore, MD.
Quote:Original post by Promit
I suspect it's because the VB syntax is a bit more suggestive. Consider variable declarations -- they prompt for a type, whereas in C# there is no way intellisense could give you a type list for variables without you pulling up the list manually.

Not necessarily true. A variable declaration in VB.Net looks like Dim varname as Type while the C# equivalent is Type varname;. There's really not that much difference between them.

IntelliSense could be extended to be a much more powerful teaching tool, by having it suggest valid statement types and the range of expected/valid tokens that follow. If the range is too large (say, greater than 5), then the token category identifier could be display, and clicking on it could then pop up a secondary menu listing all of them. And, of course, all of this could be switched off easily once competence is attained.

I think IDEs should move past just "organizing your code and smoothing out the process of authoring code." I think it's time they began suggesting approaches, pointing out refactoring opportunities based on fixed local scope analysis and generally being more logographic.

But I digress.
I think VB has always been about providing a reasonably quick way of getting prototype apps up and running. "rapid application development" if you like. Would you want to sell anything written in it? Well maybe, but the answer is predominantly no. If you need to knock out a quick and dirty tool for a tight deadline, it's a language to consider. The fact that it shares a lot of the same properties as C# makes for a simplified job of porting it. As to the benefits of C#, I have no idea.
"I must not fear. Fear is the mindkiller. Fear is the little death that brings total obliteration. I will face my fear. I will permit it to pass over me and through me. And when it has gone past me I will turn to see fear's path. Where the fear has gone there will be nothing. Only I will remain." ~Frank Herbert, DuneMy slice of the web
Quote:Original post by DrewGreen
I think VB has always been about providing a reasonably quick way of getting prototype apps up and running. "rapid application development" if you like. Would you want to sell anything written in it? Well maybe, but the answer is predominantly no. If you need to knock out a quick and dirty tool for a tight deadline, it's a language to consider. The fact that it shares a lot of the same properties as C# makes for a simplified job of porting it. As to the benefits of C#, I have no idea.


VB.Net is a full featured language, and you would definitely want to sell anything written in it provided it works and is useful. Enough of the old "VB is not cool 'cause it's easier to get into." In fact I would pick an app written in VB.NET over the same app written in C++ anyday, if only for the fact that I'm sure the OS won't have to clean a huge mess at the end.
I teleported home one night; With Ron and Sid and Meg; Ron stole Meggie's heart away; And I got Sydney's leg. <> I'm blogging, emo style
Quote:VB.Net is a full featured language, and you would definitely want to sell anything written in it provided it works and is useful. Enough of the old "VB is not cool 'cause it's easier to get into." In fact I would pick an app written in VB.NET over the same app written in C++ anyday, if only for the fact that I'm sure the OS won't have to clean a huge mess at the end.


Why? VB is slower than C++. Even if your OS has to clean up a mess, provided you're using a new one like XP, it should clean it up pretty easily. And in the hands of a skilled programmer, an app in C++ will run faster and more efficiently than one in VB.
Quote:Original post by xMcBaiNx
Enough of the old "VB is not cool 'cause it's easier to get into."


That's not what I said.
VB is a useful language & I use it for my own projects. It was also one of the first languages I chose to learn when I was starting out. It has it's benefits. The one I value most highly is the gui design features. It also has it's flaws. If you are looking for raw speed, you will never find it in VB. Perhaps that's changed since the introduction of the .net framework but as far as I'm aware it's still interpreted, and does nothing to encourage efficient program design. It is not a fully featured language either. There may well be additions such as linked list classes in the new editions but the ability to define your own *new* abstract data types without primitives such as pointers is severely limited. (and no, that isn't a "VB doesn't have pointers" comment.)
This may seem like I'm contradicting what I've just said but I personally found learning C to be a big challenge after being used to many years developing in a BASIC language.

In any case in a commercial environment where time is money, VB is a very desirable tool to use.
"I must not fear. Fear is the mindkiller. Fear is the little death that brings total obliteration. I will face my fear. I will permit it to pass over me and through me. And when it has gone past me I will turn to see fear's path. Where the fear has gone there will be nothing. Only I will remain." ~Frank Herbert, DuneMy slice of the web

This topic is closed to new replies.

Advertisement