Would you have a reccomendation for a comparable alternative?
Like, I have experience with a good deal of scripting languages, sql variants… am currently trying to do Morton coding/interleaving for octrees in Godot.
I have the framework working in GDScript… theoretically, if its not performant enough, i could either attempt to transition it to C++ / GDExtension… or, potentially, I could do a ‘Rustdot’ type thing, apparently its possible to… do that.
So, while I am only really aware of Rust as a potential alternative to C++, in my specific context… would you have a broader opinion of lower level languages? I just actually don’t know much about them.
I mean, gdscript in godot is very nice and convenient. It offloads a lot of the heavy labor to the engine already and is very well optimised. If you need more speed and type safety C# is the logical next step. C# is very convenient and easy to pick up if you already know Typescript for being a strict language.
Also the guy’s criticism of C++ is basically that nothing is bundled in and keeping libraries compatible with each other is a PhD level activity. The packages are also allowed to fuck with your code with macros, preprocessing directives etc. on top of being written in a non-compatible standard where they only provide a compiled binary with an ABI instead of giving you the source. Updating dependencies becomes a massive pain also because of the same reason since it can so easily break everything without any reasonable stack trace. You might say “Ok whatever, I’ll just preprocess my C++ and rename all by variables” but dependencies can also break other dependencies with macros so there’s no escape. One dep updates, another one breaks in an 100% unrelated part of the program.
But for a reasonably sized project where C++ dependencies are already handled by Godot it’s not that bad. Especially if you’re the only developer or have at least good codebase standards on what parts of C++ you will use. I’ve personally not had any issues programming in C++ but that’s probably because I’ve never done anything at any scale whatsoever.
I don’t have a strong opinion on lower level languages since I work in garbage collected languages but I’ve heard good things about Zig, heard Rust in slow-mo development with a steep learning curve but very robust, C is nice and simple but lacks modern features.
TL;DR C++ devs would kill to get something like cargo in Rust, not because it’s a package manager but because it’s a standard for sharing code and managing compatability. If that’s not an issue for you C++ is a solid language like any other.
Genuine question:
Would you have a reccomendation for a comparable alternative?
Like, I have experience with a good deal of scripting languages, sql variants… am currently trying to do Morton coding/interleaving for octrees in Godot.
I have the framework working in GDScript… theoretically, if its not performant enough, i could either attempt to transition it to C++ / GDExtension… or, potentially, I could do a ‘Rustdot’ type thing, apparently its possible to… do that.
So, while I am only really aware of Rust as a potential alternative to C++, in my specific context… would you have a broader opinion of lower level languages? I just actually don’t know much about them.
I mean, gdscript in godot is very nice and convenient. It offloads a lot of the heavy labor to the engine already and is very well optimised. If you need more speed and type safety C# is the logical next step. C# is very convenient and easy to pick up if you already know Typescript for being a strict language.
Also the guy’s criticism of C++ is basically that nothing is bundled in and keeping libraries compatible with each other is a PhD level activity. The packages are also allowed to fuck with your code with macros, preprocessing directives etc. on top of being written in a non-compatible standard where they only provide a compiled binary with an ABI instead of giving you the source. Updating dependencies becomes a massive pain also because of the same reason since it can so easily break everything without any reasonable stack trace. You might say “Ok whatever, I’ll just preprocess my C++ and rename all by variables” but dependencies can also break other dependencies with macros so there’s no escape. One dep updates, another one breaks in an 100% unrelated part of the program.
But for a reasonably sized project where C++ dependencies are already handled by Godot it’s not that bad. Especially if you’re the only developer or have at least good codebase standards on what parts of C++ you will use. I’ve personally not had any issues programming in C++ but that’s probably because I’ve never done anything at any scale whatsoever.
I don’t have a strong opinion on lower level languages since I work in garbage collected languages but I’ve heard good things about Zig, heard Rust in slow-mo development with a steep learning curve but very robust, C is nice and simple but lacks modern features.
TL;DR C++ devs would kill to get something like cargo in Rust, not because it’s a package manager but because it’s a standard for sharing code and managing compatability. If that’s not an issue for you C++ is a solid language like any other.