CIS 573 - About VB.NET

last updated: 08/07/2006

For many years I admired Microsoft Visual Basic (VB) due to its easy learning curve.  But I consider VB.NET's failure to enforce encapsulation a serious flaw; I require students to use C# for this class.

VB.NET can no longer be styled "easy to learn".  It has 145 reserved keywords (vs. 83 in C#), and many previous strengths have been removed.   Printing the contents of a rich-text box, for example, used to be trivial (there was simply a RichTextBox.Print method), but there is no Print method in the .NET framework richtextbox component.

The Windows Form Designer, which generates code when a programmer drag-and-drops a component onto a form, was formerly a unique advantage of VB.   But the C# integrated development environment (IDE) now has a very good Windows Form Designer of its own.  Although it is possible to do pure object-oriented programming in VB.NET, the language allows programmers to make use of global variables (via Modules).   This tends to decrease maintainability of applications.

VB.NET's IDE is friendlier--it automatically completes control structures and try/catch blocks, for example, but I expect the C# IDE will catch up in next VS.NET release.

C# is very like Java, and the learning curve should be fairly small for experienced Java programmers.  If you are not already comfortable programming in Java, you should not take this course.


Visitors: Hit Counter