The Debate VB .NET vs. C# .NET

jmancuso

Member
Joined
Feb 4, 2005
Messages
22
Programming Experience
1-3
I'm performing a comparitive analysis on VB .NET vs C# .NET. In addition to posting here I'm posting in various other Internet Forums C# and VB .NET. Also, industry professionals and various literature sources.

I've broken down the analysis into a few categories and would appreciate if any of you know or are familir with both could provide some input.

This analysis will go to helping determine which language will be used by my current employer.

Thanks:

Ease of Code Design and Understanding
Compiler
Portability
Support and Availability
Maintainability
Complexity of algorithms and computations
Deployment
Performance
Programmer knowledge
Obsolescence
Cost
 
After some time (if you want to learn both of course) you'll figure out that there are no differences .net framework makes every language the same except the syntax and thats it. Both C# and VB.NET are using the same Classes, so what could be the difference? I know many people will not agree with me ... but i assure you that i can work with both with the same easiness as the other one.
I prefer C# because of its syntax and becase I'ma bit addicted to ... but all i can do with the c# i can make with vb.NET as well.

Cheers ;)
 
I am more familiar with VB... I have less intuition to learn C# after Microsoft launched Dot Net since whatever I found in C# can be done in almost the same way as VB except for the syntax... IMHO, now it depends on the programmers themselves to choose what language based on: which language is more comfortable, and no longer on: which language is better. From what I've read, both language achieve the same result since everything is derived from the same Dot Net classes.

If I have not started learning programming with VB, I would prefer C# because the syntax seems to be shorter. However, whatever codes in C# I found which I do not understand them... I can easily convert them to VB (or vice versa) as many tools are available freely on the net.

Regarding Ease of Code Design and Understanding and Programmer Knowledge, it depends on where you are. In my country, I think most programmers prefer VB.

However, I do not know whether there is any difference in compilation size if an app is written in exactly the same way in both VB and C#.
 
As the .NET Framework relies heavily on the core premise of the Common Language Runtime (CLR), which .NET uses to translate various programming languages into Intermediate language (IL). IL is the syntax used to send, receive, and manage .NET signals and there isn't anything different between these two regard size or any other qualifications because, (i'm repeating) both of code are translated into IL prior to being compiled into a portable executable (PE).

Cheers ;)
 
ayozzhero said:
I am more familiar with VB... I have less intuition to learn C# after Microsoft launched Dot Net since whatever I found in C# can be done in almost the same way as VB except for the syntax... IMHO, now it depends on the programmers themselves to choose what language based on: which language is more comfortable, and no longer on: which language is better. From what I've read, both language achieve the same result since everything is derived from the same Dot Net classes.

If I have not started learning programming with VB, I would prefer C# because the syntax seems to be shorter. However, whatever codes in C# I found which I do not understand them... I can easily convert them to VB (or vice versa) as many tools are available freely on the net.

Regarding Ease of Code Design and Understanding and Programmer Knowledge, it depends on where you are. In my country, I think most programmers prefer VB.

However, I do not know whether there is any difference in compilation size if an app is written in exactly the same way in both VB and C#.


kulrom said:
As the .NET Framework relies heavily on the core premise of the Common Language Runtime (CLR), which .NET uses to translate various programming languages into Intermediate language (IL). IL is the syntax used to send, receive, and manage .NET signals and there isn't anything different between these two regard size or any other qualifications because, (i'm repeating) both of code are translated into IL prior to being compiled into a portable executable (PE).

Cheers ;)

yes all .net executables are in MSIL code (Microsoft Intermediate Language) that when ran get's compiled directly to the machine language of the system that the .net framework is sitting on IE if you make a windows application that *.exe file in the bin directory isnt compiled yet which is why (when the .net framework for mac is finished) you can run that *.exe file on both windows, mac, etc the .net framework's JIT compiler converts the MSIL to the destination machine language automatically upon execution of the application

as for language differences it's all pretty much been said already
when MS was designing the .net framework and IDE their goal was to remove the limitations between the languages hence C++ was dulled down a little and vb got a major overhall

i really do like the idea of C# because it combine's the best of both vb and c++ (long explanation short c# is c++ with the vb form designer, basically)

but seeing as if it wasnt for the obfuscation you'd be able to "decompile" any .net application to c++. c#, vb, j++ regardless which of those languages it was originally made in

with that said i'm sticking to vb (i learned vb6 first) and i actually dont have much interest in learning c# because there isnt anything better about it
 
jugalloBrotha said:
... with that said i'm sticking to vb (i learned vb6 first) and i actually dont have much interest in learning c# because there isnt anything better about it

