C# vs C++ as a choice for development

Started by
55 comments, last by gumpy 17 years, 10 months ago
My journal documents some pure C#/MDX game. It is ported from C++ to one degree or another, and I've seen negligible difference. Granted, it's a hobby game on decent hardware and I'm not exactly fantastic with algorithms, so I'm not sure it's a fine test for measuring the relative strengths of languages. That said, very few here are good with algorithms and doing non-hobby games.

C# will be good enough.
Advertisement
Quote:Original post by LowRad
I always like thoses threads!!

What is better C++ or C? C++ or VB? C++ or C#?
I like them so much, I started keeping a list.
1) Professional Games Made In C#?
2) Java for game development?
3) Java----C/C++
4) c++ or c#
5) Question about Java Vs. C# Vs. C++
6) Java Games?
7) Java is fast?
8) Secondary Language:VB or Java?
9) What makes C++ so powerful?
10) C# games and cheating...
11) Is C# good enough for system utility programming
12) MC++ vs. C#
13) Which language is best for a 3d Games Engine?
14) C# vs C++ as a choice for development
SlimDX | Ventspace Blog | Twitter | Diverse teams make better games. I am currently hiring capable C++ engine developers in Baltimore, MD.
*clicks Promits links*
and here I thought I'd be seeing some answers :P
[ ThumbView: Adds thumbnail support for DDS, PCX, TGA and 16 other imagetypes for Windows XP Explorer. ] [ Chocolate peanuts: Brazilian recipe for home made chocolate covered peanuts. Pure coding pleasure. ]
How can I bump myself up from #14? Say be in top 10? :)
Quake II has been recompiled under managed C++ (which is probably slower than either C++ or C#, as it has to do a lot of marshalling and so on), and the slowdown was around 15%:
Quote:How is the performance of the managed version?
Initially, the managed version was faster than the native version when the default processor optimization setting /G5 (Pentium) was used. Changing the optimization setting to /G7 (Pentium 4 and Above) created a native version that runs around 15% faster then the managed version.

Note, the assembly code was disabled for the native and managed versions so both versions are slower than the original Quake version.
Quote:Certainly no single human with less than a decade of experience can even begin to hope to create applications in one language where speed difference in executed code are the cause of slow downs and not inefficient algorithim implementation and design.

whilst i understand what youre trying to say this argument is serverly flawed
Quote:Remember, C# features JIT (just-in-time) compiling, or the ability to dynamically compile the application at runtime, allowing for theoretically better speed and performance than a C++ application.

i remember this argument was used when java came out, it was bollux then and still is bollux today.
Bob, thanks for the link. Yes, this is what I was looking at. 1 to 1 comparison of the same game on different languages. 10 - 15% hit in real world apps is not a big deal for most of us. Now... if we can just do something about that startup speed, I'll be happy! :)

Thank you all.
Quote:Original post by zedzeek
Quote:Remember, C# features JIT (just-in-time) compiling, or the ability to dynamically compile the application at runtime, allowing for theoretically better speed and performance than a C++ application.

i remember this argument was used when java came out, it was bollux then and still is bollux today.


I'd just like to point out that Sun's JVM doesn't do JIT compilation, and never has. So, that doesn't seem like a solid argument. Furthermore, while it is true that C#, practically speaking, is slower than C++, the optimizations that are possible in managed code do help offset some of its overhead costs. So, the difference is smaller than what one might expect.

Its been proven that games can be made with C#. There has already been at least one commercial game that was developed with C#, and it probably wont be the last. While one might argue that you still need C++ for really high-end games or programs, for many projects the increased productivity in C# way outweighs the overhead costs at runtime. And productivity matters a lot. After all, if it didn't, we'd never use C++ and we'd all still be programming in assembly.
Quote:Original post by nimrand
I'd just like to point out that Sun's JVM doesn't do JIT compilation, and never has. So, that doesn't seem like a solid argument.
It does and has for several years now.
SlimDX | Ventspace Blog | Twitter | Diverse teams make better games. I am currently hiring capable C++ engine developers in Baltimore, MD.
Quote:Original post by zedzeek
i remember this argument was used when java came out, it was bollux then and still is bollux today.

This argument wasn't used when Java came out, since Java didn't have a JIT in the first versions.

--AnkhSVN - A Visual Studio .NET Addin for the Subversion version control system.[Project site] [IRC channel] [Blog]

This topic is closed to new replies.

Advertisement