Please start any new threads on our new site at https://forums.sqlteam.com. We've got lots of great SQL Server experts to answer whatever question you can come up with.

 All Forums
 Development Tools
 ASP.NET
 VB.Net vs C# Who wins ???

Author  Topic 

afrika
Master Smack Fu Yak Hacker

2706 Posts

Posted - 2005-03-30 : 05:34:04
hello,
i am very conversant to ASP and migrting to .NET framework and its been very thrilling all the way, i have been learning both VB.Net and Csharp.

However i would like to ask the pros, which one would be better to learn of the two



thanks
afrika

robvolk
Most Valuable Yak

15732 Posts

Posted - 2005-03-30 : 07:39:02
That's like asking which is better, blondes, brunettes, or redheads? The answer depends on the person, but it's really redheads.

I found the changes in VB.Net too much to deal with. I figured since I had to learn a new language either way I went with C#, and I like it a lot. I don't think one is better than the other though, and ultimately they will compile to pretty much the same IL code anyway.
Go to Top of Page

byrmol
Shed Building SQL Farmer

1591 Posts

Posted - 2005-03-30 : 07:51:00
VB.NET is like listening to a politican.. So many words for so little gain.

DavidM

A front-end is something that tries to violate a back-end.
Go to Top of Page

Merkin
Funky Drop Bear Fearing SQL Dude!

4970 Posts

Posted - 2005-03-30 : 07:53:10
YAAAAAWWWWNNNN..

Do a google for vb.net vs c#. WEEKS of reading... none of it useful.
They compile to the same IL code, it doesn't matter.


Damian
Ita erat quando hic adveni.
Go to Top of Page

afrika
Master Smack Fu Yak Hacker

2706 Posts

Posted - 2005-03-30 : 09:30:46
quote:
Merkin
Funky Drop Bear Fearing SQL Dude!


Australia
4065 Posts
Posted - 03/30/2005 : 07:53:10
--------------------------------------------------------------------------------

YAAAAAWWWWNNNN..

Do a google for vb.net vs c#. WEEKS of reading... none of it useful.
They compile to the same IL code, it doesn't matter.




I think that pretty much sums it all up.

however it appears most techies prefer C#
while business really more heavilly on VB.NET

Go to Top of Page

nr
SQLTeam MVY

12543 Posts

Posted - 2005-03-30 : 10:05:58
The advantage of VB was the dev environment plus ease (speed) of coding - drawback was less functionality and speed.
It gained by allowing more design/testing time as coding was simpler so often ended up more efficient.

These advantages have been lost as it is no longer easier and the dev environment isn't as good as c#.
Given this I would probably go for c# - although I seem to be doing most stuff in VB.
Drawback of c# is that it is easier to write unreadable code.
(Ignore the upgrade wizard if you are migrating from vb6).


==========================================
Cursors are useful if you don't know sql.
DTS can be used in a similar way.
Beer is not cold and it isn't fizzy.
Go to Top of Page

afrika
Master Smack Fu Yak Hacker

2706 Posts

Posted - 2005-03-30 : 10:21:22
hi nr
i really dont understand wht you mean by the design environment is not as good.

As stated above? Is it not the same MSIL code they are all compiled to do. And i want to believe that the IL codes run the same functionality ?


Afrika
Go to Top of Page

nr
SQLTeam MVY

12543 Posts

Posted - 2005-03-30 : 10:27:13
The il code produced is the same but there are things you can do in one language that you can't do in the other.
If you want to code in il then you can add it there but then you wouldn't be using vb or c#.

The dev environment is nothing to do with the il - that's just the end product.


==========================================
Cursors are useful if you don't know sql.
DTS can be used in a similar way.
Beer is not cold and it isn't fizzy.
Go to Top of Page

afrika
Master Smack Fu Yak Hacker

2706 Posts

Posted - 2005-03-30 : 10:34:12
Well my argument as derived from the posting above, is that if the end product is the same, then the intermediate language should not be a disadvantge ???

Also the other thing i want to bring up is that would would it be possible to do in one language that cant be achieved in the other ?

I want to belive there are many roads to the same market ???
Go to Top of Page

jsmith8858
Dr. Cross Join

7423 Posts

Posted - 2005-03-30 : 10:54:43
C# has more advanced stuff like override operators and such that you may never need. It does have the nice XML documentation feature built in, which is really great, but there are add-ins for VB.NET that provide the same feature (not officially, though).

If you do decide to use VB.NET, be sure to set Option Strict to "On" to ensure that it works like a "real" programming language with stricit type checking.

Overall, I'd say whatever you feel most comfortable with. You can do the same basic things in either language, but the syntax is quite different so try them both out to see what you feel most comfortable with.

There are even lots of experimental apps out there that will translate code between VB.NET and C# quite well.

- Jeff
Go to Top of Page

nr
SQLTeam MVY

12543 Posts

Posted - 2005-03-30 : 10:58:54
Memory fails me on the differences but I think c# gives more garbage handling ability and VB more function referencing.

Could be wrong - just suffice it to say that although the il generated is run by the same compiler there are things that one language can generate that the other can't. If you read a vb or c# book they usually point these things out.

==========================================
Cursors are useful if you don't know sql.
DTS can be used in a similar way.
Beer is not cold and it isn't fizzy.
Go to Top of Page

rockmoose
SQL Natt Alfen

3279 Posts

Posted - 2005-03-30 : 13:49:05
>> ...Option Strict to "On"...
They still have THAT! OMG, then the case is settled!
Go for c#
I thought that was gone in VB.NET, and that it was strongly typed...
Hey, I must be really misinformed

>> ...works like a "real" programming...
hehe, no more to say.


