Tutorial :VB to C#, difficult to make the switch?


I have been learning VB.NET since the summer and I was wondering if it makes sense for me to skip learning the things in VB.NET that I do not know and move on to C#.

I think I may be more comfy in C# because I have been using Actionscript 3 for over two years and have toyed with Java and C.

On the other hand, I've never done anything serious with C or Java.

So, finish VB.NET or learn C#?


.NET is .NET ... the difference between VB.NET and C# is merely syntax. You won't ever "finish" learning VB.NET anyway, so you might as well learn the C# syntax for doing the same things you know how to do in .NET. :-)

Any new objects or libraries you learn with one language will be usable in the other, with only the minor syntax difference in how to call it. So even while learning a new syntax with C#, you will also be improving the ".NET" part of your VB.NET knowledge.


Most of the learning for .NET is in the libraries rather than in the languages, so you don't need to worry that you've wasted what you learned so far. Just switch, and when you are done with C# you will probably find that you are also better at VB.NET as well.


There are differences between the two, with relation to:

  • Generics
  • Optional Parameters (this changes in 4.0)
  • Catch/When clauses
  • with in VB
  • named/unnamed indexers
  • etc...

That being said, they're 99.9% the same, just a matter of syntax. I started with VB.Net because it was a project in my first Co-Op, since then I switch to C# years ago and found it to be much easier...it's a matter of taste but not a big deal to switch. It's the framework you're using, the language is just a nuance, it's all IL in the end.

The things you can do in one language and not the other are usually trivial, and you're getting very advanced if it's something you can't work around. The .Net team does a very good job of keeping the languages and their capabilities in sync these days (this started about a year ago when it was time for LINQ, many more differences existed before then).


You don't have to choose, do both. I switch back and forth all the time. In general (being very general :) ) most of your calls are just framework calls anyway and there are only some syntax and coding style differences between the two.

IMHO, you'll be ahead to be familiar with both.


Just my opinion, but I'd say be familiar with both but specialise in C#. That way if/when the landscape changes you'll be conversant in a language with a classic C-like syntax that will give you a core skill set that will be more like such things as Python, Ruby et al. Much easier to switch from C-ish languages to quirkier ones than the other way round.

Note:If u also have question or solution just comment us below or mail us on toontricks1994@gmail.com
Next Post »