As far as I can tell - to all intents and purposes its a matter of personal choice.
However if you are doing a lot of Office automation, VB is a better choice because Office products provide many optional parameters in their functions which VB supports and C# doesn't (although there are ways round this).
As further comment: From the reading I've done and a couple of MS seminars I've attended, MS seems to be pushing C# as their language of the future. This doesn't mean that VB will be going away any time soon, it's just a trend I've noticed.
For my own part, being a former C guy, I prefer the syntax of C#. Another thing to think about is that C# is very similar to Java. If you ever need to do something cross-platform you will have an easier time going back and forth between C# and Java than VB and Java.
Wether you use VB.Net, C#, or any of the weird ones (J#, Delphi.Net, etc) it doesn't matter. It all gets compiled to the CLR. The primary difference is Syntax. There are a few basic rules that differ between the two, but nothing that will make a huge (or even barely noticable) difference.
No, the future is in C Plush Plush, the kinder, softer C. (J/K!)
Yes you can develope any project in C# or VB, and you should be successful in both.
Here are some differences other then just syntax.
There is this pre compiling thing and auto-formatting that bugs me to death, In Vb you know immediately if your code will compile
VB Automatically adds a namespace even if you remove it from the project properties.
If you have > 45 projects in a solution really weird things can start happening. Like the IDE hanging when opening, especially with web projects.
There is the Microsoft.VisualBasic import that is automatically added to any project. This namespace makes VB toy like because you get all sort of fun functions that behind the scene are really c# code. Like IsNothing, IsStr, IsNumeric, cStr
VB is much more wordy.
Public tempStr as String
vs
string tempStr;
VB Hides fundamental ideas like delegates.
VB Has Module (AKA a class with all static members in C#)
Ther reputation of VB is loeft over from earlier versions. VB.NET is fully object oriented and not a toy. Earlier versions of VB did not have all the capabilites of an OO language and wre not considered as powerful.
Whatever project you're looking at, you should be able to use either VB.NET or C# (or both, if you need multiple projects in the solution - the ability to mix languages is a selling point of .NET)
I have read about salary differences, but every article I can find seems to be at least a few years old. Anyone have anything new?
I just like the straight forward language itself. It is like reading a sentence (if the programmer is good anyway), makes it much easier to work on code someone else has written. I don't know C#, so I can't really speak about that (but I am interested).
This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
By continuing to use this site, you are consenting to our use of cookies.