Jump to content

  • Log In with Google      Sign In   
  • Create Account

How long until c++ disapear from game development


Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.

  • This topic is locked This topic is locked
44 replies to this topic

Poll: How long until c++ disapear from game development (66 member(s) have cast votes)

How long until c++ disapear from game development

  1. 5 (2 votes [3.03%] - View)

    Percentage of vote: 3.03%

  2. 10 (1 votes [1.52%] - View)

    Percentage of vote: 1.52%

  3. 15 (5 votes [7.58%] - View)

    Percentage of vote: 7.58%

  4. 20 (12 votes [18.18%] - View)

    Percentage of vote: 18.18%

  5. may 7 2045 (41 votes [62.12%] - View)

    Percentage of vote: 62.12%

  6. dec 3013 (1 votes [1.52%] - View)

    Percentage of vote: 1.52%

  7. never (4 votes [6.06%] - View)

    Percentage of vote: 6.06%

Vote

#1 Gl_Terminator   Members   -  Reputation: 448

Like
0Likes
Like

Posted 13 September 2011 - 10:06 AM

As an informatics engineer i do realize that managed language are the future. I think that C++ and company will be a thing from the past in a few years, how many I dont know

Sponsor:

#2 Hodgman   Moderators   -  Reputation: 30370

Like
5Likes
Like

Posted 13 September 2011 - 10:11 AM

As a game engine programmer, most of the work I do is primarily concerned with the layout of data in RAM. Seeing as the RAM latency problem is only getting worse, and managed languages generally avoid giving you control over your RAM layouts, then it's C++ for the foreseeable future.

As a game (gameplay) programmer, C++ should already be dead. Managed/scripting languages have largely replaced C++ here already.

#3 DaBono   Members   -  Reputation: 981

Like
0Likes
Like

Posted 13 September 2011 - 10:12 AM

Where I think that managed languages will be the feature for many of the applications written, I don't think it will be for game programming. Raw performance, control over memory allocation/deallocation, multi-platform development without needing an intermediate language/framework will keep native languages in this business, I think. I do think there wil be a large space for managed languages in tool development, or as a replacement for various scripting languages.

#4 mhagain   Crossbones+   -  Reputation: 7965

Like
0Likes
Like

Posted 13 September 2011 - 11:13 AM

Not gonna happen anytime soon but it's difficult to even guess if it may ever happen. Managed languages are cool for certain, but they were primarily designed to solve a different class of programming problem. Sure they can be used for games, and quite well too, but they still bring their own overheads (e.g. in startup times, JITting code causing unpredictable latency, unpredictable garbage collection times causing unpreditable hitches and stalls, the dreaded boxing and unboxing, limitations of running in a sandbox, etc etc etc yadda yadda yadda). None of these are unsolvable, but the current generation is just not there yet.

Aside from that there is just a huge legacy codebase in C or C++, with being able to link with C remaining a primary standard for libraries. That'll take a good deal of time and effort to deal with, and that would be time and effort that many will see as being better invested in creating something cool and new.

It appears that the gentleman thought C++ was extremely difficult and he was overjoyed that the machine was absorbing it; he understood that good C++ is difficult but the best C++ is well-nigh unintelligible.


#5 Telastyn   Crossbones+   -  Reputation: 3726

Like
0Likes
Like

Posted 13 September 2011 - 11:21 AM

The lifecycle of consoles is too long to expect that it will disappear anytime soon.

#6 speciesUnknown   Members   -  Reputation: 527

Like
4Likes
Like

Posted 13 September 2011 - 11:25 AM

Never is a stupid answer, that means that in a million years time people will still be using c++. I cant believe that most people chose that option. I chose 20, but I think it will actually take a lot longer than that. As yet, no language *with similar semantics* (please don't start telling me that java and C# are going to replace c++, you've been telling me that for 10 years) has yet been developed. When it is, c++ will be replaced.
Don't thank me, thank the moon's gravitation pull! Post in My Journal and help me to not procrastinate!

#7 Antheus   Members   -  Reputation: 2397

Like
0Likes
Like

Posted 13 September 2011 - 11:30 AM

I think that C++ and company will be a thing from the past in a few years, how many I dont know


Let me put things into perspective here.

No software today can be written without using C or C++. Web development likes to hype how they are managed - using databases written in C/C++, running on OSes written in C/C++, using servers written in C/C++ and languages written in C/C++ accessed by browsers written in C/C++.

Not one of those has so far been replicated to satisfactory level in managed language.


So yes, just like artists can use Photoshop without knowing anything about programming, so will C and C++ diminish. But today, in 2011, managed languages are incapable of providing even the rudimentary facilities needed to provide even the most basic real world solutions.

