How long until c++ disapear from game development
#2 Moderators - Reputation: 13569
Posted 13 September 2011 - 10:11 AM
As a game (gameplay) programmer, C++ should already be dead. Managed/scripting languages have largely replaced C++ here already.
#3 Members - Reputation: 576
Posted 13 September 2011 - 10:12 AM
#4 Members - Reputation: 3828
Posted 13 September 2011 - 11:13 AM
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.
#6 Members - Reputation: 527
Posted 13 September 2011 - 11:25 AM
#7 Members - Reputation: 2369
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.
No, they are the past. First computer languages were "managed" and running on virtual machines.As an informatics engineer i do realize that managed language are the future.
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.
#9 Members - Reputation: 127
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.No, they are the past. First computer languages were "managed" and running on virtual machines.As an informatics engineer i do realize that managed language are the future.
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 Members - Reputation: 82
Posted 13 September 2011 - 11:58 AM
#11 Members - Reputation: 2369
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.
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.remember c++ code is translated to asm code
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.
My only wish is that we are not stuck with stone age tools like Python in 20 years.Programming is evolving
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 Members - Reputation: 1308
Posted 13 September 2011 - 12:06 PM
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.
#13 Members - Reputation: 546
Posted 13 September 2011 - 12:12 PM
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 GDNet+ - Reputation: 1105
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 RPG Engine - My Journal: http://www.gamedev.n...die-rpg-engine/ |
Action RPG In development using XNA 4.0. | Blog in English: en.lotusrpg.com.br |
Personal blog In Portuguese: lotuzgames.wordpress.com |
#15 Members - Reputation: 127
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.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.remember c++ code is translated to asm code
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.My only wish is that we are not stuck with stone age tools like Python in 20 years.Programming is evolving
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 Members - Reputation: 2369
Posted 13 September 2011 - 01:02 PM
Ugh, AOP should never be quoted as evolution. It's the inbred child of kissing cousins.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.
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.
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.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.
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 Members - Reputation: 127
Posted 13 September 2011 - 01:33 PM
Ugh, AOP should never be quoted as evolution. It's the inbred child of kissing cousins.
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.
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.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.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.
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 Members - Reputation: 3283
Posted 13 September 2011 - 02:19 PM
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 Members - Reputation: 330
Posted 13 September 2011 - 03:23 PM
So, what does that tell you about C++'s chances of being dead in 'a few years'?
~ 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 Members - Reputation: 2408
Posted 13 September 2011 - 03:24 PM
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.
This topic is locked





