Svartalf
Active Member
Then you're writing things in BOTH languages- and moreover, you just LOST the advantage you might have had with Python unless you're trying to come up with an engine for someone to do somewhat simpler games easier. Serious. Pick one or the other.dentrado said:Is this true even when you let C do most of the CPU intensive stuff by using pygame or pyglet or something like that?
sindbad said:I keep telling people that I've successfully used that model for scientific apps. I had about 2% C code, most of it Cython http://cython.org/. The rest was python and the interface and graphics were using Qt4. It was supposed to replace an old C++ and Qt3 app and mine actually performed better (probably because of qt4) and had less than a sixth of the LOC.
That was less because of Cython and more due to re-thinking and using Qt4... Trust me on that one. Also keep in mind that a game isn't a scientific app. It's a soft or hard real-time application in at least 1/3 of the cases we're talking about here.
QUOTE
The other choice for easily writing software is D, which has the performance of C/C++, but has garbage collection and a few other productivity enhancers (like insanely fast compilation).
That might not be a bad choice. But GC DOES inject it's own set of problems. Trust the old salt who has done quite a bit (25 years worth with over 17 differing programming languages...heh...yes, that long and that many...) on this- there's a reason that there's not a lot of Java based games and it's not all the JVM itself. The GC injects performance degredations into your app and at the oddest times. GC makes some tasks easier for the programmer to deal with at the expense of it pulling 5-10% (or more) away from your app's peak performance to clean house. Happens with Java. Happens with GCJ. Happens with D.
Each language choice has it's advantages and disadvantages and you've got to weigh what you're attempting to do with what the language DOES to you to give you results. There's things I'd do in D or GCJ. There's others that I will not do in anything other than C/C++ on game dev.
Last edited by a moderator: