C++ or C#(XNA)?

Started by
16 comments, last by Drigovas 15 years, 9 months ago
Quote:Original post by ukdeveloper
Quote:Original posts by the other posters in this thread
... taking the blowtorches to me [sad] ...


Well, I have given XNA more than a fair chance and I hate it; however, my primary programming motivation isn't actually games so this isn't a serious issue for me. Each to their own, as the phrase goes. If it's the best thing since sliced bread for you then I wish you all the best of luck and enjoyment in using it.

For the record, I think C# is great as it stands. It's a real joy but I can't say the same about XNA from personal experience.

To top it all off, I enjoy using C++. Not C, though.


That's fine, you can use whatever makes you happy. Nobody is forcing you to use anything. Just don't come in here, the beginners forum of all places, and spew lies about something you don't like.
Mike Popoloski | Journal | SlimDX
Advertisement
Quote:Original post by ukdeveloper
Quote:Original posts by the other posters in this thread
... taking the blowtorches to me [sad] ...
Well, I have given XNA more than a fair chance and I hate it
*snip*
That's fine. You're perfectly entitled to your opinion and may use whatever you wish. Looking through the responses in this thread however, if you put aside a couple of harsh remarks that were thrown in (perhaps unnecessarily -- be nice guys!) the majority of responses to your first reply are corrections to factual inaccuracies contained in that post. In this (the For Beginners) forum in particular, please be careful about clearly marking your opinion as opinion and trying to keep anything you're stating as fact as accurate as you are able to do so.


Everyone else: The corrections are welcome and encouraged, but do try to remain polite. Insults don't really add anything to your points.



As you were people...

- Jason Astle-Adams

On topic, I agree with those above who have suggested C#/XNA. Any of the platforms you are considering (or even Java, which you mention having plenty of experience with) are more than capable of the results you're after as far as you've described them for us, leaving ease of use as one of the main factors you should probably take into account, which will probably (and this does, as ukdeveloper raises, largely come from personal opinion) make the combination of C# and XNA an attractive option.

If you don't want to use XNA for any reason you could also consider C# with SlimDX, or as already mentioned consider doing the project in Java.

C++ with Torque would also be capable of what you want to do.

- Jason Astle-Adams

Hi there,

For quite a while i have been learning c# using windows forms and XNA. Until reading this thread i assumed it was "either/or". Which annoyed the heck out of me: What i wanted was the power of windows forms for creating a GUI, but with the ease of displaying graphics etc which XNA offers.

So, this is possible?... for a novice coder?

Quote:Original post by eljay
Hi there,

For quite a while i have been learning c# using windows forms and XNA. Until reading this thread i assumed it was "either/or". Which annoyed the heck out of me: What i wanted was the power of windows forms for creating a GUI, but with the ease of displaying graphics etc which XNA offers.

So, this is possible?... for a novice coder?


eljay:

This is really a whole different can of worms. Short answer - yes, It's possible. The XNA Creators Club has a few articles on setting this up, I believe. The "WinForms" series.

Again though, it's a different topic entirely. :)
Deep Blue Wave - Brian's Dev Blog.
Quote:Original post by eljay
Hi there,

For quite a while i have been learning c# using windows forms and XNA. Until reading this thread i assumed it was "either/or". Which annoyed the heck out of me: What i wanted was the power of windows forms for creating a GUI, but with the ease of displaying graphics etc which XNA offers.

So, this is possible?... for a novice coder?


Sure, you can do that. The GraphicsDevice class just needs a handle to any window, which you can get from a Form. Unfortunately if you're providing your own window it means you have to ditch the Game, GraphicsDeviceManager, and GameWindow classes. However it's not too hard to fill in that functionality yourself...in fact there's a nice sample on the XNA site you can use. It explains how you can just take the classes from the sample and use them in your own project.

I shall go look this up, thanks.

And to un-hijack the thread...

As a novice coder I found c# quite easy to learn (having last looked at C++ briefly 10 years ago!), and easy to do stuff with little effort - especailly with collections such as lists etc.

As you may have guessed, i've not gotten on tooo well with XNA so far. It was very good for making things quick and easy... but I figured that having to code any GUI/INPUT stuff from scratch was re-inventing the wheel!

/me shuts up and give the floor back to the experts
I've been using C++ for so long that I'm actually ashamed to say it, and am very familiar with Java as well. With this in mind, some time ago I decided to learn C#.

It took a weekend to learn it.

It is a nice and intuitive language, that [in my personal opinion] resolves a lot of the flawed design decisions that Java features [/opinion]. It is very Java-like though. I'm using C# for my current game project, and have been using it for all my scientific computing jobs since I learned it. It is of high performance, and plenty expressive. Even if you don't use XNA, the .NET libraries offer a huge assortment of functionality that'll make some of the grittier parts of programming pretty simple.

If migrating to a new language is what is impeding your transition, then rest comfortably that if you already have experience with other languages, C# is a piece of cake to work with. Even if you don't use XNA, C# presents a platform that'll let you really move and get some stuff done. The only real headache about C#, if you don't use XNA, is the comparative lack of resources for ready-made game components [which is exactly why XNA is used so frequently], like good physics engines [yes, some exist, but for every 20 you find for C++, you'll find one that offers C# support.. somewhat similar to what you find in the java world]. This is rapidly changing though, and C# things are starting to come around in pretty short order.

XNA is also pretty easy to work with, and takes care of a lot of the plumbing for you [so long as your project is within the scope of what they provide]. If you find that XNA isn't sufficient, and you are left implementing stuff on your own, C# is still leaps and bounds beyond C++ in terms of what you can accomplish in a set amount of time.

This topic is closed to new replies.

Advertisement