If you know VB.NET, do you really need to "learn" C#?

C

Chris

Wait.. before you flame..

If someone can program in Java, or Javascript, or C, or (insert your
language here that uses basically the same syntax as C#), and that
person knew how to program in VB.NET (meaning they understand the .NET
Framwork, how to use the IDE, the classes and components available,
etc.) then would they really need to "learn" C#?

I have done some coding in C#, I wrote an entire app in it, but I use
VB.NET whe possible because I think I code faster with it, thats my
preference. I think that is what MS intended by making .NET language
independed (to some extent).

I know that C# has some stuff VB doesn't, like XML Comments (although,
the XML Comments Power tool kinda removes this as a reason for C#),
operator overloading, some say its a little faster, etc.

My point is: Is there anything to really "learn" if someone was going
to move from VB.NET to C#, other than the syntax?

Moving someone that knows VB6 to C# would be a giant change, but
almost as much of a change as moving that person to VB.NET.

What are your thoughts? If you remove the syntax element of it ("if
(){}" vs "if then end if") is there really anything that someone would
have to learn in order to work in C#?
 
J

Jay B. Harlow [MVP - Outlook]

Chris,
I believe you nailed it!

IMHO: Learning .NET is not so much knowing C# or knowing VB.NET, learning
the syntax is rather minor. I think its more learning the Framework,
learning OOP concepts and being able to apply sound OOP techniques to create
a program.

Hope this helps
Jay
 
J

Jon Davis

If you know Java, and you know VB.NET, then you already basically know C#.
All you need to remember is a few keywords, like "using".

There are some advanced details that Java and VB.NET won't expose you to in
C#, but they are rarely addressed in everyday coding.

The answer is no. But you SHOULD know the CLI rules and conform to them so
that you can bounce around between languages freely.

By the way, I went from VB5, to Java, to VB6, and from there I had to figure
out whether to go with VB.NET or C#. Since I knew Java, and VB code kept
making me think in terms of Variants instead of Objects, I have blown VB.NET
with a grenade and held closely to C#, to avoid confusion.

Jon
 
M

Michael Mayer

I was a C/Java programmer first, then started messing with VBA for
office automation and then moved from that to VB.NET. Finally decided
to go to C# to get back to my preferred style of {}, etc. Other than
the XML comments you mentioned, the only other big thing I've noticed
is the lack of the keywords WithEvents and Handles. I find the VB.NET
event mechanism more straight-forward instead of having to use a
delegate all the time (especially when working on UI's).

Overall, I agree with you, pick your preferred language and if you
have need to use the other, there isn't much learning curve.

-mike
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top