> Does anyone know if the Rust community has ever done anything original, though?
Depends on what you call "original". Is the Servo layout engine _not_ original because layout engines already exist? :)
Moving away from the rhetorical question, I think there are several reasons to rewrite something in Rust, the first and foremost being the huge improvement in memory safety/management. The other reasons are typically related to speed: C wasn't built with concurrency in mind, and trying to develop multi-threaded C applications that run in a cross-platform manner is not straightforward. On the other hand, Rust has the following:
1) Memory safety during concurrency [1].
2) Multi-threading in the standard library [1].
3) An amazing package ecosystem revolving around "crates". And there are several build specifically to make concurrency safe and easy to implement. [2]
I guess we're doing more with graphics, which tend to require more fiddling back and forth to make it look alright, as well as having much higher expectations about interactivity than in the past.
Depends on what you call "original". Is the Servo layout engine _not_ original because layout engines already exist? :)
Moving away from the rhetorical question, I think there are several reasons to rewrite something in Rust, the first and foremost being the huge improvement in memory safety/management. The other reasons are typically related to speed: C wasn't built with concurrency in mind, and trying to develop multi-threaded C applications that run in a cross-platform manner is not straightforward. On the other hand, Rust has the following:
1) Memory safety during concurrency [1]. 2) Multi-threading in the standard library [1]. 3) An amazing package ecosystem revolving around "crates". And there are several build specifically to make concurrency safe and easy to implement. [2]
[1] https://doc.rust-lang.org/stable/book/ch16-00-concurrency.ht... [2] https://crates.io/categories/concurrency