C# versus VB.NET
This article is written for the business manager trying to decide which language he wants his project written in.
C# (pronounced C sharp) and VB.NET are both fully object oriented languages with the huge .NET library at their disposal. The key differences between the two languages are that VB is a verbose one designed to be easily read and understood, particularly for beginners, while C# is more cryptic, designed to be like the C/C++ programming language thereby leveraging the huge number of C/C++ programmers today. The C programming language was developed to be short and terse because, when it was developed in the 1970's, its parser would run faster and use less memory with its syntax. With today's computers, this is not a concern.
Both the C# and VB.NET languages are compiled into the same Microsoft Intermediate Language (MSIL) byte code and then into the same machine code by the Common Language Runtime (CLR). Contrary to popular belief, neither language compiles into binary code that executes any faster than the other.
C++ was too complex and VB was too basic to work with Microsoft's new .NET platform so they came out with C# for programmers with a computer science background — who predominately used C++ — and VB.NET for those who focused on end-user applications (VB6 programmers).
A project can mix languages by compiling one into binaries. So, if two programmers are working on the same project then they do not neccesarily have to use the same language.
Finally, while VB.NET is more forgiving and does more with less time, it is slowly being outed by C#. This is something to consider for the future as more and more computer have C# examples only. Check resources in the area to see what is available.
Comparing VB.NET and C#, programmers will find: