4 ms·
Ada usage has declined a lot. F-35 is primarily C++, Ada percentage is meager, and I haven't even heard it confirmed that Java is used for anything critical, bu
by erikbye 9y ago
Ada usage has declined a lot. F-35 is primarily C++, Ada percentage is meager, and I haven't even heard it confirmed that Java is used for anything critical, but I wouldn't be surprised if it's used for some ground control stuff. NASA uses Javascript for a lot of their non-critical systems. Ada was highly specialized, and its use came with strict requirements (e.g., processor type) that have made it difficult to continue its use, not to mention lack of knowledgeable developers. In another turn, less strict DoD requirements have made it easier to use other languages. It's been quite a few years since Ada saw heavy usage in DoD projects, though it still has relevance. The legacy code base is huge.
I never meant to imply that games are comprised of only C++. Of course, you are right: a game and its tooling consist of several languages. Unreal Engine's build system is C#--but as you say, the core systems which makes sure everything's executed in time, rendering, physics, audio, are C, C++ with a bit of assembly.
And look at what Unity has to do with IL2CPP to increase performance. Unity has terrible performance because of Mono, but their work on the compiler and job system should start to pay off. In the case of Unreal Engine, you gain a lot of performance by using C++ instead of Blueprints. Even so, Blueprints already compile to bytecode and is ran in a VM and from there they call native C++ functions, they're not interpreted as is. Not that that has much relevance to what we're talking about, perhaps, but it does show that making a system like Blueprints is a significant performance compromise you always try to make up for. Epic recommends you use Blueprint Nativization (generating native code from your BPs) for increased performance, and just use C++ outright for heavy lifting parts. It's not without reason that Epic decided to drop UnrealScript and just use C++ as their scripting language, as well.
This comment came to be about Unreal Engine. I don't want to detract from Blueprints though; they're great at what they do. And not to be thought of as just visual scripting for people who can't program or something for only your artists/designers to use. A mistaken thinking many seem to share. It's best to use a combination of the two for easy gameplay scripting and iteration. Just write C++ and expose it to your BPs.