Hello all,
Does anyone here use c#? I havent used c# yet. I was thinking of porting some of my c/c++ engine code to c#. I'm quite sceptical about performance issues and whether it would be worth doing.
any suggestions..?
adios
rx
C# appears to me to be the Microsoft Java clone, although I think it has superior features to Java and I think I'd enjoy working in it more than in Java (Uni, ergh). However having said that I don't think anyone would be developing games in it yet, maybe the tools to make games assets with, but not the actual games themselves. If you are looking for a scripting language to write a game with there are plenty out there, Python being by far the most popular, with Lua/Ruby coming in close too.
I'll write more about C# when I actually get a chance to use it in a concrete application.
C# is nice, however as an "experienced" programmer, I feel there are a few things wrong with it, and the .NET CLR. However, it is very nice for writing GUI apps in, and very fast for simple apps development, so if that's what you're using it for then it's great (trying to do the same thing in C++/MFC/WTL/etc is much much more painful).
Also remember that .NET and the CLR allow you to mix languages at will, so you can write all your low level stuff in C++ and write a quick and rich UI in C#.
Well I've had a bit of a play around with C# using the new fangled Visual C# Beta Express thing. It seems to be a lot like java with some of the nice things of C++ built into it. I must say that I enjoyed programming in C# more than programming in Java. Of course the tools might have something more to do with it, but still.
One of the nice things that I found out about C# while coding in it was that I wasn't doing as much casting as I would have been in Java, at least with the Generics of C# (though the help docs warn that they are not CLR compatible?), and thus the code seemed to be easer to write.
Now I will actually start writing some serious applications in it and see how it goes. I might even like it and decide to become an applications programmer - heck Game Tools need to be made too! (Now if only I could find a job doing that!)
Also, please be aware of Mono http://www.mono-project.com/, a cross platform runtime. If you are going to start writing C# apps, you should probably try and avoid using windows.forms if you want real portability. Mono has Gtk#, which seems to be a very good alternative to windows.forms.
As to RX's original question I would say that building graphical tools in C# would be quite easy to do, and I would recommend it, however building a game engine in it, I would advise against it. Maybe if you used C++ .Net and then C# for the scripting that might work out. However personally I would stick with C++ for the engine and use C# for tools if necessary.
I haven't used c# but I enter a few programming competitions for which performance is important (mostly at an algorithmic level though) and I've seen quite a few people using c#.
Personally I just stick to C for really simple stuff, and C++ when things get bigger. I've programmed in too many languages over my life to want to learn a new one without good reason :-)