It seems to me that all of the hardcore programmers here are c# fans. Well, not all, but certainly most of the ones who identify their language of choice. Is c# better than vb for any reason? Or is it simply a matter of liking curly backets, case-sensitivity,
and semi-colons? ![]()
-
-
Semi-colons and curly braces make me smile... ;}
-
I've worked with both C# and VB.NET quite extensively, I actually find VB.NET more productive as a programming language, just slightly. But at the end of the day, I treat them both the same, they are both .net based and uses the same libraries.
Maybe, a lot of programmers like C# because it looks more like C, C++ or Java? -
C# was created for .NET, its native language.
VB is adapted for .NET.
It's a topic that doesn't need the word "better". Not worth the effort.
-
JohnAskew wrote:C# was created for .NET, its native language.
VB is adapted for .NET.
It's a topic that doesn't need the word "better". Not worth the effort.
Which word would better describe their relationship then? I mean, is VB better because it doesn't bog you down with case, semicolons, and brackets? or is C# better because its syntax is similar to that of other larger programming languages?
-
Better is a relative word here. Both languages, after compilation, result in almost identical MSIL code. (Maybe a CLR expert can correct me if I'm wrong here). That's what we were told by some of the .NET evangalists back in 2001. (David Chappell)
It's pretty much a matter of personal preference. Until you have sufficient experience with both, you won't be able to make that judgement.
I'm sure fans of each language can give their two cents on why they like one over the other.
I personally am more fluent in VB.NET, but enjoy working with both languages.
What I didn't understand about 3 years ago is why the C# developers average salary in the U.S. was about 10K higher. Not sure if that is the case today. -
C# follows ECMA specification, so you can find compilers in other platform supports C#. While VB.NET is a standard solely owned by Microsoft, that makes fully compatible complier on other platform more difficult.
However, don't know if exactly because of the above reason, there's a number of langauge features that is available in VB.NET that isn't available in C# at VS2005, although I doubt if I'll use them even if it's available in C# too.
So in terms of functionality, despite I'm a C# programmer, I'll say VB.NET is arguably better than C#. -
Red5 wrote:What I didn't understand about 3 years ago is why the C# developers average salary in the U.S. was about 10K higher. Not sure if that is the case today.
Even if both langauge provides the same functionality, usually VB.NET and C# won't mix in the same assembly (it's possible in ASP.NET, but even that requires some trick)
So if your company has a full team of C# programmer, hiring VB.NET programmer is often not desirable. (Remember at that time, most VB programmers still uses VB6 and not changed to .NET world yet, but schools have began teaching C#)
So I think when the demend is not high, the price would not be that high either.
-
Personally I'm a VB.Net fan... While there are other differences besides curly braces and semicolons and caseSensitivity (VB.Net supports narrowing conversions... which can be both a blessing and a hinderance)..... For the most part they (as said before and still only to my personal knowledge) result in essentially the same MSIL....
That's the .NET way.... all the same stuff in the end just different ways of expressing ideas in code. I prefer VB.Net as its more "verbal" (the verboseness is the one thing most {}; fans scoff at besides their crazy idea that VB is somehow a toy language)
The video @ http://channel9.msdn.com/Showpost.aspx?postid=230438 which was brought up in another thread regarding VB.Net recently, has some really good remarks about VB.Net... including a major difference in VB.Net and almost all other languages (it's important to note that VB.Net is not anything like VB<past> which is where most of the {}; feelings about VB come from.. IMHO)
So is one better than the other..... Only as a personal choice really..... it can only be better for you depending on which you prefer..... for me its VB.Net
I suggest being comfortable with both (at least be able to read both).... then choose which you prefer only after spending some time with both of them.....
@Red5: C# devs tend to make more because of this continued perpetuated idea of VB.Net as a toy language
NOW!!! someone go talk to the VB.Net team and find out how they feel about the current state of opinion amongst many dev groups when it comes to VB.Net. And find out how they plan to change that.
-
zhuo wrote:
Maybe, a lot of programmers like C# because it looks more like C, C++ or Java?
I agree. This is why I prefer C#. Coming from a background where I used C++ , Java, and a little C choosing C# as my favorite .NET language was a no brainer. I suppose that doesn't make it better though.
-
cheong wrote:Even if both langauge provides the same functionality, usually VB.NET and C# won't mix in the same assembly (it's possible in ASP.NET, but even that requires some trick)
So if your company has a full team of C# programmer, hiring VB.NET programmer is often not desirable. (Remember at that time, most VB programmers still uses VB6 and not changed to .NET world yet, but schools have began teaching C#)
So I think when the demend is not high, the price would not be that high either.
Regarding mixing languages:
In asp.net 2.0, from what I've read, it's pretty easy to do this with seperate vb and c# folders along with a config file declaration. Still learning it so not keen on the specifics yet.
Ironically, we've hired one(1) C# developers for our vb.net team as a 6-9month consultant. He worked out well for the time he was with us. The learning curve isn't bad if you know what you're doing. -
Well, ALL (not some, all) of my experience in development has been int he {}; world...and nothing else. Truth be told, I haven't developed in too many languages (JavaScript, Java, PHP, ActionScript, and now VB.NET), so it's a little frustrating sometimes going from VB.NET to working with the DOM for a few hours, and then back again. Today I cannot tell you how many times I forgot to use ; and () in JavaScript. Tomorrow, when I sit down to work on a PHP project, I'm sure I'll get frustrated again. Unfortunately, I started .NET in VB, and not C# - although I would have probably been more comfortable in C#. Now, I'm about to start a full-time position as a VB.NET developer, and I fear I may be locked in to my screwy little world of {}; and no {};
Oh well, life handed me a lemon, and I enclosed it in curly brackets and terminated it with a semicolon. -
jsampsonPC wrote:Well, ALL (not some, all) of my experience in development has been int he {}; world...and nothing else. Truth be told, I haven't developed in too many languages (JavaScript, Java, PHP, ActionScript, and now VB.NET), so it's a little frustrating sometimes going from VB.NET to working with the DOM for a few hours, and then back again. Today I cannot tell you how many times I forgot to use ; and () in JavaScript. Tomorrow, when I sit down to work on a PHP project, I'm sure I'll get frustrated again. Unfortunately, I started .NET in VB, and not C# - although I would have probably been more comfortable in C#. Now, I'm about to start a full-time position as a VB.NET developer, and I fear I may be locked in to my screwy little world of {}; and no {};
Oh well, life handed me a lemon, and I enclosed it in curly brackets and terminated it with a semicolon.
I can tell you are a novice or a starter to programming because all beginners ask this question. My answer is this : Do you prefer salt or peper with your burger? Lanugaes now are a preference. Some like the ; } , others like english like structures as they program. I use both but C# more, because you can write few lines and do more. Its efficient. -
SecretSoftware wrote:

