VB vs C#

VB vs C#

Old forum URL: forums.lhotka.net/forums/t/6659.aspx


SouthSpawn posted on Tuesday, March 24, 2009

I am looking for opinions on this.
 
Does it seem like VB is slowly fading away in the market, and C# will become the language that everyone is using?
 
Your Thoughts?

Mark

sergeyb replied on Tuesday, March 24, 2009

Everyone I think is too strong of a word.  Last poll I read indicated that out of all developers that use .NET  only about 60% were C#, the rest were still on VB.NET.

 

Sergey Barskiy

Principal Consultant

office: 678.405.0687 | mobile: 404.388.1899

cid:_2_0648EA840648E85C001BBCB886257279
Microsoft Worldwide Partner of the Year | Custom Development Solutions, Technical Innovation

 

From: SouthSpawn [mailto:cslanet@lhotka.net]
Sent: Tuesday, March 24, 2009 10:12 AM
To: Sergey Barskiy
Subject: [CSLA .NET] VB vs C#

 

I am looking for opinions on this.

 

Does it seem like VB is slowly fading away in the market, and C# will become the language that everyone is using?

 

Your Thoughts?

Mark



dlambert replied on Tuesday, March 24, 2009

VB.Net has a bit of an image problem, relative to C#.  I don't think it's fair, but there's very little question that C# enjoys a "first-among-equals" status among .Net languages.  This is reinforced by developers, architects, and hiring managers that have somehow gotten the impression that if you don't know C#, you don't know .Net.  "The market" is driven by many forces, and many of these forces are not rooted in fact.  This is another one of those cases. 

Adding to this is the fact that VB.Net no longer has a well-defined role where it's clearly the best choice.  Years ago, VB used to be the clear winner for business apps that didn't need hair-on-fire performance.  Since C# has muscled in on that territory, VB.Net no longer "owns" any market segments, and that's going to be a problem for the language going forward.

We've got a long way to go before VB.Net turns into FoxPro, but unless something changes, that's where we're headed.

lukky replied on Tuesday, March 24, 2009

dlambert:
We've got a long way to go before VB.Net turns into FoxPro, but unless something changes, that's where we're headed.


I know I'm going to set someone's pants on fire, but I can't wait to see that day.

I have to deal on a daily basis with bad coding practices that were allowed by VB, implicit type cast being top on the list (I know, I know, turn on OPTION STRICT, but they usually don't). For crying out loud, VB.NET still allows you to call a constructor without parentheses, even with OPTION STRICT !!!

Sorry, I've had an overdose of VB coding lately Big Smile [:D]

dlambert replied on Tuesday, March 24, 2009

Ok, my pants are on fire.  ;-)

I've seen really lousy code in C#, too, and I've seen some really great code in VB.  Sorry, lukky, this is one of the misconceptions that's plaguing VB.Net  -- I'm afraid that VB.Net doesn't have a corner on the market when it comes to bad code and bad coders.

I agree that there's lots of lousy VB code out there -- due, in no small part, to the fact that VB3-6 were extremely popular, and thus, there was a lot of code written in these languages.  Some of that code is bad - you're right, but a lot of it was very good.

I've yet to be introduced to a language that someone couldn't manage to bungle so badly I couldn't tell which side was up.

JoeFallon1 replied on Tuesday, March 24, 2009

I prefer VB myself. It is easier to read.

I recently did a lot of work with C# though and I could appreciate its terseness. There were 2-3 things it was easier to express in C#. Automatic properties and multi-line lambdas come to mind.

On the flip side VB has XML literals which are amazing. VB already supports dynamic languages. I think they are adding that to C# - I can't wait to hear all the comments from C# devs who think that will be a good thing - after slamming VB for years for having it!!

But MS has stated that the 2 languages are going to converge so that each will be able to do what the other can. I think they found this short divergence to be more of a headache and so they plan to get them on the same trajectory.

Joe

rsbaker0 replied on Tuesday, March 24, 2009

I've written both C++ and VB 6 applications in the past. C# is a fairly natural evolution from C++, but VB.NET is quite a departure from VB 6. I mention the previous languages only in case that might be a bias factor. 

I see the difference between them now as being mainly syntactical and a matter of preference. C# seems more explicit to me -- less (if anything) is being done "behind the scenes" -- and possibly requires less typing, although Intellisense, etc. are rendering that pretty moot at this point.

SouthSpawn replied on Wednesday, March 25, 2009

Thanks for the discussion guys, very insightful.

I was hearing rumors that Microsoft was going to faded out VB for good and only go with C#.

Copyright (c) Marimer LLC