3 ms·
Abandoning VB.NET for C# is like abandoning Coke for Pepsi or Smarties for M&Ms. They have far more in common than any other two languages in the stack that you
by latch 16y ago
Abandoning VB.NET for C# is like abandoning Coke for Pepsi or Smarties for M&Ms. They have far more in common than any other two languages in the stack that you undoubtedly use to build apps. This isn't a bad thing, but it does make the choice pretty trivial. "Abandon" it, and if it doesn't work out, just switch back.
C# and VB.NET are even closer to each other than C# and Java. The former share an entire runtime, the latter share a similar syntax. (and yes, C#/VB.NET/CLR/DLR is getting to be quite different than the similar Java ecosystem).
- motters 16y agoI don't think so. The syntax of C# is far closer to Java than it is to VB. C# has often been described as "Microsoft's version of Java", and if you read about the history of those languages you'll see why. It would be far easier for someone familiar with Java to move to C# (or vice versa) than to move between VB and C#.
- necubi 16y agoThat's what latch was saying: Java and C# are similar in syntax, but C# and VB.Net are similar in more important ways.
- ryanpetrich 16y agoC# has identical syntax to Java, but it's object model, libraries, IDE and supporting environment are identical to VB.NET. Syntax is the easiest part of a language to learn.
- jonpaul 16y agoI disagree. A person would have a much easier time transitioning from C# to VB.NET than C# to Java. This is simply because the libraries in C# and VB.NET are the exact same since they both run on the CLR. The syntax learning curve may be steeper, but I believe that it's more difficult to learn the libraries. Edit: Ooops... it looks like I agree. Can I blame my misunderstanding on a case of the Tuesday's?
- latch 16y agoI'm not sure if you read my comment, but I specifically said that C# and Java share the same syntax. C# and VB.NET share lambdas, linq, anonymous functions, delegates. They share the same implementation of generics (which is different than Java), the same type system (which is different than Java, enums, nullables), covariance, contravariance. They share the same frameworks (WPF, Silverlight, WebForms, WinForms, MVC, ...), and the same IDE and other tooling. They share the same patterns: deterministic finalization, asynchronous programming, fluent interfaces. They share the same language shortcuts: auto-properties, properties, collection initializers, ... Java and C# share braces, semi-colons, &&. Java and C# are more similar for about 30 seconds.
- nhebb 16y agoI think the bigger issue is that in the .NET world, being a VB.NET coder has less stature. The much blogged about salary gap shows that. Also most of the interesting core samples and presentations are shown in C#, so VB.NET coders would constantly feel out of the mainstream of their community.