VB6 to C#

Jeremy just posted about VB.NET vs C# in the enterprise, so I thought I'd share the standard language at my employer.

Prior to .NET, the overwhelming majority of development was in VB. Even the large, mission-critical (what used to be mainframe-driven) systems were VB-based. Don't get me wrong, it's still a rather intense enterprise architecture based on Microsoft DNA. You know, COM servers, messaging servers, etc, and so on. But, everything up to the database (which was Oracle) was VB6 and earlier.

Anyone want to take a guess as to which language was chosen for .NET, especially with hundreds of developers rather well-versed in VB? If you guessed like me, then you'd be wrong. The .NET standard language chosen was C#.

I was surprised with that decision. But, the reassigning makes sense. There is a world of difference between VB6 and .NET; oo-programming, interfaces, you know, all the features of a "real" modern platform. The idea was, if they put developers in a language they're comfortable with, then they'll try to use the language in the same way. And as we all know ... procedural, VB6-style coding in .NET is just a bad idea.

C# forced all of the legacy VB developers to think in a totally different way and gave the perception that .NET was a whole new platform instead of just an upgrade. Me personally ... I still prefer my VB.NET ;-).

1 Comment

  • I've seen the same reasoning in several companies. Forcing their VB-coders in C# makes them think harder about OO and the lot.

    I've seen too much VB6.net already and I don't like it.



    The worst so far was a class that performed all database-actions (opening connection, 4 inserts and 2 updates, perform select, closing connection, build table with select and put it in session) in the constructor, so by the time your object is properly initialized, it's no longer used.

Comments have been disabled for this content.