why is c# better for game development than c++(you can be vague)

Started by
298 comments, last by normalme 19 years, 11 months ago
As for C++.net combineing java, c++, c, and vb was a mistake.

For C# I don't find it as platform portable, as it should be.

[edited by - DevLiquidKnight on January 7, 2004 3:53:46 PM]
Advertisement
quote:Original post by normalme
why is c# better for game development than c++(you can be vague)


it isn''t.

most of libaries/engines are still written in C/C++ for C/C++ and that''s going to stay like that for some future years.

for proper game development there''s more than just using a language. furthermore only a few platforms can run C# code, plus you and your customers need the runtime framework as well.

the language itself may be fine but as said there''s more to it than just a language.

quote:Original post by Dobbs
quote:is it the syntax of the future?


The syntax isn't hugely different from C/C++/Java.



Now I kind of disagree with that, as C# is largly more Event based then C++ (not saying you cannot use it "un-eventbased")

It probably isnt the "syntax of the future" as that is quite an ignorant question, since syntaxes (whats syntax's plural?) are all different and always will be, I foresee thhe future syntax to be graphical, not text based but that is just my opinion.

Edit: Compining multiple posts (wasn't paying attention, kept replying to peoples ignorance while displaying my own )
quote:Original post by johnny carmackle


It isn't! its slow

I'll be sticking with C++


Well, why don't you program in straight optimized ASM? Speed is not an issue, otherwise people would still use ASM... Computers will continue becoming faster and speed will continue becoming less of an issue. Games used to be programmed in ASM then they advanced to slower but easier to use languages such as C, soon they will advance to slower but easier to use languages such as C#.


Edit: Same as above

quote:Original post by Ademan555
There is a quote in one of my c++ books that goe something like this "the most important thing that c++ inherits from c, is its speed" c# doesnt... c++ > c#


C#'s speed is almost equal to c++ for directX now... the only shortcomming I can see is that it doesn't have a TRUE OpenGL interface (I know there are "emulated implementations" but no true official implementation)

Edit: Had multiple implementations of my sig, since I was combining!


It's Maxd Gaming, put in an underscore and I will beat you with a rubber ducky!
{ Check out my Forum } { My First Space Art (Ever) }{ My Second Space Art (Ever) }{ My upcoming space mod for Battlefield: 1942. }

[edited by - maxd gaming on January 7, 2004 8:08:01 PM]

[edited by - maxd gaming on January 7, 2004 8:08:42 PM]

[edited by - maxd gaming on January 7, 2004 8:09:21 PM]
The Untitled RPG - |||||||||| 40%Free Music for your gamesOriginal post by capn_midnight 23yrold, is your ass burning from all the kissing it is recieving?
Java is more multi OS (and have OpenGL libraries, and would have nanosecond timer in next version)
Let C# take over VB applications, so we could have more effective languages in the game development. (and lets hope that next C++ compiler would be multipass and would have some of C# advantages implemented)

BTW I use ASM. (After while ASM programming you'd know that even C++ is so slow) ~_^




[edited by - Raghar on January 7, 2004 8:19:10 PM]
quote:Original post by Raghar
BTW I use ASM. (After while ASM programming you''d know that even C++ is so slow) ~_^
[edited by - Raghar on January 7, 2004 8:19:10 PM]

rofl...



It''s Maxd Gaming, put in an underscore and I will beat you with a rubber ducky!
{ Check out my Forum } { My First Space Art (Ever) }{ My Second Space Art (Ever) }{ My upcoming space mod for Battlefield: 1942. }
The Untitled RPG - |||||||||| 40%Free Music for your gamesOriginal post by capn_midnight 23yrold, is your ass burning from all the kissing it is recieving?
wrong.

C# == C++ == VB for game programming.

Syntax-wise, I think C# has better syntax than C++ (or maybe it is just VS.NET that screws up C++). That's the only advantage I can see, clean code.

What are advantages of using C# over C++?
1. Garbage collection. That's one. But some people claim it is evil for game programming. I haven't been involved in a large-scale game development, so I don't know about it personally. Though I believe a tetris-level game would run just as fine with gc.
2. Neato UI libraries, rapid application development. But since we are making games and most of the time go fullscreen, we don't need those button, textbox, or picturebox controls. So, when we are making games, we ditch those libraries and make our own button and textbox control instead, just what C++ programmers do.

Hm...what else? No more.

For UI programming, C# > C++ of course, but for game programming, they are pretty much the same.

[edited by - alnite on January 7, 2004 8:42:21 PM]
What?! C# is like Java, so it runs on a virtual machine. So, for Windows calls, it may be (perhaps) faster. But not for everything else.

You can't write a driver, memory manager, etc in C# because the language is not made to run exacly on the computer, but on a virtual machine on top of that. That is the reason for the garbage collector, etc.

Of course that, for windows stuff, C# is more productive because it encapsulates lot's of stuff. But that comes with a price. There are some things (more obscure ones) that aren't available to C# even in programming to windows.

And if speed is important, then you have to write it in asm. But of course that, in a huge game like know, only 0.5% of it (the important functions) is written in asm. But in C# it would be the asm of the virtual machine, that then would run on the machine itself...

[edited by - SigmaGL on January 7, 2004 8:50:32 PM]
quote:Original post by SigmaGL
You can''t write a driver, memory manager, etc in C# because the language is not made to run exacly on the computer, but on a virtual machine on top of that. That is the reason for the garbage collector, etc.
Well, you''ve got to ask yourself one question. When, as a game developer, will you ever be tasked with writing a driver?

Not saying C# is the holy grail of game dev (it is my preferred platform though). Someone else made a great point that at the moment, most other library/tools are geared for C++ which will impede the adoption.

Thing will go much easier for .NET and gaming once Longhorn hits because it will be an integral part of the OS. Also, mark my words, you''ll be able to run .NET/Managed DirectX on the next version of the XBOX

Joel Martinez
http://www.codecube.net/
Joel Martinez
http://codecube.net
[twitter]joelmartinez[/twitter]
quote:Original post by joelmartinez
Well, you''ve got to ask yourself one question. When, as a game developer, will you ever be tasked with writing a driver?


Well, at what point, as a game developer, will you have to write a memory manager?

I mean, C# is slower, does not offer big changes of optimization and only supports what micro$oft wants it to support.
So, if not writting windows (VB, MFC whatever) applications, what is the point in using it?

quote:Original post by SigmaGL
Well, at what point, as a game developer, will you have to write a memory manager?

I mean, C# is slower, does not offer big changes of optimization and only supports what micro$oft wants it to support.
So, if not writting windows (VB, MFC whatever) applications, what is the point in using it?
You''d have to write a memory manager if you were using C++ :-P

and as far as programming to what micro$oft wants ... I''ll have to concede to the fact that if you want to mass market your game, .NET shouldn''t be your platform of choice for now. Eventually you''ll be able to target both Windows (Longhorn) and XBox.

If however, you know your game probably won''t be picked up by EA, I think .NET is a perfectly viable target for your development efforts. Despite what you may have heard (because you obviously haven''t experienced it for yourself), C# isn''t that slow. I use it every day.

Oh, and you''d be a fool to try and write game tools/editors in C++, .NET or Java (if you''re so inclined) is the way to go IMHO.

Joel Martinez
http://www.codecube.net/
Joel Martinez
http://codecube.net
[twitter]joelmartinez[/twitter]

This topic is closed to new replies.

Advertisement