C# versus Visual C++

Schadenfroh

Elite Member
Mar 8, 2003
38,416
4
0
Currently I am familiar with C++, VB.NET, VB6 / VBA, and BASIC. I am only "good" at creating console applications in C++. I am adept in VB.NET and I have never used C#.

(the following questions assume that I am referring to the development packages that ship with Visual Studio 2005)


Does it make any difference as to which language used in regard to the ability of WINE to emulate the .NET framework languages (like C#, VB.NET, or VC++) performance or otherwise? Or can WINE even emulate them properly? (if I were to try to emulate an application developed in either C#, VC++, or VB.net on linux).

Any advantages of C# over VB.NET other than expanded functionality and possibly better employment opportunities? It seems like performance should be close since they both go through the .NET framework and the MSIL.

Any advantages of C# over VC++ other than ease of use and better employment opportunities?

Basically, I am asking what my next step should be in regards to GUI programming now that I am comfortable with the new VB.NET. And how difficult it would be to transition to either the latest VC++ or C# given my C++ and VB.NET background.


Thanks


 

Nothinman

Elite Member
Sep 14, 2001
30,672
0
0
Does it make any difference as to which language used in regard to the ability of WINE to emulate the .NET framework languages (like C#, VB.NET, or VC++) performance or otherwise? Or can WINE even emulate them properly? (if I were to try to emulate an application developed in either C#, VC++, or VB.net on linux).

Why use WINE instead of Mono?
 

Schadenfroh

Elite Member
Mar 8, 2003
38,416
4
0
Originally posted by: Nothinman
<div class="FTQUOTE"><begin quote> Does it make any difference as to which language used in regard to the ability of WINE to emulate the .NET framework languages (like C#, VB.NET, or VC++) performance or otherwise? Or can WINE even emulate them properly? (if I were to try to emulate an application developed in either C#, VC++, or VB.net on linux). </end quote></div>

Why use WINE instead of Mono?

I was not even aware of Mono... reading over it now.
 

esun

Platinum Member
Nov 12, 2001
2,214
0
0
Personally I think Visual C# and C++ are quite similar. However, C# is generally nicer to code in, so I would recommend that over C++. Feature-wise they're about the same (well, at least for everything I use them for), so it's mostly syntax that's different.
 

Nothinman

Elite Member
Sep 14, 2001
30,672
0
0
I was not even aware of Mono... reading over it now.

That's surprising, whenever I hear about .Net at least a small mention of Mono isn't far behind.
 

StormRider

Diamond Member
Mar 12, 2000
8,324
2
0
For GUI development VB.NET and C# would be very similar. Too close to call for me.

I would prefer to use C# over C++/CLI for GUI development. I would only use C++/CLI as a bridge to old legacy C/C++ code and the managed .NET world or when application speed is the primary concern (games, hardware drivers etc). C++/CLI is the most powerful language (because it can work with both the native Win32 world and the managed .NET world) but it's syntax can be more confusing than C# or VB.NET.

For example, you have to be more aware that you have references (pointers) to objects while in other languages this is more hidden from you. So, when you access methods, you must use the "pointer notation"

object->method1()

instead of the "dot notation"

object.method1()

Also you have new symbols ^ and % for the .NET world which is analogous to * and ambersand (my keyboard is messed up -- I can't type this character -- I'm gonna throw away my keyboard) for the native world which can look funky if you are not used to it. It's a lot better than "managed C++" which came in VS 2001 and 2003 but C++/CLI syntax can be a little cluttered.