jsampsonPC wrote: Well, ALL (not some, all) of my experience in development has been int he {}; world...and nothing else. Truth be told, I haven't developed in too many languages (JavaScript, Java, PHP, ActionScript, and now VB.NET), so it's a little frustrating sometimes going from VB.NET to working with the DOM for a few hours, and then back again. Today I cannot tell you how many times I forgot to use ; and () in JavaScript. Tomorrow, when I sit down to work on a PHP project, I'm sure I'll get frustrated again. Unfortunately, I started .NET in VB, and not C# - although I would have probably been more comfortable in C#. Now, I'm about to start a full-time position as a VB.NET developer, and I fear I may be locked in to my screwy little world of {}; and no {};
Oh well, life handed me a lemon, and I enclosed it in curly brackets and terminated it with a semicolon.
I can tell you are a novice or a starter to programming because all beginners ask this question. My answer is this : Do you prefer salt or peper with your burger? Lanugaes now are a preference. Some like the ; } , others like english like structures as they program. I use both but C# more, because you can write few lines and do more. Its efficient.
I doubt 'novice' or 'beginner' is accurate. New to .NET, perhaps.
Take care... -
I wouldn't call myself a novice or a beginner...unless you're speaking specifically in regards to .net, then I would gladly take those titles

-
JohnAskew wrote:C# was created for .NET, its native language.
IL is .NET's native language, not C#. -
Post removed at user's request.
-
Roses are red,
Violets are blue,
C# has brackets
And VB is verbose.
Rotem
P.S.
Use whatever you like. There's no difference.
Thread Closed
This thread is kinda stale and has been closed but if you'd like to continue the conversation, please create a new thread in our Forums,
or Contact Us and let us know.