2 ms·
The current direction in Nim is towards borrowing and borrow checking, move semantics with type annotations, and using refcounting where needed. Similar to Rus
by jlokier 5y ago
The current direction in Nim is towards borrowing and borrow checking, move semantics with type annotations, and using refcounting where needed. Similar to Rust really, which also uses refcounting where needed.
Nim had the concept of borrowing from very early on. It's not a bolt-on, it's part of the design philosophy. But it's had consistency issues. The move semantics in newer Nim improve on it.
I would say one of the major things Rust offers over Nim at the moment is the implementation quality of the Rust compiler, standard library and type systems is generally of higher quality and more consistent. Things are thought-through more completely in Rust's design, and tested more against real world problems.
The multi-threading in Rust is also of much higher quality. It's just buggy in Nim.
Nim however has a much cleaner syntax, and the quality issues could change if the community really wanted that (I don't think it does).
They both have slow compile times for large programs.