I recently received a question from someone asking:
Why C# is used more or preferred over VB.NET?
I believe the answer to this question has mostly to do with perception and history.
Although VB.NET is an excellent language, the problem with VB.NET has more to do with the history of BASIC than what VB.NET is today. I can tell you that I prefer C# over VB.NET, and I programmed with Visual Basic versions 3 through 6 with much success. However, as any ex-Visual Basic developer an attest to, Visual Basic was always viewed as a second-rate language by C++ and Java developers. There were certainly a number of things that the C++ language would allow over Visual Basic, and not all of them were necessarily positive. Much of the flexibility allowed by C++ was also the demise of many C++ applications.
I viewed C++ like a surgeon’s scalpel. With a scalpel, it can take a long time to carve out a piece of art. And, in the wrong hands you can do more damage than good, as I have seen. However, in the right hands, you can do very good things. With C++ a developer could do virtually anything since C++ was the core language on which most operating systems were written, and the core for the Microsoft libraries.
Visual Basic was intended to address the need to rapidly develop applications for the largest share of applications needed, such as business applications. Business applications are more about good business process logic and intuitive user interfaces, not complex user interfaces or algorithms. Visual Basic was Microsoft’s initial attempt at providing a development language to improve programmer productivity. Visual Basic addressed this need well.
With this little bit of history, programmers who used Visual Basic were not considered by some (C++ and Java developers) to be “professional” developers. The fact that Visual Basic had the word “Basic” in it was probably the single most dominating reason – in my opinion. Anything that is “Basic” is probably not powerful – as viewed by many who never really ever used Visual Basic. I must confess, I had the same biases about other database-related languages like FoxPro and DBase – and I was probably overly critical about those and other tools as well.
I personally have a great deal of respect for Visual Basic and its place in history. For me, it was the right tool for many solutions at that time. Visual Basic versions 3 through 6 existed during a time when companies were only beginning to see the advantages of Local Area Networks (LAN), the wide-spread introduction of the Internet and the explosion of the Internet, all of which happened during the timeline of Visual Basic.
If I may deviate a bit, during this time most companies; except for the large Fortune 1000 type companies), viewed personal computers and LAN’s as an expensive investment with very little return on investment (ROI). This close scrutiny of Information Technology investments eventually proved to be a good investment in productivity for the average company. The investment in technology then began to swing the other direction at a pace where many companies and investors could not throw enough money into the advancement of technology and new technology companies; and as we all know, this ended with the DOT-COM boom and bust.
This is my preference from a non-technical approach. Your comments are welcome.