I originally posted this as a forum entry at the Tulsa DNUG forum. I thought that it would make an appropriate blog entry… The question being discussed is which .net language (VB.net or C#) should someone learn first and which is more in demand.
Learning both definitely has it’s advantages. But I would suggested learning one really well first. So then the question becomes which one to learn first. That is what depends on your existing experience or on the company that you are (or would like to be) working for.
Personally, I learned VB.net first, mainly because I already had my MCSD in VB6. That made the VB.net syntax easy. The difficult part then becomes the OOP concepts (Inheritance, Interfaces, Everything is a type of object/class). Beyond the OPP concepts, learning the .net framework and .net programming model (ADO.net, WinForms, ASP.net, etc) is the next hurdle.
.net learning curve / process
- Language Syntax
- OOP Concepts
- .net framework and programming model
Fortunately for me, I already had the VB syntax down and a exposure to Java (OOP concepts). The only thing that I really had to dig down for was the .net framework and new programming model. Here is the good part. Once you know one .net language well, to learn another, all you really need to add is the new syntax. Because of a client that I am now working for, I am currently learning C#. The learning process has been MUCH easier than I would have ever imagined. Mainly because I already know the OOP concepts, the .net framework and programming model, and although they are NOT the same… the similarities between Java Script syntax (or any language that has their roots in C.. C++, Java, Perl, etc.) and C# have made learning the C# syntax a refreshing breeze (for the most part)
So my suggestion is that it doesn’t matter which .net language you learn first. Just learn it. Practice it, hone those .net Jedi skills. Then learn the other (VB.net or C#)… then, who knows… let you imagination go wild! Dig in to COBOL.net! (hey why not?)
Happy Coding!