Microsoft burned down my home, where now?

Started by
41 comments, last by 3Ddreamer 10 years, 11 months ago

And I should have clarified, I meant that MS isnt supporting XNA, which I think was one of the main reasons C# gained traction. It might very well continue to be used in Win8 applications, but since this is a game development forum I'm thinking mostly of... game development. As far as game development, c++ will continue to be the standard.

C++ isn't really used on its own, I like the language and use it but it isn't as super powerful as people claim it to be nor is C# another stupid slow managed language.

Majority aren't always right, I don't know about the game industry but I know of other major industries and typically following the bandwagon is rarely to do with productivity, it is more to do with shareholders / business managers lacking balls, and lets be honest here considering every other game released in the last few years is an ''upgrade' of some other game, I doubt the game industry are any different from other industries.

Besides you already said

"Just because something is widely used now doesnt mean it'll be widely used in the future."

Surely this must also apply to your C++ comment too then ;)

I say all of this as someone who uses both C# and C++ heavily and daily. Personally I always thought C# gained popularity because of how easy and efficient .NET was to make applications, work with databases and make websites.

Not to mention, companies with a large codebase may be reluctant to tear everything up to move to the latest trend in programming languages, that's sometimes too little gain for too much work (and work that potentially will be a nightmare to test). Hell, at work we still have numerical engines written in Fortran, even though our primary application development is in C# (and bits of C++/CLI here and there).

Advertisement

C++ isn't really used on its own

Yes it is. There are plenty of games being made just in C++.

"Just because something is widely used now doesnt mean it'll be widely used in the future."

Surely this must also apply to your C++ comment too then ;)

Certainly. Nobody should be getting too attached to any one language and hoping that it'll live forever. Good programmers should be looking to learn new skills and tools when they become relevant and should be able to adapt to changes in where technology is headed.

++ isn't really used on its own,

Not sure what you mean by this. Most professional gave developers use C++ on its own.


Besides you already said

"Just because something is widely used now doesnt mean it'll be widely used in the future."

Surely this must also apply to your C++ comment too then ;)

Yes, absolutely. It's entirely plausible that eventually C++ will be supplanted by another language as the default/standard for game development. But, that wont happen for a long time due to the sheer number of studios that use C++, plus how much code they have invested in the language, plus how much expertise is already there, plus the innate qualities that C++ brings to the table that are hard to match. I feel pretty secure predicting that every next-gen console will be programmed in C++, and probably those in the gen after that.



C++ isn't really used on its own,

Not sure what you mean by this. Most professional gave developers use C++ on its own.
Well, at every games company I've worked for, they've used C++ for the engine runtime out of necessity, and then a bunch of other languages for the toolchains (C#, Python, etc) and another language for gameplay programming (Lua, UnrealScript, etc), and another language for build automation, and another language for graphics, so it does hold true in my professional career.

Yes, there's too many hurdles to using C# in your cross platform, performant core engine runtime library right now, but it is becoming more and more popular for both gameplay and tools programming due to ease of use over C++.
At the last studio I worked for, all the programmers know C++, but the game itself (not the engine) is almost entirely written in Lua, because programmer productivity is more important than performance in that kind of code...

As for it's popularity being tied to XNA, that's not at all true in the professional world because we never picked up XNA, but we did pick up C# because it's a good 'productivity language'.

Not sure what you mean by this. Most professional gave developers use C++ on its own.

Well, at every games company I've worked for, they've used C++ for the engine runtime out of necessity, and then a bunch of other languages for the toolchains (C#, Python, etc) and another language for gameplay programming (Lua, UnrealScript, etc), and another language for build automation, and another language for graphics, so it does hold true in my professional career.

Yes, there's too many hurdles to using C# in your cross platform, performant core engine runtime library right now, but it is becoming more and more popular for both gameplay and tools programming due to ease of use over C++.
At the last studio I worked for, all the programmers know C++, but the game itself (not the engine) is almost entirely written in Lua, because programmer productivity is more important than performance in that kind of code...

As for it's popularity being tied to XNA, that's not at all true in the professional world because we never picked up XNA, but we did pick up C# because it's a good 'productivity language'.

Yup, I thought he meant the code for the game executable itself. Tools, shaders, and scripting are a separate issue. C++ isnt used for those because they are inherently different from executable code, which is the purview of C++.

Ok, it seems this thread has almost turned into a C++ vs. C# kind of thread almost. We've been down that road before getting no where but a dead split with some developers thinking C++ will remain the industry standard for games with C# being, like was mentioned, a "pet" language, with even some professional developers saying they feel the switch to C# will happen and it could become standard. I just feel it'd be a pretty expensive move for companies to switch their entire code base over to a new language.

Yup, I thought he meant the code for the game executable itself. Tools, shaders, and scripting are a separate issue. C++ isnt used for those because they are inherently different from executable code, which is the purview of C++.

That was a terrible defensive response and you know it :D a game isn't a mere exe and dlls :P; funny you should mention shaders though, because if anything it seems all my graphics development focuses more on HLSL than C# / C++ combined, but then what would I know, by your own words C# programmers are "amateur developers" (im amazed no one commented on that yet) :P

There are rumors already that MS has a new version of a managed Direct X language that will coincide with the release of the new XBOX version

There are rumors already that MS has a new version of a managed Direct X language that will coincide with the release of the new XBOX version

I must have missed that. Any link ?

VladR My 3rd person action RPG on GreenLight: http://steamcommunity.com/sharedfiles/filedetails/?id=92951596

There were already Managed DirectX tutorial threads and managed vs non-managed flame wars here on Gamedev and other forums a few years before Microsoft even announced XNA. There were also several .NET games programming blogs around that simply updated their content to be XNA specific. Also the C++ DirectX SDK also had a couple of examples using C# as a scripting language from within a native C++ game. So I think it already had traction in the game dev comunity before XNA.

Mind you you only have to remmember what happened to managed DirectX and then it isn't really a suprise that microsoft dropped XNA.

And despite that you can still create a new Windows Forms app in Visual Studio today, go to References, Add Reference, pick ".NET" and all of the "Microsoft.DirectX" stuff is still available for use.

That's a cautionary lesson in the whole "WAAAHH!!! MICROSOFT KILLED XNA AND NOW I CAN DO NOTHING!!!!" drama. Despite the fact that Managed DirectX was killed years ago, it is still available for use. What is it that is causing people to think that the situation would be otherwise with XNA?

Direct3D has need of instancing, but we do not. We have plenty of glVertexAttrib calls.

This topic is closed to new replies.

Advertisement