As an informatics engineer i do realize that managed language are the future.

No, they are the past. First computer languages were "managed" and running on virtual machines.

The reason unmanaged languages appeared is because of horrible impedance mismatch between the way hardware works and the way programmers are forced to think. This mismatch, especially in informatics sector is due to race to bottom.

#8 laztrezort   Members   -  Reputation: 965

Like
0Likes
Like

Posted 13 September 2011 - 11:32 AM

I bet C++ will live for while yet (for reasons already mentioned).

However, in 20 years, it would not surprise me if computers just program themselves, and leave the more human type stuff for us (like art & design). :)

#9 Gl_Terminator   Members   -  Reputation: 448

Like
0Likes
Like

Posted 13 September 2011 - 11:55 AM

I think that C++ and company will be a thing from the past in a few years, how many I dont know


Let me put things into perspective here.

No software today can be written without using C or C++. Web development likes to hype how they are managed - using databases written in C/C++, running on OSes written in C/C++, using servers written in C/C++ and languages written in C/C++ accessed by browsers written in C/C++.

Not one of those has so far been replicated to satisfactory level in managed language.


So yes, just like artists can use Photoshop without knowing anything about programming, so will C and C++ diminish. But today, in 2011, managed languages are incapable of providing even the rudimentary facilities needed to provide even the most basic real world solutions.

As an informatics engineer i do realize that managed language are the future.

No, they are the past. First computer languages were "managed" and running on virtual machines.

The reason unmanaged languages appeared is because of horrible impedance mismatch between the way hardware works and the way programmers are forced to think. This mismatch, especially in informatics sector is due to race to bottom.


remember c++ code is translated to asm code I bet that in 20 years PCs will have frameworks installed on the hardware (like DX) and then c++ will die. Programming is evolving in the way that, no matter how is done, software has to be written in the way you think, take a look at python

#10 mrchrismnh   Members   -  Reputation: 82

Like
0Likes
Like

Posted 13 September 2011 - 11:58 AM

Voted 20, which is a massive underestimate but to say "never" is absurd, because it means after the heat death of the universe Lovecraftian horrors will be programming in C++.


"It's like naming him Asskicker Monstertrucktits O'Ninja" -Khaiy


#11 Antheus   Members   -  Reputation: 2397

Like
0Likes
Like

Posted 13 September 2011 - 12:05 PM

Programming is evolving in the way that, no matter how is done, software has to be written in the way you think, take a look at python


Again, Python cannot be used to implement OS, database, web client or anything similar. Compile it to machine code if you will - it cannot be done. But feel free to show an example.

For comparison, WIMP (aka Windows/OSX) user interface was first demoed in 1960s on hardware that had less computing power than a wrist watch or a clothes washer today. Yet there is not a single case where Python (or similar language) would be shown to be capable of anything remotely close to that simplicity.

remember c++ code is translated to asm code

That doesn't matter. Managed code as provided by languages today has an impedance mismatch - it's wrong for the hardware that is running it. The assumptions it makes make it impossible to implement some fundamental concepts needed for such functionality.

ASM and C/C++(D, Go, ...) however have 1:1 parity. Concepts from either can be expressed in each of them. So either you build hardware with functionality which your language is incapable of using or you build a language that allows that.

Programming is evolving

My only wish is that we are not stuck with stone age tools like Python in 20 years.

In 20 years I expect: "Tea, Earl Gray, hot" and no less. Because I sure as hell won't be writing for loops then.

The so-called evolution of computer languages is not. There has been not even an inch of progress in that regard for past 30 years. Last invention, for better or worse, was OO.

#12 kunos   Crossbones+   -  Reputation: 2207

Like
1Likes
Like

Posted 13 September 2011 - 12:06 PM

I love managed languages, the .NET world, C# and F#.. I really do.

But performance increase in hardware is not as fast as it used to be, it's quite easy to see a slow down in that respect. For this reason, being able to squeeze out that little bit of performance (be it by pure computational power or by clever memory management) will be as relevant in 10 years than it is now, perhaps more.

On the other hand, JITted runtimes are getting better and better, smarter and smarter.. so maybe there's still hope.
Stefano Casillo
Lead Programmer
TWITTER: @KunosStefano
AssettoCorsa - netKar PRO - Kunos Simulazioni

#13 Yours3!f   Members   -  Reputation: 1338

Like
-2Likes
Like

Posted 13 September 2011 - 12:12 PM

I hope it will never-ever because its the only language I'm good at :)