What if someday a client comes up and asks you to do C# Web/Win app or the boss claimed that you are going to upgrade to C# cuz the company just made a big deal/contract and he needs C# programmers? (maybe it sounds too much like a comedy but it can be true)
Also, don't forget that c# developers are slaghtly more paid ...
Don't get me wrong. I don't want to push you into this choice ... to learn C# but rather it is only my opinion ... at least isn't always better to know two and above than only one language?

Cheers ;)
 
kulrom said:
What if someday a client comes up and asks you to do C# Web/Win app or the boss claimed that you are going to upgrade to C# cuz the company just made a big deal/contract and he needs C# programmers? (maybe it sounds too much like a comedy but it can be true)
Also, don't forget that c# developers are slaghtly more paid ...
Don't get me wrong. I don't want to push you into this choice ... to learn C# but rather it is only my opinion ... at least isn't always better to know two and above than only one language?

Cheers ;)

those are valid points, though if a client were to have me do a c# program i guess i could learn c# (i slowly already am due to the overwhelming examples provided in c# only) i'd probably also make extensive use of the c# to vb converter & the vb to c# converter

also by the time i actually get paid for programming i probably will know both vb & c# but luckily i'm the assistant manager of a local subway and making sandwhiches doesnt require knowledge of c# (or any other programming languages) :p
 
VB.NET is more powerful and addresses some of the weaknesses of VB6 and earlier. C# is based on C, and retains some of the low-level functionality. A smart developer will find a way to do anything in either language, however C# is still the more powerful. You can still use pointers in C#, which is not possible in VB. That alone means that, if you need it, you have more low-level control. As a C++ developer with no experience VB6, I found VB.NET very easy to learn. VB.NET and C# (there's no need to say C#.NET as there is no non-.NET implemenation) are quite similar because of their shared use of the .NET Framework, which means the same class names in both in most cases. I would have to say, though, that I believe that VB would be easier to learn for the novice programmer. Not by a large margin, but I would say that VB has the lead in ease of use and C# has the lead in power. The trade-off between ease-of-use and power is a very familiar balancing act when it comes to software and software development.
 
jmcilhinney said:
You can still use pointers in C#, which is not possible in VB. That alone means that, if you need it, you have more low-level control.

If that is the point, though pointers are rarely used in database application, I think it is a good point to get more acquainted with C#.

JuggaloBrotha said:
those are valid points, though if a client were to have me do a c# program i guess i could learn c# (i slowly already am due to the overwhelming examples provided in c# only) i'd probably also make extensive use of the c# to vb converter & the vb to c# converter

I do agree with JuggaloBrotha that in .Net, learning C# is no longer a painstaking shift as it was a few years back, though for a beginner like me. We can start coding in C# while learning it at the same time.

By the way JuggaloBrotha, you have my respect because you're working on fields other than IT, and you code in VB well. A few people I've met graduated from Computer Science field but.....
 
ayozzhero said:
By the way JuggaloBrotha, you have my respect because you're working on fields other than IT, and you code in VB well. A few people I've met graduated from Computer Science field but.....

thanx, but actually i'm still a beginner myself i've just been a member of this forum long enough to have all the basic's covered as a good number of questions are all easy stuff that i was stuck on 2 years ago
 
I found this on http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dndotnet/html/raiserespeven.asp:
To decide which language to use, you need to consider which languages you know and which language will let you perform the tasks that need to be accomplished in the application. For example, you would not use Microsoft Visual Basic® to develop a device driver. Instead, you would choose a language like Microsoft Visual C++®, as it allows you better access to the hardware than does Visual Basic. You would choose Visual Basic over Visual C++ to create a standard business application because the Rapid Application Development (RAD) environment lets you create this type of application much faster than Visual C++.

I am not sure whether that applies to VB .Net or not... but if it does, does that mean there are a lot of restrictions for VB i.e: unable do develop a device driver. And if it can be done in C#, doesn't that mean a user has to install the Dot Net Framework together with the driver? [sigh]

I always wonder, does Dot Net has the capability of creating a very complex app, such as 3D games and softwares like PhotoShop, CorelDraw and 3D Studio... I doubt that with VB6
 
As for as i know and i ll took it bit techon..
C# is better then VB.NET first it was built with the consideration of modren standards and open infrustructure that is more apealing then its counterpart.
C# is designed for .NET and contains the less IL code translation then its counterpart and it has been throughly evident the code generated by both languages.
C# is robust and easy to grasp due to follower of standard and tested languages like c, c++ and java
C# is the one who provides us almost every kind of feature that a developer needs in this era from stronger control to type safety to enhanced tamplate support or so many other things.
it also dont loose the performance optimization and perfectly suited for performance constraint enviornments as well.
there are so many things beyong these but i m not gona write article here.
 
Back
Top