• Announcements

    • khawk

      Download the Game Design and Indie Game Marketing Freebook   07/19/17

      GameDev.net and CRC Press have teamed up to bring a free ebook of content curated from top titles published by CRC Press. The freebook, Practices of Game Design & Indie Game Marketing, includes chapters from The Art of Game Design: A Book of Lenses, A Practical Guide to Indie Game Marketing, and An Architectural Approach to Level Design. The GameDev.net FreeBook is relevant to game designers, developers, and those interested in learning more about the challenges in game development. We know game development can be a tough discipline and business, so we picked several chapters from CRC Press titles that we thought would be of interest to you, the GameDev.net audience, in your journey to design, develop, and market your next game. The free ebook is available through CRC Press by clicking here. The Curated Books The Art of Game Design: A Book of Lenses, Second Edition, by Jesse Schell Presents 100+ sets of questions, or different lenses, for viewing a game’s design, encompassing diverse fields such as psychology, architecture, music, film, software engineering, theme park design, mathematics, anthropology, and more. Written by one of the world's top game designers, this book describes the deepest and most fundamental principles of game design, demonstrating how tactics used in board, card, and athletic games also work in video games. It provides practical instruction on creating world-class games that will be played again and again. View it here. A Practical Guide to Indie Game Marketing, by Joel Dreskin Marketing is an essential but too frequently overlooked or minimized component of the release plan for indie games. A Practical Guide to Indie Game Marketing provides you with the tools needed to build visibility and sell your indie games. With special focus on those developers with small budgets and limited staff and resources, this book is packed with tangible recommendations and techniques that you can put to use immediately. As a seasoned professional of the indie game arena, author Joel Dreskin gives you insight into practical, real-world experiences of marketing numerous successful games and also provides stories of the failures. View it here. An Architectural Approach to Level Design This is one of the first books to integrate architectural and spatial design theory with the field of level design. The book presents architectural techniques and theories for level designers to use in their own work. It connects architecture and level design in different ways that address the practical elements of how designers construct space and the experiential elements of how and why humans interact with this space. Throughout the text, readers learn skills for spatial layout, evoking emotion through gamespaces, and creating better levels through architectural theory. View it here. Learn more and download the ebook by clicking here. Did you know? GameDev.net and CRC Press also recently teamed up to bring GDNet+ Members up to a 20% discount on all CRC Press books. Learn more about this and other benefits here.
Sign in to follow this  
Followers 0
Gl_Terminator

How long until c++ disapear from game development


44 posts in this topic

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
0

Share this post


Link to post
Share on other sites
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.
0

Share this post


Link to post
Share on other sites
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.
0

Share this post


Link to post
Share on other sites
[quote]I think that C++ and company will be a thing from the past in a few years, how many I dont know[/quote]

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.

[quote]As an informatics engineer i do realize that managed language are the future.[/quote]
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.
0

Share this post


Link to post
Share on other sites
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). :)
0

Share this post


Link to post
Share on other sites
[quote name='Antheus' timestamp='1315935027' post='4861178']
[quote]I think that C++ and company will be a thing from the past in a few years, how many I dont know[/quote]

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.

[quote]As an informatics engineer i do realize that managed language are the future.[/quote]
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.
[/quote]

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
0

Share this post


Link to post
Share on other sites
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++.

0

Share this post


Link to post
Share on other sites
[quote name='Gl_Terminator' timestamp='1315936525' post='4861186']

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[/quote]

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.

[quote]remember c++ code is translated to asm code[/quote]
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.

[quote]Programming is evolving[/quote]
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.
0

Share this post


Link to post
Share on other sites
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.
1

Share this post


Link to post
Share on other sites
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.
-2

Share this post


Link to post
Share on other sites
[quote name='Yours3!f' timestamp='1315937566' post='4861191']
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.
[/quote]

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.
0

Share this post


