Jump to content
  • Advertisement
Sign in to follow this  
_Danneman_

C# - proprietary or free?

This topic is 4838 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

Few questions about C#, please: 1) Is C# proprietary (to MS) or free to use by anyone, anyhow, and on any platform (kinda like C++)? 2) Is C# much easier than C++? Does using C# instead of C++ usually diminish the development time (making games)? 3) Have a lot of gamedevelopment migrated from C++ to C#? Is it perhaps even more popular than C++ nowadays?

Share this post


Link to post
Share on other sites
Advertisement
1) The language has been standardized. However, significant chunks of .NET has been patented by MS. There is a .NET implementation for Linux : Mono.

2) Depends on what you're trying to do. C# is definitely easier for application development. For games, it's a question of API availability.

3) I doubt it, but I'm not the person who would know for sure.

Share this post


Link to post
Share on other sites
Quote:
Original post by _Danneman_
2) Id like to combine C# with Direct X. Will that combination (as oppossed to C++ - DX) be very much less powerful?


What do you mean by powerful? You have the same access to the API (DX is a COM-based system), so you can do precisely the same things.

Share this post


Link to post
Share on other sites
I mean, can you develop high-end games with C# and DX, or does the fact that youre using C# a) slow down the games performance, and/or b) limit the amount of advanced DX features you can use (like shaders and stuff)?

Or is the only difference really that you can better manage memory in C++ (and ofcourse screw it up with leaks ;) )?

Are there examples of commercial high-end games that are programmed with C#? Perhaps it is more common with the XBox?

Share this post


Link to post
Share on other sites
Quote:
Original post by _Danneman_
I mean, can you develop high-end games with C# and DX, or does the fact that youre using C# a) slow down the games performance, and/or b) limit the amount of advanced DX features you can use (like shaders and stuff)?

a) Not so much it will hurt - read below...
b) At the moment the Managed DX documentation is "preliminary and subject to change", so with that in mind I guess MDX still is in a state of developement. But Microsoft loves everything managed right now so MDX will probably be 100% comparable to traditional DX with the next DX version.

As for performance, sure there is a slight difference in speed between C++ and C# but it is small compared to the difference in speed between bad usage and good usage of the DX API. So I you're an DX expert that knows exactly how to use the DX API for maximum performance, then the language difference will be worth to consider. Otherwise it's hardly more than a matter of taste.

Share this post


Link to post
Share on other sites
Managed DirectX is an interface to DirectX that can be used by any of the .NET languages, not just C#.

Share this post


Link to post
Share on other sites
Both languages compile straight to machine code, so I would expect very very little difference in performance.

3) Nope, there's still a lot of money invested in C++ game engines. Why change to another language (and rewriting the engine), losing all the money and time invested?

Share this post


Link to post
Share on other sites
Quote:
Original post by CloudNine3) Nope, there's still a lot of money invested in C++ game engines. Why change to another language (and rewriting the engine), losing all the money and time invested?


True. But after reading some of the posts by people who have switched to C# there seem to be considerable time (=money) to save by using that language instead.
Some profess they spend as little as a fifth of the time coding a similar game for C# as it would take to do it in C++.
If that is true, then one could assume there would be a significant pull towards using C#.

Quote:
Original post by SiCraneManaged DirectX is an interface to DirectX that can be used by any of the .NET languages, not just C#.


So it simplifies even further the use of the DX API?

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

We are the game development community.

Whether you are an indie, hobbyist, AAA developer, or just trying to learn, GameDev.net is the place for you to learn, share, and connect with the games industry. Learn more About Us or sign up!

Sign me up!