Will we ever see an adoption of something other than C and C++?

Started by
50 comments, last by Finalspace 6 years, 6 months ago

So after coming across this thread about JAI, I got to thinking why haven't more people embraced D as the programming to use, especially over/instead of C++? But just in general, will any language ever replace C and C++? Or is the amount of inertia and legacy code too insurmountable for any other language (of that sort) to be fully embraced (ie. not be a niche language)?

Beginner in Game Development?  Read here. And read here.

 

Advertisement

D didn't really do enough to set itself apart. I am sure that something will eventually replace C++ as the de-facto standard for games development on desktop and console platforms, but it will take a while to happen on its own. It is likely to helped along by some kind of hardware assist, at this point.

In the interim, the fact that language development has become so much more accessible is more likely to result in more choice, not less, of languages that are practical for making games. I think that's a better outcome overall than simply having "the next C++" show up and take over anyhow.

2 hours ago, Alpha_ProgDes said:

But just in general, will any language ever replace C and C++?

Or will C++ replace itself (over and over)?

It seems to me that the C++ standard was quite static for a long period in the past. If we neglect the minor C++03 standard. There is a quite large gap between the C++98 and C++11 standard in the past. On the other hand, new standards evolve and will evolve much faster in the near future.

🧙

11 minutes ago, jpetrie said:

In the interim, the fact that language development has become so much more accessible is more likely to result in more choice, not less, of languages that are practical for making games. I think that's a better outcome overall than simply having "the next C++" show up and take over anyhow.

It is true that you have languages and ideas such as DrRacket which stimulate the programming of programming languages. These are however quite high-level compared to C/C++. On the other hand, one of C++ most important pillars, is there computation time and memory concerns. For example with regard to syntactic sugar, the C++ committee is never going to except something that makes more verbose code faster.

🧙

Tons of commercial games are already being made in C#.

If you're more focused on lower-level languages that can be direct replacements at the system programming level, then I'd say that since the demand for that is dropping, C and C++ are adequate. Maybe Rust/Go/Swift will be a worthy competitor in future, but I don't think there is enough critical mass.

41 minutes ago, Kylotan said:

Tons of commercial games are already being made in C#.

For the games themselves, there is a larger variety: C#, JavaScript, Elm, Lua, Boo. Even Python (slow out-of-the-box) or Clojure (requires a JVM).

But for the engine itself, C/C++ seem more common. In order to add a third, huge APIs and frameworks need to be ported as well or at least alternatives need to exist.

🧙

Sure, it's not turtles all the way down. We layer higher level languages on lower level ones. But as computers get more powerful, we're able to write less in the bottom layers.

We're standing on top of forty years of C-based APIs and libraries.  Despite some attempts to slowly port or replace parts of that legacy - thinking of the Rust Evangelism Strikeforce redoing libc, or Microsoft trying to replace Win32 with UWP - everything is stacked up on top of those old C-based foundations.  There's a lot of inertia.

D is an interesting case.  I remember articles on here at least ten years ago touting D as a replacement for C++, but it just can't seem to get much traction.  Maybe if it had one of the giant tech companies pushing it, like Google does with Go, or on a lesser scale Mozilla is doing with Rust, but ultimately the Linux kernel is C, and the Windows kernel is C/C++, Android is Java, IOS is Obj-C/Swift, and the web is Javascript.

If I had to guess, what I imagine will happen is that we're more likely to see C++ continue to morph into different directions and evolve, rather than be replaced.  I've been watching that kind of process happen with C# over the last decade, as it keeps stealing more and more ideas from F# and other functional languages

Eric Richards

SlimDX tutorials - http://www.richardssoftware.net/

Twitter - @EricRichards22

Hey guys, long time no post! Funny sequence of events that led to me checking in today.

My take: nothing will ever "replace" C++, because nothing will ever have the same degree of critical mass/hegemony that C had and C++ inherited. The language ecosystem will be more diverse and varied, with individual languages and their code being more generally portable, and practitioners more able to switch toolsets because the norm today is to have high-quality, cost-free, often open sourced implementations.

 

My other (and hotter!) take: JavaScript already "replaced" C++ as the language in which the largest subset of user-facing applications, and even server-side infrastructure, is written in.

While not used too much for game development, Python has been strong for awhile, and over the past few years has grown dramatically for some industries.

My armchair amateur opinion is that C and C++ are likely becoming the optimized ""assembly"" behind the scenes (which is what C was originally designed for anyway) for those (fewer and fewer) situations that need it, and that other languages like Python and Javascript will increasingly be used for higher level code. Right now Python and Javascript don't seem to be the dominant gamedev high level language (though they are used on occasion), but it's possible their dominance in multiple other industries will spill over to gamedev and make them defacto industry-wide for high level code.

This topic is closed to new replies.

Advertisement