I have heard a good number of developers discuss the disparities relating to C# and VB.NET. The typical recommendation is this: Visual Basic developers ought to learn VB.NET and C++ and Java programmers should learn C#. Many state that one is easier to learn compared to the other. Some others actually claim C# is a bit more effective and VB.NET is not object-oriented.
I, on the other hand, don’t agree with these opinions.
To understand my philosophy, we will need to take a few steps back through history. There had been a time when a battle was waged amongst C++ and Visual Basic developers. They were two totally distinct languages that had been developed to utilize entirely different libraries. C++ was noted for its object-oriented capabilities while Visual Basic was recognized for its rapid application development (RAD) potential. C++ developers wanting to move to Visual Basic would have an uphill challenge to learn a different language, new set of libraries, and new development environment. Visual Basic developers would face identical issues mastering C++.
When Microsoft developed the.NET platform, they created a number of languages (i.e. C#, VB.NET) which are intended to offer the exact same object-oriented concepts and make use of exactly the same set of libraries. C# is syntactically the same as C++ and Java (nearer to Java than C++) whereas VB.NET resembles Visual Basic. However, while syntax is unique the libraries are shared, so C# developers and VB.NET developers are building applications on the same platform. That means that C# programmers are capable of doing almost everything a VB.NET developer is able to do less a few features and vice versa.
This takes us back to the original issue – which one should you learn? The answer is both. If you know C#, you could transition to VB.NET in a few hours by only knowing the syntax. The same thing is true of VB.NET developers looking to transition to C#. If you master one of the languages there is no reason you would not have the capacity to learn the other. As a side note, C# programmers are compensated about 7% more based on a recent survey, but that’s possibly due to the disposition that I’ve just discussed and I imagine that disparity will evaporate as time passes.
My last bit of advice is to just focus on the essentials. Understand object oriented concepts (encapsulation, inheritance, polymorphism) as well as you are able to. Learn to construct an application from top to bottom (not bottom to top). If you can easily see the various components of a multi-tiered architecture you’ll see the application as a group of elements instead of just a pile of syntax and code. Now you’ll see an application with a broader perspective and you’ll soon realize that staring at the finer points of C# vs VB.NET is a minor piece of a much larger puzzle.
Article Source: http://EzineArticles.com/6307403