Hacker News new | ask | show | jobs
by bsder 972 days ago
> Rust's type system encodes more information than most languages, and so you can offload more work to it.

I suspect at least one of the developers would argue with you as I have listened to his rants. :)

Rust is a remarkably poor match to implementing Flash because Flash has lots of object orientation with child and parent pointers--which Rust really hates.

> Rust also attracts good developers in general, moreso than the average language certainly.

I suspect this is way more relevant.

3 comments

More specifically (assuming we’re talking about the same thing), the issue is with reproducing a standard C++ inheritance hierarchy (used for both the AS2/3 native objects and for the „DOM” tree nodes), while keeping its overhead characteristics, devirtualisation opportunities, having it interact with our GC and borrow checker and still have a convenient, safe Rust API on top. Our current solution works, but has deficiencies in most of these aspects.
I suspect that it's two things: (1) the relatively good support for Wasm in Rust; (2) the Cargo ecosystem. In the case of Ruffle, the combination of the two seems particularly effective.
Couldn’t you just have a global object table and make your pointers indexes into this, using Rc::Refcells throughout? Rust is still fast with runtime GC.