Greetings,

I am just curious as to which .NET Framework Language my fellow programmers prefer. Just basically tell me what language and why.

Many Thanks In Advance,

DeFrog777

Perhaps this is best not posted in the VB.NET subforum ;) I'm moving it to the general .NET Framework forum so people have a chance to give an impartial opinion :)

Perhaps this is best not posted in the VB.NET subforum ;) I'm moving it to the general .NET Framework forum so people have a chance to give an impartial opinion :)

Thanks, sorry, still getting used to this forum thing...

I'm using C# and it's great! I think that it's a very easy language to learn and use. I'd say even a 14-year-old could use it ;)

I like C# the best. It has a good flow with GUI programs. C++ is okay, I have a lot of years vested in it's buddy C. VB gives me the willies, it's a bitch to read, the whole project is scattered over a zillion files!!! Candy for the stupid!!

C# is my favorite, it's got a nice clean syntax. Easy to learn, easy to implement. VB (in any form) makes me shudder. C++ managed...why(you could just use C# :D )?! That's my oppinion.

One trouble of forums is that you don't necessarily get a representative cross-section of respondents, nor are people always qualified to comment.

VB.Net, for example, doesn't have the 'lots of files' issue described above, since multiple classes can be included in one file now. Not sure its better for that, but that's a different argument.

Badly written code is badly in any language. C++ is good for some serious shockers, just as a 6-month 'young' programmer can churn out reams of VB that is harder to debug than Fortran.

In general, there has been a major convergence of all the languages with .Net. The trad 3GL languages of the C++ variety have gained most of the Gui-based auto-formatting slickness of VB, while VB has gained some the missing structural features such as class inheritance and lost some usability as well.

The differences that remain are subtle: C# are targetted at the 'serious' developer, those wanting power over ease of development. It retains much of the declarative syntax issues that C begat, VB is intended as the high-productivity, easy-to-learn tool; it has been cleaned up a fair bit but a few idiosyncrasies remain. Managed C++ is legacy.

I have written in just about everything over the years, and like VB for its simple syntax and productivity features - some which are only now returning in VB 2005 having been snatched away in eariler .Net versions. But I am rare among the ex-'do it in assembler and we can save 50 machine cycles' brigade.

Quite honestly, it doesn't matter too much. Don't get bogged down in fashion statements. Good code is by design, not by compiler. And programming is a job - so bear in mind the market demand for your chosen language.

C# is the language most people recommend, but give me a language with edit-in-the-debugger and super-quick compile times any day :cheesy:

Well just a couple of things.

C# is a very nice language for .NET mainly becuase it was designed for .NET. Kind of like for .NET by .NET sorry stupid cliche. Anyway I use C# and like it there are some performance gains over VB.NET but if you write good enough code in VB.NET a person is never going to tell.

VB.NET has come a long way scince VB 6 it now has full OOP programability, but VB.NET was kind of formed to .NET instead of created for .NET, if that makes sense. So there are going to be some issues with that.

In and overall sense there are like 26 languages I think that are ported to the CLR. So that basicallly means you can use almost any language using the .NET Framework and not get lost in code at all. This is mainly due to they are all using the same Namespaces and BCL so in a way it really doesn't matter what you use. I know this was probably a little confusing hope it helped though.

Hello all,
Just thought I would add my 2 cents.
I am a trainer for quite a few tech schools. I teach both VB.Net
as well as C#. I have trained alot of people from varying backgrounds
since .Net was in beta and have yet to find a "true" advantage to iether language. The main thing to be aware of is your own comfort level. If you
come from a VB background you will of course be more efficient with VB.Net.
The whole purpose of the Framework is not to make each language different
but just the opposite. To make them equal. In terms of performance there is no clear advantage due to all languages being compiled to MSIL. Each revision of the framework should bring each language closer together in terms of features. For example the 2005 upgrade for VB.Net adds some of the features previously available only in C# such as XML comments, etc...
Even things that vb does not directly currently support the C# does such as opperator overloading can be done using methods in place of operators.
In the end they are all getting compiled to the same code. There are slight differences here and there in the way they compile to MSIL such as VB and C# If statements compile to different MSIL code (Jump table versus an if Statement) but small things like that are being ironed out with each revision.
I have to agree with the post above that states the quality of your code is what will make the biggest impact. Also your knowledge of the framework and the Class Library. A big part of efficiency in the framework is not reinventing the wheel but using the built in types where appropriate. C# may give me more direct controll over some of the smaller details but in VB i can get it done faster. The trade off is purely a matter of perspective. Go with what you want, or are more comfortable with. No matter what language you use the objects and technologies (ado.net, asp.net, GDI+) work universally.

