Switching between C++ and C#

Discuss about anything related to the Irrlicht Engine, or read announcements about any significant features or usage changes.
Swarmer
Posts: 100
Joined: Mon Apr 16, 2007 7:23 am

Switching between C++ and C#

Post by Swarmer »

I've been thinking about this for quite some time, and I've decided that I would like to switch to C#. After using C# in .NET at work, I realized the productivity benefits are enormous, and using C++ is a great burden if you compare its support in Visual Studio to C#.

I don't really know much behind the concept of a wrapper for something of this scope. Is the Irrlicht .NET CP wrapper a completely different implementation of Irrlicht, or is it a tool or overlay that converts it to managed code? Does the .NET CP team have to make a new version for each new version of Irrlicht?

I have 2 main concerns. The first is porting my code to C#. I guess I wouldn't mind rewriting everything, as refactoring all my code wouldn't be too bad anyways. But in general, it shouldn't be too hard to switch, would it? The class names should be generally the same, and as long as I know the differences between C# and C++ (I do), then I should be okay, right?

The second concern, the main one, is support for Irrlicht .NET CP. The last update on the main page for it was on May 28th. Is it still alive? Are long delays between Irrlicht and Irrlicht .NET CP updates normal? Also, I looked at their forums and it looks pretty desolate compared to these ones. Conceptually, Irrlicht should work the same way in both frameworks, right? When I have general questions, they could be answered here too, I hope.

I just don't want to switch and end up left out with poor support :( Does anybody have any suggestions about my whole idea for switching to C#? Is it even worth it? Thanks.
rogerborg
Admin
Posts: 3590
Joined: Mon Oct 09, 2006 9:36 am
Location: Scotland - gonnae no slag aff mah Engleesh
Contact:

Post by rogerborg »

Uh... why ask here about whether Irrlicht .NET CP is under active development? If you can't get an answer on their forums, then it's probably a rhetorical question.
Please upload candidate patches to the tracker.
Need help now? IRC to #irrlicht on irc.freenode.net
How To Ask Questions The Smart Way
torleif
Posts: 188
Joined: Mon Jun 30, 2008 4:53 am

Post by torleif »

C# has no cross platform support. Also The C# wrapper will always be a step behind the main irrlicht build trunk, and there's no guarantee when there's a problem with the wrapper there will be a quick fix.

On the positive side C# has great RAD capabilities and works good in multi-developer environments. Garbage collection and its IDE are fantastic.

The benefits don't out weigh the negatives. There's also the learning curve and the problem of converting any existing code you have to consider. Stick with C++, it's a time tested coding environment and really isn't that far from C#
rogerborg
Admin
Posts: 3590
Joined: Mon Oct 09, 2006 9:36 am
Location: Scotland - gonnae no slag aff mah Engleesh
Contact:

Post by rogerborg »

torleif wrote:C# has no cross platform support.
Uh... Mono?
Please upload candidate patches to the tracker.
Need help now? IRC to #irrlicht on irc.freenode.net
How To Ask Questions The Smart Way
Swarmer
Posts: 100
Joined: Mon Apr 16, 2007 7:23 am

Post by Swarmer »

Well, after using C# at work I realized how easy it was to use. Its integration in Visual Studio is awesome. Intellisense is 1000x better than it is for Visual C++.

Basically, I think I'd work twice as fast if I used C# than C++, but it would cost the intial switch-over time.

I'm still undecided. I guess I'll go post in their forums, but I wanted to see if someone had some experience with it here, because I'm looking for both sides of the issue.

Maybe I'll just write my editor in manged C++ .NET and then hopefully the game itself won't be too jarring of a transition.
MasterGod
Posts: 2061
Joined: Fri May 25, 2007 8:06 pm
Location: Israel
Contact:

Post by MasterGod »

1. I haven't checked with Irrlicht .Net CP but I think its kind of abandoned.
2. I also use Crap# since I joined the army after using only C++ before and even though the development speed is amazingly incredible I wouldn't recommend switching from C++ to C# for many reasons which I won't explain now to prevent flame war (C++ >>>>>>>>> Crap# etc..) though C++ > (C# || Java);
Image
Dev State: Abandoned (For now..)
Requirements Analysis Doc: ~87%
UML: ~0.5%
Swarmer
Posts: 100
Joined: Mon Apr 16, 2007 7:23 am

Post by Swarmer »

