c++ or c# is future trend of game programming?

Started by
16 comments, last by PaulCesar 15 years, 2 months ago
c++ or c# is future trend of game programming? c# also can web application~ but c++ is more efficiency
Advertisement
Well, C# is a good language, but it requires another layer to execute the code, as it only gets compiled to MSIL, so then the virtual machine will compile that to machine code at runtime.

C++ is always compiled, and is much better for cross-platform development, because of the lack of virtual machine required to run the executable.

C# definately has the upper hand when it comes to websites however.
View my blog! All about programming (C#, .NET, C++)!www.spikedsoftware.co.uk
You've just started yet another flamewar ...
Quote:
c++ or c# is future trend of game programming?

C++ will remain dominant for many years to come, if only because of the sheer amount of existing legacy code and knowledge investment coupled with the fact that the portability issues with C++ are solved for nearly all relevant platforms, which is not yet the case with other languages.

Quote:
but c++ is more efficiency

Blanket statements like these are generally wrong.

Quote:
so then the virtual machine will compile that to machine code at runtime.

Things like ngen.exe or similar tools can 'pre-JIT' assemblies. I would imagine that if anybody went to do C#/managed development on a console they would employ something like this, since the console is a fixed platform and games would likely avoid the slower aspects of the domain like reflection (at least during performance-critical code). So there is some amount of a panacea to be had there.

Quote:
C++ ... is much better for cross-platform development, because of the lack of virtual machine required to run the executable.

Your overall point is accurate but your details are fuzzy.

In fact, C++ is just as suitable for cross-platform development as C# or any other language. Taken from a certain perspective, C# and CLI languages in general are "better" in some sense, because they can be run without recompilation on another machine provided that other machine has a runtime available.

Remember, C++ doesn't magically run on other machines too: it requires both a compiler and a runtime to be implemented for the target platform.

C++ wins the cross platform bid purely by virtue of brute force and its age. It's been around long enough that people have developed platforms and runtimes for pretty much every platform that matters for game development, and its such a well-understood problem that its easy to churn out new ones. In constrast CLI languages are very new and Mono and similar projects are just getting started.

Oh, and I moved this to General Programming.

Quote:Original post by blowing20
c# also can web application~
What relevance does this have to the "future trend of game programming" ?
SlimDX | Ventspace Blog | Twitter | Diverse teams make better games. I am currently hiring capable C++ engine developers in Baltimore, MD.
Quote:Original post by Promit
Quote:Original post by blowing20
c# also can web application~
What relevance does this have to the "future trend of game programming" ?


Plus one can do web-programming in nearly all major programming languages (even Delphi (though I am unsure if it is really a major programming language/environment)).
The current trend in game programming is moving towards multiple languages. Some languages are useful for specific platforms like Flash for web based games, Java for mobile phones, etc. Even on the desktop, multiple languages are often used to develop a single game. Ex: C++ for system interfaces, a scripting language to handle most of the game logic, assembly to take advantage of certain CPU features that the C++ compiler doesn't have good intrinsics for, and a shader language to write things for the GPU.
I can see BOTH languages playing their roles for years to come.

I used to look down on C# a while ago, but then promptly changed my mind when I started to use it; something I'd suggest ALL people who look down on C# should do!

C# IS a nice language and has many benefits to games programming. One such being game tools development.

My personal preference will ALWAYS be C++, but I can really see a combination of MANY languages being used to create games for the foreseeable future. And using the right tools for the right job in a complex project such as game programming can't be a bad thing!
I think that c++ will remain the main language for those games that would benefit the lower level optimizations available with c++. Other less resource intensive games might easily move to C# (or other languages) wich feature a faster development. Lately I've seen that a few games (expecially those ported from consoles) aren't all that optimized for pc, so I suppose that optimization is no longer the main concern for some software houses.
I could imagine Microsoft providing a .Net enviroment for their next console, and if the market will ask for it, perhaps someone will write a .Net runtime for other consoles (thought Mono performances are not that great, at least under windows, so I don't really belive it suits the games world.

C# is already heavily used for tools (i.e. editors).
Quote:Original post by blowing20
c++ or c# is future trend of game programming?
Only way you can answer that is to make your own time machine. Or invent a stasis pod so you can just be revived at the future time you are interested in. Both of those options are better than asking such a question on any web forum, least of all on one with a rating system.
"In order to understand recursion, you must first understand recursion."
My website dedicated to sorting algorithms

This topic is closed to new replies.

Advertisement