Learning C# help or hinder VB.NET learning

I have just moved job and gone from VB 6 to VB.Net and found the learning jump fairly steep, have more a problem with the object / conceptual side of things .. but getting there now ... but as I was a assembler / C++ 10/15 years ago and was considering learning C++/C# .Net (XNA games library calls my name) but not sure if it would hinder my VB.NET learning .... or should I just get myself certified

Answers


To me the biggest obstacle for .NET is learn what is available in the framework. Therefore, if you find it easier to code in C# it will mean you only struggle with one thing instead of two. Once you know the framework it's just syntax really as 95% of the stuff you can do with C# can be done with VB.

Also, C# will force you to write code in a more object orientated manner as you can't fall back to coding in a VB6 style.

'yield return' is an example of something that doesn't have an equivalent in VB9 (there are rumours this is being added for VBX though).


I was (back in the day) a VB6 dev, and I would expect it to help. There is a much-commented tendency for VB6 developers to keep writing VB6 in .NET; even just a brief look at C# might help you think about VB.NET as a .NET language, rather than a Visual Studio 6 ancestor.

Of course, you might find (as I did) that you don't want to go back to VB.NET after C# ;-p

But as has already been mentioned - the framework is identical. And with C# 4.0, many of the differences will become even less (with "dynamic" making it easier for C# to talk to late-bound COM, and the named arguments / auto-ref stuff making it easier for typed COM).

There is a lot of drive for converging the feature sets of C# 4.0 and VB.NET in VS2010


Apart from the fact that a large part of what you need to know is about the Frameworks's libaries learning another syntax that targets the .NET's CLR is useful.

Seeing how another language expresses the same concepts helps you to separate the concepts from the language. This is always useful because the concepts are fairly constant, (for example a shadowed(VB) or hidden(C#) function) whilst different languages use different words to express them.

Understanding the concepts better will help you to utalise them when designing code.


Need Your Help

How to create array-like data-structures with object keys in PHP?

php data-structures map

I want create arrays with object keys in PHP, i.e. something like this:

How to create actionsheet using HTML5 and phonegap cordova2.0 for iphone app?

iphone ios html5 cordova xcode4.3

I am very new to iPhone development and also am fresh to using PhoneGap Coredova 2.0 for iPhone. Am working in Xcode 4.3. I want to create UIActionsheet in my iPhone app using HTML5 for Phonegap iP...

About UNIX Resources Network

Original, collect and organize Developers related documents, information and materials, contains jQuery, Html, CSS, MySQL, .NET, ASP.NET, SQL, objective-c, iPhone, Ruby on Rails, C, SQL Server, Ruby, Arrays, Regex, ASP.NET MVC, WPF, XML, Ajax, DataBase, and so on.