←back to thread

451 points birdculture | 1 comments | | HN request time: 0.206s | source
Show context
ajross ◴[] No.43980170[source]
> Use String and clone() and unwrap generously; you can always refactor later

At that point you might as well be writing Java or Go or whatever though. GC runtimes tend actually to be significantly faster for this kind of code, since they can avoid all those copies by sharing the underlying resource. By the same logic, you can always refactor the performance-critical stuff via your FFI of choice.

replies(5): >>43980203 #>>43980432 #>>43980632 #>>43981812 #>>43981902 #
kaoD ◴[] No.43981902[source]
> At that point you might as well be writing Java or Go or whatever though.

And miss Option, Result, proper enums, powerful pattern matching, exhaustive pattern matching, affine types, traits, doctests... and the many other QoL features that I sorely miss when I drop to e.g. TS/Node.

I'm not using Rust for the borrow checker, but it's nice to have when I need it to hold my hand and not that much of an issue when I don't. I wanted to like Go but I just can't.

Dropping to no_std though... that was a traumatic experience.

replies(1): >>44003325 #
1. int_19h ◴[] No.44003325[source]
F#, then?