Windows Longhorn and Game Development

Started by
43 comments, last by bL0wF1sH 19 years, 7 months ago
Quote:Original post by NineYearCycle

As for the whole "when will C++ be obsolete?" question, it probably won't in my lifetime, and i'm only 25 [smile]

Andy


If we are talking about the obsolesense (sp?) of C++ as a development platform, you are greatly over-exaggerating (maybe I'm missing some humor here?). I fear you underestimate just how quickly computers are evolving. For example, when it comes to straight forward Windows development (not including mobile devices), Assembly Programming is, for all intents and purposes, obsolete. Within 50 years, I think not only will C++ be obsolete as a development platform, but so will C# and probably a language or two after that.
Jason Olson - Software Developer[ Managed World ]
Advertisement
Quote:Original post by CProgrammer

Oh wait DirectX and the like will probably still be a problem since the old directX dll's probably wont run.
-CProgrammer


DirectX will not go away, it will be supported by Longhorn.

No no no no! :)
Quote:Original post by bL0wF1sH
Quote:Original post by NineYearCycle

As for the whole "when will C++ be obsolete?" question, it probably won't in my lifetime, and i'm only 25 [smile]

Andy


If we are talking about the obsolesense (sp?) of C++ as a development platform, you are greatly over-exaggerating (maybe I'm missing some humor here?). I fear you underestimate just how quickly computers are evolving. For example, when it comes to straight forward Windows development (not including mobile devices), Assembly Programming is, for all intents and purposes, obsolete. Within 50 years, I think not only will C++ be obsolete as a development platform, but so will C# and probably a language or two after that.


Computer technologies tend to be fast moving, but stay around forever. At my dad's bank, they still use Windows 3.1 and NT, and use a 20 year old mailing system for internal mails. People don't upgrade quick, and I expect the same with major companies who have billions invested in C++ technologies.
Quote:Original post by bL0wF1sH
Assembly Programming is, for all intents and purposes, obsolete. Within 50 years, I think not only will C++ be obsolete as a development platform, but so will C# and probably a language or two after that.


Assembly will never be obsolete (It kind of is important for compiler development among other things.) Of all the languages ever invented, I haven't ever heard of a single one being obsolete.
No no no no! :)
Quote:Original post by CProgrammer

Yes its the same here. But whats the solution. If all dll's using dllexport dont work, how do I change them so they DO work.

-CProgrammer


As far as I know, the only way would be to write a managed wrapper around the unmanaged class (or make the class itself managed, ie, put a __gc or __value tag in front of it). With assemblies, anything that's managed and public is exported automatically, and the rest of it is hidden.
Quote:Original post by CloudNine
Quote:Original post by bL0wF1sH
Quote:Original post by NineYearCycle

As for the whole "when will C++ be obsolete?" question, it probably won't in my lifetime, and i'm only 25 [smile]

Andy


