Things I don't like about .NET

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.

three comments, already:

Well, I am not a big fan of .net for many reasons (distribution on older platforms being the main one).. it certainly has it’s plusses but hand-holding like that taking place in your example is taking away the power from the people who need those features to make the most compact libraries.

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
Sharpfish (link) - 24 11 05 - 19:30

“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.”

I VOTE DEFINITELY *Y E S* for mixed mode assembly support in Mono :-) – no need to say that we need it more than the air we breathe! ...or we ‘ll have a very hard time porting our mixed mode assembly to Linux, which we are using as an interface between our C# Game Engine and our modified (native c++) irrlicht-based render-engine :-) !
[Duncan Mac Leod] (link) - 25 11 05 - 01:15

ok, i’ll shut up about C# being hideously tainted …

anyone looked at gapi from mono?

since it does c/c++ and is essentially perlcode under the hood perhaps it could be modified to do the work.

BUT, looking at the way gapi does its work, why not write your own codegen based on gapi-parser’s xml output?
terefang - 25 11 05 - 18:46

Displayed name:  
Remember personal info?
Website (optional):
Enter "layered" (antispam):
Comment:Emoticons / Textile


Small print: All html tags except <b> and <i> will be removed from your comment. You can make links by just typing the url or mail-address.
Note: If you type in your email adress above, it will be visible to other visitors, although it will be hidden for bots using javaScript.