to take it seriously I think because someone can't handle c++ (and uses c# etc.) doesn't mean that it should be avoided. It only means that c# is good for learning programming and c++ is for hardcore, performance-aware programmers.

#14 Arthur Souza   Members   -  Reputation: 1418

Like
0Likes
Like

Posted 13 September 2011 - 12:25 PM

I hope it will never-ever because its the only language I'm good at :)

to take it seriously I think because someone can't handle c++ (and uses c# etc.) doesn't mean that it should be avoided. It only means that c# is good for learning programming and c++ is for hardcore, performance-aware programmers.


This stupidity of "if others dont use it is because they cant handle it" and "I > U" stuff will never die, will it?

Because awesome performance-aware pure pwnage web developers should use C++. I use C# because I suck.

A.

Lotus - Action RPG In development http://www.gamedev.n...die-rpg-engine/ |
Personal blog In Portuguese: lotuzgames.wordpress.com |


#15 Gl_Terminator   Members   -  Reputation: 448

Like
0Likes
Like

Posted 13 September 2011 - 12:27 PM


Programming is evolving in the way that, no matter how is done, software has to be written in the way you think, take a look at python


Again, Python cannot be used to implement OS, database, web client or anything similar. Compile it to machine code if you will - it cannot be done. But feel free to show an example.

For comparison, WIMP (aka Windows/OSX) user interface was first demoed in 1960s on hardware that had less computing power than a wrist watch or a clothes washer today. Yet there is not a single case where Python (or similar language) would be shown to be capable of anything remotely close to that simplicity.

remember c++ code is translated to asm code

That doesn't matter. Managed code as provided by languages today has an impedance mismatch - it's wrong for the hardware that is running it. The assumptions it makes make it impossible to implement some fundamental concepts needed for such functionality.

ASM and C/C++(D, Go, ...) however have 1:1 parity. Concepts from either can be expressed in each of them. So either you build hardware with functionality which your language is incapable of using or you build a language that allows that.

Programming is evolving

My only wish is that we are not stuck with stone age tools like Python in 20 years.

In 20 years I expect: "Tea, Earl Gray, hot" and no less. Because I sure as hell won't be writing for loops then.

The so-called evolution of computer languages is not. There has been not even an inch of progress in that regard for past 30 years. Last invention, for better or worse, was OO.


Even if you think it or not programming languages are evolving and the last invention wasnt OO, it was Aspect Oriented Programming, again take a look at python. The only reason C++ is not death is because is the best shot when programming at low level. But again take a look at cells for example Motorola cells java the JVM implemented on HW and you build all the applications on it.

#16 Antheus   Members   -  Reputation: 2397

Like
0Likes
Like

Posted 13 September 2011 - 01:02 PM

Even if you think it or not programming languages are evolving and the last invention wasnt OO, it was Aspect Oriented Programming, again take a look at python.

Ugh, AOP should never be quoted as evolution. It's the inbred child of kissing cousins.

The only reason C++ is not death is because is the best shot when programming at low level.


The question you are asking is - when will we lose access to hardware.

Imagine the day when you can no longer access hardware. Where you are provided an API by a vendor. Want to display an image, there is PlayVP8. Want H264? Sorry, not supported. Want to write custom fractal codec that has lossless compression ratio 100 times better than today's videos? Sorry, not supported. Want to play a video you recorded in Sony camera? Sorry, we only support Samsung.

Microsoft Phones are first example of this. Windows 8 will be the next. Which is ok, since you weren't planning on having a job in programming till retirement, were you? Because once things are standardized, the work can be performed by standardized workers which are being trained by million. Want to develop something better? Sorry, there is no hardware, and we control the platform. But feel free to license our stack and we might allow you to offer your new revolutionary codec as soon as you transfer all the patents to us and pay licensing fees.

Want to write new language? Sorry, we offer C# and VB. (remember Flash on Apple?). Remember how it cannot be implemented even if one wanted to?

This is the question you are asking.

But again take a look at cells for example Motorola cells java the JVM implemented on HW and you build all the applications on it.

Oh, you want to use Java chipset? Sure, just pay $2 for each application you distribute to Oracle for licensing fees. People probably think this is a joke.


Trust me, you don't want C++ to die. And by consequence C, Go, D, assembly, ...

----

Also, regarding my scenario above, my estimate is 6-10 years.

#17 Gl_Terminator   Members   -  Reputation: 448

Like
-1Likes
Like

Posted 13 September 2011 - 01:33 PM


Even if you think it or not programming languages are evolving and the last invention wasnt OO, it was Aspect Oriented Programming, again take a look at python.

Ugh, AOP should never be quoted as evolution. It's the inbred child of kissing cousins.