Well, they both have their uses. C++ is great for low level stuff like the graphics engines themselves. But to make the game itself, C# is just so much more productive. If you view both languages strictly from a technical standpoint, then C++ may perform better. But if you take into account development speed, the mistakes that developers make, and focus on the usability, then C# is way more friendly.

I was (am) considering XNA. However, I haven't really had much experience with graphics libraries and engines before. How does Irrlicht compare to XNA in terms of functionality? I hear that Irrlicht is known for its ease of use and ability to let you get a 3D project up and running with a few lines of code. Should I not expect that with XNA? Basically, my question is, if I switch to XNA, will my game structure change completely, or does it analogous classes to Irrlicht, like the IrrlichtDevice, sceneManager, etc?
BlindSide
Admin
Posts: 2821
Joined: Thu Dec 08, 2005 9:09 am
Location: NZ!

Post by BlindSide »

torleif wrote:C# has no cross platform support.
Sorry but, are you stupid? Irrlicht.Net CP stands for Irrlicht.Net Cross Platform!
ShadowMapping for Irrlicht!: Get it here
Need help? Come on the IRC!: #irrlicht on irc://irc.freenode.net
Swarmer
Posts: 100
Joined: Mon Apr 16, 2007 7:23 am

Post by Swarmer »

Gah XNA doesn't work with Visual Studio 2008. Whaaat.
MasterGod
Posts: 2061
Joined: Fri May 25, 2007 8:06 pm
Location: Israel
Contact:

Post by MasterGod »

I say stay with Irrlicht and C++.
Image
Dev State: Abandoned (For now..)
Requirements Analysis Doc: ~87%
UML: ~0.5%
Swarmer
Posts: 100
Joined: Mon Apr 16, 2007 7:23 am

Post by Swarmer »

Yeah I think I will :(

Now I just gotta figure out how to make Irrlicht input not interfere with winform input.
bitplane
Admin
Posts: 3204
Joined: Mon Mar 28, 2005 3:45 am
Location: England
Contact:

Post by bitplane »

Irrlicht.Net CP has never been the most active project, but I don't believe it's dead, it's usually a few months behind Irrlicht releases... but you have the power to change that! If you prefer developing in C# and find it faster then you should probably use it. Even if you have to spend a few hours a month keeping the wrapper up-to-date with Irrlicht 1.4.x or SVN trunk you'll gain that time back in the long run if C# is your weapon of choice.
Also it would be a cool project to work on, they're obviously short of .Net developers and are likely to welcome new people helping out (or even taking over if it is abandoned!). Lester and the other devs are pretty approachable, if you don't get a response on their forums try emailing them directly. :)
Submit bugs/patches to the tracker!
Need help right now? Visit the chat room
BlindSide
Admin
Posts: 2821
Joined: Thu Dec 08, 2005 9:09 am
Location: NZ!

Post by BlindSide »

An interesting concept for Irrlicht.Net CP is the distribution of executables for linux based distros. You probably only need one binary file, and no source distribution, for both the 32-bit and 64-bit platforms! The more I think about this, the more I see the potential for Irrlicht.Net CP to make linux development a breeze.

I haven't actually tried any of this however, it seems sound in theory. Does anyone have any actual experience with distributing Irrlicht.Net CP applications over linux?
ShadowMapping for Irrlicht!: Get it here
Need help? Come on the IRC!: #irrlicht on irc://irc.freenode.net
dgrafix
Posts: 116
Joined: Sun Nov 18, 2007 2:36 pm

Post by dgrafix »

I am interested in this too.

I am finding C++ is very difficult to adapt to because it is not managed and very longwinded compared to Pascal, Blitzmax, basic and other OOP languages i have used, so c# looks very interesting to me.
I would willingly sacrifice that tiny bit of extra speed for an easier and faster-to-produce environment. I use linux and can use mono, unfortunately as far as irrlicht goes i have no idea where even to start. I am guessing i need the irrlicht.net.dll but where do i get that from? the code supplied is all for visual studio and i have no idea how to compile it.
C++/Irrlicht Noob pl3se B p4t1ent.
Visit www.d-grafix.com :)
rogerborg
Admin
Posts: 3590
Joined: Mon Oct 09, 2006 9:36 am
Location: Scotland - gonnae no slag aff mah Engleesh
Contact:

Post by rogerborg »

BlindSide wrote:Irrlicht.Net CP stands for Irrlicht.Net Cross Platform!
Please upload candidate patches to the tracker.
Need help now? IRC to #irrlicht on irc.freenode.net
How To Ask Questions The Smart Way
Post Reply