C# going to beat C++ in game prog

Started by
200 comments, last by Emmanuel Deloget 17 years, 7 months ago
Quote:
of course WRT hobbie game programming c# is a viable choice


I didn't mean to imply that you didn't say this, I was merely pointing out that, in my experience, a lot of hobbyist or novice programmers will specificly elect not to use C# because they eventually want to get a job in the games industry (possibly years in the future) and then don't seem to realize that it is possible for a person to learn or use more than one programming languages in his or her lifetime.
Advertisement
Quote:Original post by The Reindeer Effect
Quote:Original post by tompp
And if they try out the side effects of a garbage collector they might find it prohibitely expensive (and not for performance reasons) - you cannot control when to do its magic... But it wont be a problem for less demanding (resource-wise) projects. C# is good for tools, at least until you dont want to share a piece of code between the C++ app and the one running on the VM. Performance... It depends on how good and what is XNA :)


There exist real time garbage collectors for Java, surely Microsoft could hack one into .NET if they really needed an upper bound on GC time.


Chris Sells hacked Reference Counting into the Rotor CLR. Unfortunately, I can't find the link, but I'm fairly certain that the result was that semi-deterministic finalization was not the panacea everyone thought it would be
Joel Martinez
http://codecube.net
[twitter]joelmartinez[/twitter]
i cant really see the point of "dont learn c# because you dont get a job with it".
of course you should learn c++, but that doesnt mean you cant learn c#.

personally i find it great that xna allows me to write hobby games for a console. i never had a console, but when i can write games for it i will buy one.
yes, there are hacks to write software for most consoles, but there are much more problems than with a tool thats provided by the console manufacturer.
Until C# is viable language on the Revolution, PS3 and PSP, it will remain a game development language for bedroom coders and no more. No one in their right mind would start developing a title in C# knowing that they would have to re-write the entire thing in C++ to stand a chance of getting it onto PS3. Persuading us to enthusiastically jump on board the C# bandwagon because of a *belief* that it will fulfill those criteria in future, is nothing short of misguided idiocy.

Until you have quantified C#'s exact benefits for the PS3, you cannot state it's future dominance of the industry as fact.

C# is however growing greater popularity in the process of writing tools, and is likely to do so well into the future. For the moment however, that is basically it.

It's also worth pointing out that we already know about the failings of C++, that's why we use lua, ruby, squirrel et al. I'm not saying that solution is perfect, however for the moment it's the best cross platform solution we have.

Finally, i will say that i'm very impressed by Microsoft's decision to release XNA Game studio for free home use. For me anyway, it represents the return of the Spectrum 48k bedroom coding days of old, something that has been sadly lacking from the industry for many years. With any luck, this may spawn many original and new gameplay idea's. C# is in my opinion, perfectly suited to that purpose.
Quote:Original post by jpetrieI was merely pointing out that, in my experience, a lot of hobbyist or novice programmers will specificly elect not to use C# because they eventually want to get a job in the games industry (possibly years in the future) and then don't seem to realize that it is possible for a person to learn or use more than one programming languages in his or her lifetime.


However the experience of writing games on a 360 is probably more useful long term than specifically knowing C++. Having learned C#, learning C++ will not be a difficult task. Chances are, they will learn C# because programming on a console is more fun than programming for windows (or rather, it will probably be percieved that way)

My few cents:

Slower! Don't say its fasters then c++ someway... I know that different programmers are, and if you don't know how you will not get fast code anyway... Other thing is that not everyone is using assembler nowadays. But its still used! I've seen "Assembly failed" message many times when installing your precius developement wonders! Why are you all about C# now? What special about it? I only heard of new releases... In next 10 year time you want have your old game work on newest mashines baceause your second edition is not supported anymore... If you have to use the same sources for years you will have to upgrade it once in a while because of differences in NET 2 v 3 or 3 v4 or 10 v 11. Why it is still in developement if its such a wonder???

Memory!!!! Not only management... But also higher usage for the same job...

If in future microsoft will licence it to other vendors you will get the same what J2ME gives to mobile developement... No app will work fine on motorola, SE , Nokia and Siemens without changing sourcea little, and if does it will work much slower...

I know that XBOX 360 is more powerful then most of desktop PC's so you can use what ever you want to develop games. But it has it all to give you more oppornity to make real word enviroments, bigger words, not for Q2 compared games...

Do what you want and use what you want, but dont create a lobby and demand of chaning on industry...
I find it strange that when talking about the games industry, people only ever mention the really big names. The games industry is not limited to those super expensive console titles with budgets so big I can barely comprehend. There is also the rather large market for puzzle games (that the casual gamer loves so much). With the Xbox 360 now supporting C# (there will be a professional license for XNA next spring) and with the advent of Vista, the puzzle game industry may take-off in a big way on consoles using XNA. This whole market could be what Microsoft hopes to gain, and I wouldn't blame them as places like RealArcade are making a killing. Let's also not forget mobile gaming (.NET Compact Framework anyone? [wink])
Quote:Original post by RobTheBloke
Until C# is viable language on the Revolution, PS3 and PSP, it will remain a game development language for bedroom coders and no more. No one in their right mind would start developing a title in C# knowing that they would have to re-write the entire thing in C++ to stand a chance of getting it onto PS3.

