Sign in to follow this  
RyanZec

Think it is worth it?

Recommended Posts

I am currently with a team building a game engine and developing a game with that engine. At the current time i think we only have a plan to develop the game engine in C++. I have been thinking and wondering is anyone here thinks is would be worth the time to also delvelop a C# version along side with the C++ one. From what I hear cross platform can be done in C# easily(no need to rebuild the project). Now is the C++ version we are going to use the direct interface into DirectX and OpenGL but thought we could use the XNA Framework(for DirectX and Xbox360/Windows) and Toa Framework(for OpenGL and Mac/Linux/PS3 support). Do you guys think this is a good idea?

Share this post


Link to post
Share on other sites
after thinging about it, it would be alot of extra work for no real benifit, we will jus stick with C++ for now.

Share this post


Link to post
Share on other sites
Keep in mind that Microsoft's idea of "cross platform" is that it runs on XP _and_ XP SP1. :)

Really though, C++ is much less rooted, and you can call C++ libraries from C#. and most other languages. Calling C# from other languages is probably more difficult than you want to deal with if you're developing an engine with cross platform ideals in mind.

Share this post


Link to post
Share on other sites
Developing a program in two different languages at the same time is hardly worth the effort. I would use whatever language you want for development, and C# for spikes (quick throwaway prototypes).

Quote:
Original post by erissian
Keep in mind that Microsoft's idea of "cross platform" is that it runs on XP _and_ XP SP1. :)

Really though, C++ is much less rooted, and you can call C++ libraries from C#. and most other languages. Calling C# from other languages is probably more difficult than you want to deal with if you're developing an engine with cross platform ideals in mind.


...

Calling actual C++ libraries from anything other than C++ is difficult and annoying, and usually relies on COM or OLE trickery. Even C++ users will run into hardships because of the binary incompatibility between SC++L implementations. Most people prefer to provide a C or nearly-C interface to their library instead, or provide the source code for the library to ensure binary compatibility.

Microsoft's idea of "cross platform" is hardly relevant, since they are not expected to (or responsible for) writing ports of C# compilers to non-Microsoft platforms (just like they don't write ports of C++ compilers to non-Microsoft platforms). C# can be run transparently on any Linux and any OS X using Mono, without requiring a recompile, and Microsoft has nothing to do with it (well, they do: they were quite helpful with the Mono developers).

Last but not least, assemblies (like those generated from C#) are actually more sane than their C and C++ counterparts: non-primitive types can cross the program-border without causing program death, exceptions can be thrown in one place and caught in another (good luck getting this to work sanely with C++), generics do not have to be provided as code, and you don't have to recompile for every single platform.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this