C++ or C++ .NET?

Started by
6 comments, last by GameDev.net 18 years, 4 months ago
Hi all, I'm just getting into game programming and have decided to use C++ for the majority of the work. However, I'm not sure whether it would be best to use the new C++ .NET language or stick with an earlier version. My main worry is performance; I'm not sure that the .NET framework is as efficient and that's obviously one of the main concerns in this situation. Can anyone give me some advice on this? I haven't heard of many games programmed in .NET and want to make sure I'm using the right language before I get started. Thanks, Rob
Advertisement
In my experience C/C++ in a "pure" form is better. Plus the less MS proprietary stuff you use, the more portable it will be if you choose later to port it. .NET is mainly for internet applications anyway and would be overkill for a game in my opinion.
"Imagination is more important than knowledge" - A. Einstein
<personalopinion>I don't think .net is a good idea at all for games</personalopinion>

But granted if you want to make a .net app use C#
------ XYE - A new edition of the classic Kye


  1. There is no C++.NET you must be referring to either Managed C++ or C++/CLI.


  2. Standard C++ is not an "earlier version" of Managed C++ or C++/CLI, they are related but not in the way you think it is. Standard C++ is not dead, it continuely evolves regardless of either Managed C++ or C++/CLI.


  3. C++/CLI is not "MS proprietary stuff" that Aurvandil mentions that is ill-informed, Managed C++ is but it is virtually dead and deprecated with C++/CLI. C++/CLI is a new standardized language & language binding (hence not solely owned by MS) that depends on the C++ standard and adds new keywords & components for smooth interop with garbage collectors/managed environments and .NET aswell. C++/CLI is a superset of the current C++ standard.

    It is not proprietary stuff but the only compiler thus far to implement the C++/CLI standard is Visual C++/Studio .NET 2005, a GCC front-end for C++/CLI has been proposed already.


  4. Just because the newer MS C++ compilers have a ".NET" in the name does not mean you cannot compile standard, native C++ apps. Therefore you should not use any MS C++ compiler below version 7.1 because those previous versions have poor standard C++ compliance, the newest version being 8.0 (AKA 2k5 .NET)



[Edited by - snk_kid on December 5, 2005 4:59:59 PM]
Thanks for the input guys, those were my initial thoughts as well.

Quote:Just because the newer MS C++ compilers have a ".NET" in the name does not mean you cannot compile standard, native C++ apps. Therefore you should not use any MS C++ compiler below version 7.1 because those previous versions have poor standard C++ compliance, the newest version being 8.0 (AKA 2k5 .NET)

I am aware that I can use the .NET IDE to create native C++ applications, I was wondering whether it would be advantageous or not to actually use the .NET framework when developing the software.

Thanks for the advice on this; I have got Visual Studio 2005 and didn't know that it was more capable at compiling C++ apps. I guess in that case I'll use VS 2005 to create a native C++ application.
The .NET framework is certainly not "mainly for internet applications".

What makes you say that?
Quote:Original post by RobJenks
Hi all, I'm just getting into game programming and have decided to use C++ for the majority of the work. However, I'm not sure whether it would be best to use the new C++ .NET language or stick with an earlier version. My main worry is performance; I'm not sure that the .NET framework is as efficient and that's obviously one of the main concerns in this situation.

Can anyone give me some advice on this? I haven't heard of many games programmed in .NET and want to make sure I'm using the right language before I get started.

Thanks,
Rob


Just don't listen to all the people saying that the .NET stuff is slow and only for tools and web applications!

I'm currently porting my Procedural-C 2D MORPG to C#, and I'm having a jolly fun time with it; you may want to give C# a glance before you decide on which language to use, after all, unless you and your army of graphics developers, programmers, project managers, and marketing staff are desiging the next Doom3, than the .NET platform will have just fine performance for your game.

Here is a screenshot of my game, which is currently being ported.


btw.. the reason I'm porting my C code over to C# is because C brings out the corrupt side of me (Get it? Corrupt. Ahuaheuhaeh. Ok your right, that was lame, someone rate me down for that).

[Edited by - Thevenin on December 5, 2005 7:02:08 PM]
Regarding portability: Perhaps the most efficient use would be to separate your code into platform-specific modules. The Windows modules would be compiled using the CLR. Porting the project to another platform would then be relatively simple.

This topic is closed to new replies.

Advertisement