Well i think I have rambled too much. Thanks for your patience.

James Waymire

I think C# is the best - Eazy to get sample codes/tutorials and even online community like this forum. and is replacement of VB.NET

Well, now that I have a relativly nice assortment of responses, I suppose that I can now put in my two cents...

I started learning programming in VB, so naturally I am more toward using VB. However, when I began to learn C++ and C#, I realized that VB has its advantages, but when programming in DirectX or other developer tools, VB isn't necessarily the best. VB has its advantages by automating VB apps with Office, but VB has a lot of overhead that C# and C++ lack, when written correctly and efficiently.

C++ is a nice language for a serious developer, such as a game programmer. It has a lot of power for creating apps, but it is more difficult to use than, lets say VB, C# or Pascal.

C# to me seems to be the best choice, the Catch-22 sort-to-speak. It has the ease of use that is usually associated with VB and the power usually associated with C++. C# seems to me that it would be the most popular choice. Personally I cannot wait to see what Microsoft did with C# in the Visual Studio 2005!

Keep the responces coming, I enjoy them!

Defrog777

In .NET the advantage of C# over VB or J# is less impotantant that you would think because of the CLR. However it is still notable if you need to call Win32 functions in a clean manner, or perform address manipluations, or if you are coming for either a C/C++ or perhaps even PHP background. VB is looking more C like but unless you are enamored with it there is no reason to use the more cumbersome syntax. Furthermore if you are think about graphics and forms, the new forms model applies equally to all .NET languages. Also, don't think you can simply port a VB6 app to .NET you will essentially be doing a rewrite. So from the perspective that C# also runs on UNIX and LINUX it is a better choice from the cross platfrom persepctive.

If you are planning to use a database, the ODBC driver support works great. The old ADO record set notion is gone. Using MS SQL Server is seamless even for native calls while using say MySQL requires some expertise on the OS to configure it as well as programatic choices in code.

Finally sockets - the IO model is .NET is great abstraction over WinSock. However if you need to call WinSock for say, binary packet functions like htons() and ntohs(), you can still call that directly.

Bottom line: C# because it is the closest thing to C :p

Is VB.net different from any other VB program?? is the syntax the same??

Yes it is different from the other VB languages becuas of the different porgramming models. VB is now a OOP language wereas it was not before. I am not sure exactly what syntax is different but there are quite a few things that are the same.

Yes it is different from the other VB languages becuas of the different porgramming models. VB is now a OOP language wereas it was not before. I am not sure exactly what syntax is different but there are quite a few things that are the same.

Visual Basic .NET quite possibly is about as far from VB6 without a becoming a different language. In fact an entire section of the MSDN documentation is on the differences between VB6 and VB.NET. It caused some headaches with the changes in syntax but all in all it was a change for the better.

Visual Basic .NET quite possibly is about as far from VB6 without a becoming a different language. In fact an entire section of the MSDN documentation is on the differences between VB6 and VB.NET. It caused some headaches with the changes in syntax but all in all it was a change for the better.

Sorry what I ment as the same was like if end if... Basic things like that.

I like C# the best. It has a good flow with GUI programs. C++ is okay, I have a lot of years vested in it's buddy C. VB gives me the willies, it's a bitch to read, the whole project is scattered over a zillion files!!! Candy for the stupid!!

I think VB.Net is the best one. Whatever u want to make it is very easy to implement in VB.Net. If u compare VB.net to C# so C# is like a shit over VB.Net even you've to write each single event that you want to use in your program.

Sorry what I ment as the same was like if end if... Basic things like that.

Oh, well in that case...Yes the basic (pun intended) keywords have not changed much, but several function calls and member properties have been modified for example...

To set the text inside of a label in VB6
(assume label1 is the name of our label)

label1.caption = "Hello Basic!"

Now in VB.NET

label1.text = "Hello Basic .NET!"

In .NET, the "caption" member property has been replaced with the "text" property, thus making the two very similar.

Hope this helps...
DeFrog777

I've been a long time VBA/VB6 developer and started using VB.NET as much as I could when it came out. I also have experience developing in C, C++, and Java. Out of all of them, Java has been my favorite, but it limited me too much for the type of apps that I was developing. Recently I started the switch over to C# and I must say I wish I had done it a LONG time ago.

That said, C# definitely gets my vote.

Oh, well in that case...Yes the basic (pun intended) keywords have not changed much, but several function calls and member .....
DeFrog777

VB.NET is also much different in declarations. i.e:

'vb6
Dim someVar As SomeObject

'in vb.net
Dim someVar As SomeObject = someValue
This article has been dead for over six months. Start a new discussion instead.