Hi David. Have I bought your program ? Whichever VB->C# converter I bought, it truly rocked !!! David Anton wrote: allows unsafe code (I've yet to meet anyone who does this in C# though) You're talking to one right now. Vital for image processing, although I'm told there's a non-unsafe way, I am yet to see the code to know what it is ( setpixel does NOT count ). David Anton wrote: has the 'as' operator (but VB has it in 2005 - 'TryCast') Trouble is, most VB.NET users prefer to use the older casting operators, the ones that were in VB6. The problem with VB.NET is not lack of features, it's terrible hacks that have been maintained for legacy support ( and which Microsoft initally wanted to remove ). David Anton wrote: VB.NET : has optional parameters Yeah, these would be nice, although I read a rationale against them online which made sense. All about performance. David Anton wrote: And this one is a doubtful benefit of VB: it gives you half a dozen ways to do a lot of things - some regard it as a benefit, while others hate it since it makes it harder to produce standard code in teams. A problem that VB.NET only intensifies. It's my experience, from working on projects that are already in progress, that on average, VB.NET users know a hell of a lot less about good design and coding standards than C# users. It's also my experience that they don't use the new VB.NET features, because they are coding as if it was still VB6. I doubt many of them even know what it is they are asking the compiler to do. Whichever converter I bought, it won me a whole lot of work, because I was able to convert a huge VB.NET program to C#, and I have worked on it ever since. I agree, style is an issue, I hate VB.NET syntax, but there's more to it than that, and the core issue is the sort of people who are using each language, on average. I'm sure there are good VB.NET coders and bad C# coders in the world, but overall, the trend is in the other direction. Christian Graus - Microsoft MVP - C++