If we are talking about the obsolesense (sp?) of C++ as a development platform, you are greatly over-exaggerating (maybe I'm missing some humor here?). I fear you underestimate just how quickly computers are evolving. For example, when it comes to straight forward Windows development (not including mobile devices), Assembly Programming is, for all intents and purposes, obsolete. Within 50 years, I think not only will C++ be obsolete as a development platform, but so will C# and probably a language or two after that.


Computer technologies tend to be fast moving, but stay around forever. At my dad's bank, they still use Windows 3.1 and NT, and use a 20 year old mailing system for internal mails. People don't upgrade quick, and I expect the same with major companies who have billions invested in C++ technologies.


That's exactly why I stated that "as a development platform". As in, if you need to develop a new application from scratch, what platform do you choose? I understand for application maintenance and such, that languages tend to float around longer.
Jason Olson - Software Developer[ Managed World ]
Quote:Original post by MichaelT
Quote:Original post by bL0wF1sH
Assembly Programming is, for all intents and purposes, obsolete. Within 50 years, I think not only will C++ be obsolete as a development platform, but so will C# and probably a language or two after that.


Assembly will never be obsolete (It kind of is important for compiler development among other things.) Of all the languages ever invented, I haven't ever heard of a single one being obsolete.


That's why I prefixed it excluding the outside cases like mobile development. But for 99.99% of people out there developing *new* applications for real businesses, how many of them will choose to use assembly language as their main development language ten years from now? Very few, I'd imagine.

Perhaps I should qualify all of this by defining what I consider an obsolete language. If a language is only being used on 0.0000001% of all platforms, from outside the development world, for all intents and purposes, the language is obsolete. Note, I'm not defining obsolete as "useless". Just obsolete as in it is not used anymore for the majority of applications being developed.

For example, if someone was wanting to be a game developer and wanted to know what language they should learn first, I would *not* say Assembly. Why? Because it is not used in the majority of games out there (NOTE: this does not take into account optimized renderers and engines that will code certain aspects in assembly for a performance gain). I believe that in this day and age, learning assembly language first is a waste of time. HOWEVER, is it important for a good developer to *understand* assembly, of course! Just not as the first language to learn. I believe that learning Assembly language is a good way to "round out" your education and to become a better programmer in the long run. Not for n00bies though...
Jason Olson - Software Developer[ Managed World ]
Quote:Original post by The Senshi
Quote:Original post by CProgrammer

Yes its the same here. But whats the solution. If all dll's using dllexport dont work, how do I change them so they DO work.

-CProgrammer


As far as I know, the only way would be to write a managed wrapper around the unmanaged class (or make the class itself managed, ie, put a __gc or __value tag in front of it). With assemblies, anything that's managed and public is exported automatically, and the rest of it is hidden.


I see. So in the end i'll just have to substitute __declspec(dllexport) with some new command.
Luckily I built everything up like in SDL where every file includes a code_entry file which defines a substitute for dllimport and dllexport.

-CProgrammer
Quote:Original post by bL0wF1sH
...But for 99.99% of people out there developing *new* applications for real businesses...


yes thats very true, i got a job at a place doing C# development now, before my current job, and they have been for several years so as far as they're concerned C++ is already dead!

However thats business (sorry for the bold just emphasising, not yelling) and was outside the remit of the original question... this is GameDev.net not BusineesDev.net [smile] and we dont really care what business will be doing or even currently is doing, the goals and drives of business, whilst not a million miles from our own, are still not the same.

If you're writing a multi-platform, API independant engine, which is the direction that games are taking then you can't go around using c# and .NET extensions for ingame code, for tools use etc that fine, but as far as i know C# and .NET aren't supported on PS3, N5, or even Xbox2 nevermind being mobiles, handhelds, embedded applications.

That's why i believe (<-- Warning this is opinion) that C++ will be around in virtually identical form to now for many many many years to come.

Also lets face it, you can't call games only 0.000001% of the development market given the varied platforms it's used on and the amount of software currently in development.

Andy

[edit] D'oh, bad spelling![/edit]

"Ars longa, vita brevis, occasio praeceps, experimentum periculosum, iudicium difficile"

"Life is short, [the] craft long, opportunity fleeting, experiment treacherous, judgement difficult."

Very true, very true. Business development is a whole different ball game from game development. I think you can learn some things by comparing the two though (albeit on a different scale of time). I was mostly debating the opinion that C++ will be around for the rest of our natural life time. Once upon a time, games were programmed in Assembly. Then in C. Then in C++. It's just natural evolution. I agree with what you said about the games industry being different than the business industry. However, in this discussion, I think the main aspect to look at is the rate of evolution. While evolution is a lot slower in the games industry, it still happens. Hence, eventually, C++ won't be used anymore for game development (even if it is 4 generations of consoles away). Soon or later, it will become obsolete from a cost-benefit analysis point of view. It may not be anytime soon, but it will most definitely be within our lifetime.
Jason Olson - Software Developer[ Managed World ]

This topic is closed to new replies.

Advertisement