There are some few things I don't like about .NET. For example: Default parameters. I know, they are not there because they are not safe. But in this way it is really a pain to translate C++ methods to managed C++. For example:
| virtual ISceneNode* addSomeSceneNode(
f32 size=10.0f, ISceneNode* parent=0, s32 id=-1,
const core::vector3df& position = core::vector3df(0,0,0),
const core::vector3df& rotation = core::vector3df(0,0,0),
const core::vector3df& scale = core::vector3df(1.0f, 1.0f, 1.0f)
) = 0;
|
To make this single method available in .NET, I've got to write 7, in words
seven methods. That's real fun. Not to mention the documentation, which usually has about 10-20 lines per method. And if you changed the method in the C++ interface, then you've got to change it for all copies in the .NET version. Seven times. Yay. Now think in classes. There are usually 5-30 methods like this in an average class I am translating to .NET. And there are about 50-100 classes. Fun³. Sometimes, wrapper generator users have a slight advantage. :)
And for my .NET related ceterum censeo style saying: I'd like mixed mode assembly and managed C++ or C++/CLI support in Mono. Really.
Personally I would never have done a .net version for Irrlicht - a MAC port imo is far more benificial to devs and to players and I bet you could have done that for the same effort you have put into/are putting into a .net version. Also those of us who use C++ will use that for win, linux, mac - if we use .net we have restrictions so avoid it.
I know there are users out there who do use .net - I just hope they apreciate the efforts you go to to implement it and continue working on it.
:)
p.s keep up the great work - looking forward to 0.13.0