This got me thinking and I wonder if we will start to see Microsoft Game Studios (places like Rare, Bungie, Lionhead, Big Huge and Ensemble) use XNA for commercial titles as they will only ever be released on either Xbox 360 or Windows.

It is true that the big boys won't be dropping C++ any time soon (I believe some are still even using C) but some day, I reckon a managed language will take-over [smile]

All the best,
ViLiO
Richard 'ViLiO' Thomasv.net | Twitter | YouTube
Quote:Original post by joelmartinez
Chris Sells hacked Reference Counting into the Rotor CLR. Unfortunately, I can't find the link, but I'm fairly certain that the result was that semi-deterministic finalization was not the panacea everyone thought it would be

As far as I know, he never got around to actually implementing it. I did, though.

--AnkhSVN - A Visual Studio .NET Addin for the Subversion version control system.[Project site] [IRC channel] [Blog]
Quote:Original post by ViLiO
I find it strange that when talking about the games industry, people only ever mention the really big names. The games industry is not limited to those super expensive console titles with budgets so big I can barely comprehend. There is also the rather large market for puzzle games (that the casual gamer loves so much). With the Xbox 360 now supporting C# (there will be a professional license for XNA next spring) and with the advent of Vista, the puzzle game industry may take-off in a big way on consoles using XNA. This whole market could be what Microsoft hopes to gain, and I wouldn't blame them as places like RealArcade are making a killing. Let's also not forget mobile gaming (.NET Compact Framework anyone? [wink])


Good point well made. Like i said, C# and the free version of XNA game studio is a great thing for the industry imo.

Quote:Original post by ViLiO
Quote:Original post by RobTheBloke
Until C# is viable language on the Revolution, PS3 and PSP, it will remain a game development language for bedroom coders and no more. No one in their right mind would start developing a title in C# knowing that they would have to re-write the entire thing in C++ to stand a chance of getting it onto PS3.

This got me thinking and I wonder if we will start to see Microsoft Game Studios (places like Rare, Bungie, Lionhead, Big Huge and Ensemble) use XNA for commercial titles as they will only ever be released on either Xbox 360 or Windows.


XNA != C#

Don't forget that XNA will still work with unmanaged C++, so it's not as though you need to switch languages to gain benefits from the technology. It's a bit like asking whether current 360 developers will choose to use DirectX10, the point is that it's not really a choice. XNA *will* be used by a large number of games companies, basically anyone working with the 360. I don't dispute that XNA will become an important technology in the games industry, that can be taken as a given. However, this thread is a discussion about C# replacing C++'s dominance in future, not whether XNA will be used.

You can reasonably assume that any console developer worth his salt, would wrap all platform specific code in some base libraries (ie, their own wrappers over XNA, DirectX, GL, etc). A 360 only developer, will eventually have to port their engine to the xbox3, whenever that comes out. Therefore if they have a unmanaged C++ engine that uses XNA, it's fair to assume that it should be relatively straightforward to port it to the PS3, PS4 or Xbox3. Currently the use of C# for the entire engine would be a show stopper in that respect, since a port of every line of C# to C++ is considerably more work than just a few core libraries.

I'd also point out that microsoft doesn't just buy companies, it has in the past sold them as well ;) Softimage was sold to Avid after Microsoft had created a large enough foothold in the highend animation industry. Once nice artifact of that is the damn good COM based scripting interface in Xsi. I think it's reasonable to assume that the MS owned developers may in future be sold on, and in 15 years time, the only artifact may just be a damn good tools pipeline and a C# scripting interface in the engine ;) So yes they will use XNA, but C#'s usage even for them is debatable.

Quote:Original post by ViLiOIt is true that the big boys won't be dropping C++ any time soon (I believe some are still even using C) but some day, I reckon a managed language will take-over [smile]


C++ will remain dominant for some time to come, but i'm not willing to jump the gun and assume language X will grow to be the future dominant force. Managed languages may well take over, but the same could also be said of functional languages ala Haskell. However, before any language can become dominant, it first has to reach the status of becoming an viable alternative.

When C# (or any other managed or functional language for that matter) is available on all of the platforms, then it will have reached that status of being an Alternative. At that stage, then and only then, can we really have any meaningful discussions about it becoming dominant in future.
Quote:Original post by RobTheBloke
Don't forget that XNA will still work with unmanaged C++, so it's not as though you need to switch languages to gain benefits from the technology.


Please cite your source for this. Everything I've read and heard so far is that it's managed code and C# only at first, possibly more .net languages later. I'd be interested to know where you get this information that unmanaged c++ will work with it as well, as that would be a pretty bad idea imo.

Quote:Original post by RobTheBloke
XNA *will* be used by a large number of games companies, basically anyone working with the 360.


Please clarify. XNA is in no way a requirement to making 360 games.

This topic is closed to new replies.

Advertisement