The only reason C++ is not death is because is the best shot when programming at low level.


The question you are asking is - when will we lose access to hardware.

Imagine the day when you can no longer access hardware. Where you are provided an API by a vendor. Want to display an image, there is PlayVP8. Want H264? Sorry, not supported. Want to write custom fractal codec that has lossless compression ratio 100 times better than today's videos? Sorry, not supported. Want to play a video you recorded in Sony camera? Sorry, we only support Samsung.

Microsoft Phones are first example of this. Windows 8 will be the next. Which is ok, since you weren't planning on having a job in programming till retirement, were you? Because once things are standardized, the work can be performed by standardized workers which are being trained by million. Want to develop something better? Sorry, there is no hardware, and we control the platform. But feel free to license our stack and we might allow you to offer your new revolutionary codec as soon as you transfer all the patents to us and pay licensing fees.

Want to write new language? Sorry, we offer C# and VB. (remember Flash on Apple?). Remember how it cannot be implemented even if one wanted to?

This is the question you are asking.

But again take a look at cells for example Motorola cells java the JVM implemented on HW and you build all the applications on it.

Oh, you want to use Java chipset? Sure, just pay $2 for each application you distribute to Oracle for licensing fees. People probably think this is a joke.


Trust me, you don't want C++ to die. And by consequence C, Go, D, assembly, ...



Of course the day when you loose access to hardware will come, but that is the day when informatics will face more serious problems than now, when a computer will manage complex things that humans do, WHO WILL CARE for a lots of stuff you care now. For the other side take an example of shader languages, they are high level languages and they run on video cards faster that any c/c++ application does. You need to understand that is natural evolution. For example you are forced to write languages and OS in Intel or AMD architecture and you don't complain about that. If you think you can make an improve you cant do anything.

#18 Serapth   Crossbones+   -  Reputation: 5456

Like
0Likes
Like

Posted 13 September 2011 - 02:19 PM

Antheus, you are somehow condemning languages based on the sins of a closed platform. The closed-ness of iOS or Windows Phone has nothing to do with ObjectiveC or C# and everything to do with the device owners arbitrarily locking down the device platform.

C++ is no different than C# or Java in this regard, it requires a runtime to be supported and a device maker can just as easily not support C++ on their device. The only real base difference is the degree of ease with which you can get direct hardware access, which with all the language interop options, is a poor argument in the first place, as you simply code that 1% in a domain specific language.


Do I think being locked away from the hardware sucks? You betcha. Do I hate the walled gardens that Apple pioneered and Microsoft ( and Amazon, etc... ) are following? You betcha. Do I hate talking like Sarah Palin? You betcha. But not one of these things has a damned thing to do with C++.


Mind you, this kind of conversation has happened again and again and again and frankly nothing changes. There is always talk about the death of languages, but frankly, languages never die, even old shitty ones that deserve to die have this innate ability to persevere. Additionally, the death of programming as a profession has been predicted so many times I have lost count. I remember reading an article in Dr Dobbs years ago about how REXX was going to make all programmers obsolete... and here we are, multiplying and still getting paid reasonably well.

#19 DarklyDreaming   Members   -  Reputation: 363

Like
0Likes
Like

Posted 13 September 2011 - 03:23 PM

BASIC isn't dead. Nor is C. Hell, not even Fortran is dead!
So, what does that tell you about C++'s chances of being dead in 'a few years'?
"I will personally burn everything I've made to the fucking ground if I think I can catch them in the flames."
~ Gabe

"I don't mean to rush you but you are keeping two civilizations waiting!"
~ Cavil, BSG.
"If it's really important to you that other people follow your True Brace Style, it just indicates you're inexperienced. Go find something productive to do."
~ Bregma

"Well, you're not alone.

There's a club for people like that. It's called Everybody and we meet at the bar."

~ Antheus


#20 Aardvajk   Crossbones+   -  Reputation: 5980

Like
0Likes
Like

Posted 13 September 2011 - 03:24 PM

Huge amount of available work is maintaining existing codebases. Last time I checked, there was still plenty of work available for FORTRAN programmers in this respect.

So question could be: When will it become cheaper to rewrite millions of lines of battle-tested code in a completely different language, re-test, re-convince our customers the new version is as reliable and be in a position to stop supporting our current library etc etc than to hire some C++ programmers and stick with what we have.

When programs were written in assembly, it probably was cost effective to upgrade to C and upgrading C to C++ was relatively painless so financially feasible in exchange for benefits (which is a huge reason for C++'s original 'better C' design and success in my view).

These choices are not made based on technology, they are made based on economics.




Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.



PARTNERS