Fog Creek Software
Discussion Board




Welcome! and rules

Joel on Software

vb.net or c#

We are developing a application on .net. Should we use vb.net or c#. Which is the better of the two and why?

Karna
Saturday, November 29, 2003

Do you like apple or orange? Both are fruits but some people prefer one and some the other.

rml
Saturday, November 29, 2003

The answer isn't going to be "which language is better", because that pre-supposes that we know everything about you. Let's focus on a couple aspects.

Will you have to hire additional people to maintain the project? There seems to be a lot more people willing to work in C# out there than VB.NET, so that may be part of your consideration.

What are the strengths of the team? Do they like C++ style syntax, or are they more comfortable with VB style syntax?

You see, we can't answer this question. Only your team can answer it.

Brad Wilson (dotnetguy.techieswithcats.com)
Saturday, November 29, 2003

It doesn't matter.  They are equally capable.  Use whichever is more familar to your team -- VB.Net if the team is coming from VB6, or C# if it's coming from C++ or Java.

Whitepaper "Differences Between Visual Basic .NET and Visual C# .NET"
http://support.microsoft.com/?kbid=308470

Dan Appleman, VB.Net or C#: Which to Choose?
http://www.desaware.com/Ebook2L2.htm

Robert Jacobson
Sunday, November 30, 2003

From a superficial 'learning curve' perspective, there's a heck of a lot less difference between C# and VB .NET than there was between Visual C++ and Visual Basic.

Pat Galea
Monday, December 01, 2003

It seems to me that the best indicator of where to go is where you're coming from.  Are you coming from a VB/ASP development area?  VB.Net will probably be less steep than C#.  Are you coming from a C/C++/Java world?  C# would definitely be the way to go.

Once you've learned the framework, learning other .Net languages is (mostly) a matter of syntax.

Greg Hurlman (blogs.squaretwo.net)
Monday, December 01, 2003

I am largely into database development at the moment. However, I'd like to try other opportunities. I am from the clipperworld. I am  very comfortable with Visual FoxPro but would like to try a general purpose language.

Preferable one that would allow me to continue database programming. Which should I choose?

Rank Merida
Tuesday, December 02, 2003

C#

Filipovic Slobodan
Tuesday, December 02, 2003

Again, either one is fine for database programming. Data access in .NET is handled by the ADO.NET classes, which are equally accessible from VB .NET and C#.

Coming from Fox-land, I think you've got about the same learning curve ahead of you either way.

The other thing to keep in mind is that it's not an irrevocable decision. If you know VB .NET well, you can pick up C# in a matter of a few days, and vice versa.

So find some sample code that does what you want with databases, and then choose the language that the samples are written in.

Mike Gunderloy
Tuesday, December 02, 2003

Shouldn't these posts be mediated out at some point?

Just groups.google for vb vs c# [1]

[1] http://groups.google.com/groups?q=vb+vs+c%23&ie=UTF-8&oe=UTF-8&hl=en

Rick Childress
Tuesday, December 02, 2003

It is a simple decision - just choose C#.  Personally, I like VB.NET for small projects, it is easier to work with, and the background compiler is very, very nice.  But for larger projects, that background compiler turns into your worst nightmare, and slows the IDE to a crawl.  C# is always a good choice.  And there are some developer tools that work better, or only, with C#.

Also, I believe the advice to choose VB.NET if your developers come from a VB background to be exactly wrong.  Never allow a VB programmer to use VB.NET.  If you force them to go to C#, which will be just as easy for them as moving to VB.NET, then they will have to drop their VB-isms.  Only C/C++ developers should be allowed to touch VB.NET.  (And if you force them, they will love it.)

Just my opinion.

Mike

Mike Dot Net
Wednesday, December 17, 2003

*  Recent Topics

*  Fog Creek Home