Writing Varnish modules in Rust
info.varnish-software.com
info.varnish-software.com
Rust isn't my favorite language, but it's a substantial improvement, at least in my goober opinion, over C and C++.
I'm totally aware that C++ has unique_ptr which can give you something relatively comparable to the Rust memory management, but I personally think that if the compiler doesn't have any kind of official idiom on the subject, it'll probably end up in the codebase. C++ kind of prides itself on being able to "write however you want", which is fine, but then that means that people might start using raw pointers, unchecked arrays, and mutation.
Could a vigilant C++ programmer replicate every feature of Rust? Absolutely, not denying that for a second. Rust doesn't give you anything as much as it enforces a paradigm.
At least that's my two cents.
Lemme first state that I am not a systems developer; I mostly do servers.
That said, some stuff that keeps Rust from being my favorite is a lack of tail-call optimization, the lack of the ability to say that a function is pure and impure (and have that enforced), and not having some concept of a green-threading library built-in.
I realize that the last point can fairly easily be implemented with a library, but the first two points keep me using Haskell.
And evidently, if I'm wrong about any of these points, don't hesitate to correct me! I'd love to have a chance to get better with the language.
EDIT: Just a note, I know that Haskell isn't a systems language and not a direct replacement for Rust. That said, I find that a lot of the features I want in Rust are things I like in Haskell.
There is some potential to add tail calls in the future, though, through a reserved keyword "be" (since destructors + tail call optimization don't get along well).
However, bear in mind that TCO and not having a GC are, if not incompatible per se, severely at odds.