Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Yeah, C++ is the peak language design that everyone loves...


While it has its issues, and it seems WG21 lost direction on where to drive C++, on the games, graphics and VFX industries, another language will have a very hard time imposing themselves.

Java and C# only did thanks to tooling, the unavoidable presence on Android, previously J2ME, the market success with Minecraft, XNA and Unity.

Anything else that wants to take on C and C++ for those industries had to come up with similar unavoidable tooling.


The problem with C++ isn't that core features are broken. It's that it has so many features and modes and a sprawling standard library, because of it.

The alleged goal here is to match syntax of other parts of the program, and those tend to be written in C++.


> that core features are broken

can you please explain or link some sources about this?

btw, is C++ STD really bloated? There are a lot of languages that mess in std much more stuff. E.g. python. A lot of people complaining about the lack of many library features - networking, reflection, <expected> and <optional> was added too late and so on.


Your quote is missing a key word.


In game dev they definitely do.


I think this is indeed the advantage of this paper taking C++ as the language to compile to SPIR-V.

Game engines and other large codebases with graphics logic are commonly written in C++, and only having to learn and write a single language is great.

Right now, shaders -- if not working with an off-the-shelf graphics abstraction -- are kind of annoying to work with. Cross-compiling to GLSL, HLSL and Metal Shading Language is cumbersome. Almost all game engines create their own shading language and code generate / compile that to the respective shading languages for specific platforms.

This situation could be improved if GPUs were more standardized and didn't have proprietary instruction sets. Similar to how CPUs mainly have x86_64 and ARM64 as the dominant instruction sets.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: