If anyone is attempting to create an enterprise system in VB.NET, or thinking about, then let me tell you this, DON'T. After creating an enterprise project consisting of over 1000 classes, VB.NET is beginning to look a little weak Now you may ask whats the problem with VB.NET or may come to the conclusion that I'm one of those developers that are anti VB, well I'm not. I like VB and C#, they both have there strengths and weaknesses but when it comes to enterprise development I believe Microsoft made a big mistake with the IDE for VB.
The biggest problem with using VB for large projects is the IDE insists on checking your code for any errors as you type (Background code compilation), now this is great for checking for errors before compile time but the problems come when your projects reach a significant size for the background compilation to gradually slow down your productivity. We have a core data access layer which I believe is quite complex and if we wish to add a new method to any class within the project it will take approximately 30 seconds for the cursor to allow any typing after pressing the return key.
Now I must say I wasn't happy with this so I contacted Microsoft regarding the problem through my MSDN account, they acknowledged it as a bug and I therefore assumed that it would be fixed in Visual Studio .NET 2003 (Everett), after receiving the CD's for the Everett beta I tried the same projects on that. Admittedly it was quicker, but it was still as far as I was concerned too slow, Microsoft logged this same problem as a bug on Everett and after speaking to Microsoft again they said the problem with the background compilation was too deep rooted into the IDE that the possibility of being able to switch it off would not be possible, so the bug still stands in the release of Visual Studio .NET 2003.
Now my day consists of avoiding my VB.NET projects like the plague, I was unhappy, I wanted C# code. Easy I'll just convert it!!!!!!
So my journey began to look into VB.NET to C# code converters and I ended up building a resource of links that I thought would be of some use, they weren’t to me since the majority of the tools that were freely available didn't seem to perform particularly well. I found two commercial applications that claimed to convert the code and since trial versions weren't available it was quite hard to tell what they will do until I stumbled upon a Japanese web site that claimed to have a VB.NET to C# converter for free, called strangely enough VBCS (the same name as the commercial application produced by www.immunicode.com ).
After downloading and running the converter, which currently is at version 1.1 it became obvious the application was built for the Japanese as there are no English instructions for it, and the user interface is for a Japanese culture but it is pretty simple to use.
Does it work? This was my biggest test and surprisingly it does very well, it’s probably the best converter I have seen so far and I will be using it for converting any of my VB code to C#, so my tip for today is if you need to convert VB.NET code then check this tool out as it really does work and its free.