Is there anything C# can do and VB.NET cannot

  • Thread starter Thread starter Dan
  • Start date Start date
D

Dan

I am learning VB.NET for sometime now and curious to know what am I missing
by not learning C#.
Also wanted to know is there anything VB.NET can do and C# cannot.

Looks like C# getting popular day by day.

Thanks for your guidence.
Dan
 
Dan said:
I am learning VB.NET for sometime now and curious to know what am I missing
by not learning C#.
Also wanted to know is there anything VB.NET can do and C# cannot.

Looks like C# getting popular day by day.

Thanks for your guidence.
Dan

There are a few obscure things VB.NET can do that C# cannot, and
vice-versa. For all practical purposes, though, their capabilities are
the same.

As you say, it appears C# getting popular day by day. And as the syntax
is more like JavaScript, Java, etc., and more pithy, C# it seems to be
the wave of the future. The only reason I can think of for using VB is
because you're already familiar with it, or something like it.
 
Dan said:
I am learning VB.NET for sometime now and curious to know what am I missing
by not learning C#.


The main feature I miss in VB.NET is "yield" respectively "iterators".
If you want to implement your own extension method for LINQ to XML for
instance (http://msdn.microsoft.com/en-us/library/bb387045.aspx) that
does lazy evaluation then you can do that with "yield" easily in C#
while with VB.NET you would need to implement iterators first. Possible
of course but requires writing more code.
 
Although many say C# is a bit more popular than VB.NET, and one do not need
to know both, there is a catch for those who only know C# and illiteral to
VB.NET:

If you do SQL Server reporting, you'd need to know some basic VB syntext for
the report development. With the coming Windows Foundation in .NET 4.0, one
surely need to write a lot expression in WF's declarative XAML.
Unfortunately, you have to use VB syntex, not C#.
 
Dan said:
I am learning VB.NET for sometime now and curious to know what am I missing
by not learning C#.
Also wanted to know is there anything VB.NET can do and C# cannot.

Looks like C# getting popular day by day.

Thanks for your guidence.
Dan

VB.Net cannot do Lambda expressions. But supposedly, that's a new
feature coming in VB.NET VS 2010. C#.Net can use Lambda expressions
currently.

VB.Net has a more limit usage of 'pointers', and C#.Net doesn't have a
limitation in using 'pointers'.

C#.Net has Auto-Implemented properties. I guess they are working on that
in VB.Net.

C#.NET is a standard and is controlled by the ISO and ECMA Standard
Committees, which MS sits on the committees along with IBM, HP and
others to control what happens to C#.NET. That's why C#.NET is popular.

VB.NET is propritary to MS and MS controls VB.Net.
 
Back
Top