rockmoose
Go to Top of Page

afrika
Master Smack Fu Yak Hacker

2706 Posts

Posted - 2005-03-30 : 14:09:18
quote:
jsmith8858
Dr. Cross Join

Overall, I'd say whatever you feel most comfortable with. You can do the same basic things in either language, but the syntax is quite different so try them both out to see what you feel most comfortable with.




Well i am learning both languages, cant say which i prefer now, but VB appears much simpler esp since am used to vb script flow construct.

My conclusion of the matter is thus;
As u said whatever i am comfortable with, since they are all compiled to the same MSIL. I would ignore the criticisms about which is better, after all, I almost didnt go MS SQL due to windows vs linux criticisms when i first started computing.




quote:

nr

c# gives more garbage handling ability and VB more function referencing


hi nr,
could you please explain what you mean by this.
Go to Top of Page

afrika
Master Smack Fu Yak Hacker

2706 Posts

Posted - 2005-03-30 : 14:15:51
quote:
rockmoose
Flowing Fount of Yak Knowledge


Sweden
1315 Posts
Posted - 03/30/2005 : 13:49:05
--------------------------------------------------------------------------------

>> ...Option Strict to "On"...
They still have THAT! OMG, then the case is settled!
Go for c#
I thought that was gone in VB.NET, and that it was strongly typed...
Hey, I must be really misinformed

>> ...works like a "real" programming...
hehe, no more to say.


rockmoose



i am made too to understand that VB.net is strongly typed and less forgiving in comparison to VB script
Go to Top of Page

afrika
Master Smack Fu Yak Hacker

2706 Posts

Posted - 2005-03-30 : 14:18:08
http://www.kamalpatel.net/ConvertCSharp2VB.aspx

converts VB.NET to C# and vice versa
Go to Top of Page

robvolk
Most Valuable Yak

15732 Posts

Posted - 2005-03-30 : 20:10:30
quote:
but VB appears much simpler esp since am used to vb script flow construct
To me, that is a distinct DISADVANTAGE to VB.Net. VB6/VBA/VBScript had really crappy error handling, and it's not a good construct to continue with. I don't remember if VB.Net has try/catch blocks, but C# does, and they are MUCH better than VB error handling. The problem is that if you're used to doing it the old VB way, you're likely to continue doing it in VB.Net when you really shouldn't.

The biggest problem with VB.Net was that they changed things that they shouldn't have, and kept things they shouldn't have. With C# they put in what they wanted to and didn't cave in to demands, like they did with the VB people, who insisted on carrying over flawed functionality from VB6 just to keep it compatible. And it didn't help; you have to rewrite code as VB.Net anyway.
Go to Top of Page

jsmith8858
Dr. Cross Join

7423 Posts

Posted - 2005-03-30 : 22:17:45
>> I don't remember if VB.Net has try/catch blocks

It's got try/catch and full support for exceptions ... but it still supports ON ERROR .... yuck !



- Jeff
Go to Top of Page

afrika
Master Smack Fu Yak Hacker

2706 Posts

Posted - 2005-03-31 : 02:53:02
quote:
To me, that is a distinct DISADVANTAGE to VB.Net. VB6/VBA/VBScript had really crappy error handling, and it's not a good construct to continue with. I don't remember if VB.Net has try/catch blocks, but C# does, and they are MUCH better than VB error handling. The problem is that if you're used to doing it the old VB way, you're likely to continue doing it in VB.Net when you really shouldn't.

The biggest problem with VB.Net was that they changed things that they shouldn't have, and kept things they shouldn't have. With C# they put in what they wanted to and didn't cave in to demands, like they did with the VB people, who insisted on carrying over flawed functionality from VB6 just to keep it compatible. And it didn't help; you have to rewrite code as VB.Net anyway.


Am i right to say that VB.NET is crap from the above ???
Go to Top of Page

robvolk
Most Valuable Yak

15732 Posts

Posted - 2005-03-31 : 07:49:17
I wouldn't say it's crap, like everyone said, it all compiles to the same IL code. I was only suggesting that VB.Net could have been better if MS stuck with their original plan and didn't cave in to pressure from developers to maintain less-than-perfect language constructs.
Go to Top of Page

jsmith8858
Dr. Cross Join

7423 Posts

Posted - 2005-03-31 : 08:55:54
I think overall MS did a good job with VB.NET. They HAD to maintain some compatability with VB, and since VB was based on BASIC and inherited lots of the weirdness of that old language(optional variable declarations, things like "Option Base" for array bounds, bad error handling, inconsistent syntax, tons of procedures and functions but no true libraries or objects), they had to keep some of that "weirdness" in VB.NET. But they kept very little of it, and did a good job of drawing the line here and there and saying "we just will not support this madness anymore!" in some spots.

Overall, I was pleasently surprised by the things they did and the places they broke compatability, because it took some guts in my opinion. No, they didn't do it everywhere they should have, but I think they made good compromises. And they did give VB.NET all of the true OOP features it needed, got rid of VB's horrible form engine which hid all the code anmd made "Form1" both a class an implied object variable (at the same time!), added inheritence and delegates and other features ... Personally, I really like it alot.

Ultimately, it is not the language you code in that determines whether or not you write clear, concise and efficient code -- it's the programmer.

- Jeff
Go to Top of Page

afrika
Master Smack Fu Yak Hacker

2706 Posts

Posted - 2005-03-31 : 10:22:58
quote:
Ultimately, it is not the language you code in that determines whether or not you write clear, concise and efficient code -- it's the programmer.

- Jeff


Sound much better

Afrika
Go to Top of Page
    Next Page

- Advertisement -