People have written iOS android xplat games on rust too.
I only wished rust compiled to JS,a la scala f# et al. Not asm.js but full blown with inter-op and everything and as a publicized feature.
People have written iOS android xplat games on rust too.
I only wished rust compiled to JS,a la scala f# et al. Not asm.js but full blown with inter-op and everything and as a publicized feature.
To me, Rust makes it incredibly easier to build performant applications compared to C++. Before creating espanso, I made a couple of projects using C++, and while the language itself wasn't bad, the compilation process was a pain. Any new dependency needed to be carefully considered, as it could have introduced new problems in the build step.
On the other hand, Rust makes it a breeze. The language itself is not super easy though, but that's the price to pay for such guarantees + efficiency
Build scripts in Rust are written in Rust, not some ad-hoc declarative build language. This is a really good decision because you can do insane shit in your build scripts.
Also macros, you can generate say bindings relatively easily.
I've been doing some cross-platform GPU stuff lately and Rust makes so much of this a breeze.
I can't imagine combining C++ projects this easily.
I'm really bullish on wgpu (https://github.com/gfx-rs/wgpu-rs). It's the Rust implementation of the WebGPU standard. It goes beyond the web though, it's a really nice GPGPU API to work with and will be a popular API in the next decade.
[edit] And I'm interested in further exploring macros to create a DSL for doing some magic in the spirit of, but not quite replicating, dotnet's Linq Expressions.
I'm not sure what my opinion is yet, but "go to definition" seems to work more often than not which is nice.
And therefore also platform-independent by default, I guess?
I can use frameworks in my build script (lol at the idea of using makefile frameworks).
And I can also build up on these. Like your build script really just invokes other dependencies' build scripts. So I never really care about integrating some low-level dependency. This might work with other build systems in theory but never in practice.
Maybe I generate some assets during compile time and really want to cache these. I can legit just add some sort of disk cache framework to my build script and just serialize the paths and then load that up on recompilation instead of regenerating things.
I am getting an aneurysm just from thinking about doing this in makefiles.
- Key figures in the community that established a culture of caring about cross-platform
- Cargo making it very easy to have portable builds
- Standardized platform conditionals both for dependency declarations, for "including" files, and for individual items (e.g. functions).