Link to post
Share on other sites
[quote name='Antheus' timestamp='1315937126' post='4861188']
[quote name='Gl_Terminator' timestamp='1315936525' post='4861186']
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[/quote]

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.

[quote]remember c++ code is translated to asm code[/quote]
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.

[quote]Programming is evolving[/quote]
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.
[/quote]

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.
0

Share this post


Link to post
Share on other sites
[quote name='Gl_Terminator' timestamp='1315938420' post='4861198']
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.[/quote]
Ugh, AOP should never be quoted as evolution. It's the inbred child of kissing cousins.

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

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.

[quote]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.[/quote]
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.
0

Share this post


Link to post
Share on other sites
[quote name='Antheus' timestamp='1315940523' post='4861207']
[quote name='Gl_Terminator' timestamp='1315938420' post='4861198']
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.[/quote]
Ugh, AOP should never be quoted as evolution. It's the inbred child of kissing cousins.

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

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.

[quote]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.[/quote]
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, ...
[/quote]


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.
-1

Share this post


Link to post
Share on other sites
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.
0

Share this post


Link to post
Share on other sites
BASIC isn't dead. Nor is C. Hell, not even [i]Fortran[/i] is dead!
So, what does that tell you about C++'s chances of being dead in 'a few years'?
0

Share this post


Link to post
Share on other sites
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.
0

Share this post


Link to post
Share on other sites
I'm always very amused how many people around here seem to see C++ as some sort of anachronism for masochists with unreasonable performance needs. The "work" I'm doing at the moment is for scientific high performance computing. Those guys aren't even done "exploring" C++ and still sit on huge amounts of legacy Fortran code :D. I think C++ will stick especially long exactly because all the attention shifts to "higher level" stuff. I don't see any languages emerge that are seriously threatening C++'s "niche" (i.e. compiled "high level" language that is "close to the hardware"). Also, getting the last bit out of hardware is not getting easier, actually the opposite. Caching, out of order execution, vectorization etc. are not easily controlled from managed languages. Also, the VM/JIT compiler has to be written somehow... Sure C++ will lose some ground to more suitable tools in different areas, but I don't see it going away anytime soon.
0

Share this post


Link to post
Share on other sites
[quote name='japro' timestamp='1315952553' post='4861284']
I'm always very amused how many people around here seem to see C++ as some sort of anachronism for masochists with unreasonable performance needs.
[/quote]

I think few people here truly vilify C++, but in this forum they sure as hell do! There is a difference between a programmer with many years of experience working with C++ and a newbie trying to learn the basics of programming. Keep in mind the forum this conversation is being held within.

C++ [b]is[/b] a stupid beginners language.
C++ [b]is [/b]a stupid productivity language.

That said, C++ very much has its place and will continue to for a very long time.


One of the other realities, which I am kinda amazed hasn't been addressed is [i]the number[/i][b] [/b]C++ developers required has probably dropped. With a mixed language environment, most of the developers on a game project simply do not need to know C++, only a handful of team members do. Granted, that doesn't change the fact they require C++, but odds are pretty good if you get hired entry level in the game industry these days, you aren't going to actually be working in C++.
1

Share this post


Link to post
Share on other sites
Let's stop bringing up fortran and cobol shall we? We're not talking about code with high reliability requirements like banking software, or backwards compatibility requirements like an OS or something with such a difficult/esoteric domain as some scientific computing. Even in the best of cases where you re-use a core engine you keep that what? 10 years?

As Aardvajk points out, it's a matter of economics and games are inherently different in this domain than the cases where it makes sense to keep stuff like fortran around.
0

Share this post


Link to post
Share on other sites
[quote name='Antheus' timestamp='1315937126' post='4861188']
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.
[/quote]
Actually there are some changes that have happened more recently but they have all been more aimed at the architectural level of code then at the Paradigm level. Think of Mixin, aspect oriented programmingand the like not all of these have taken hold yet though.
0

Share this post


Link to post
Share on other sites
Guest
This topic is now closed to further replies.
Sign in to follow this  
Followers 0