Five years of Rust
- Reference: 0000820604
- News link: https://lwn.net/Articles/820604/
- Source link:
[1] https://blog.rust-lang.org/2020/05/15/five-years-of-rust.html
The annual meeting of the "You Have To Listen To Experience" Club is now in
session. Our Achievement Awards this year are in the fields of publishing,
advertising and industry. For best consistent contribution in the field of
publishing our award goes to editor, R.L.K., [...] for his unrivaled alle-
giance without variation to the statement: "Personally I'd love to do it,
we'd ALL love to do it. But we're not going to do it. It's not the kind of
book our house knows how to handle." Our superior performance award in the
field of advertising goes to media executive, E.L.M., [...] for the continu-
ally creative use of the old favorite: "I think what you've got here could be
very exciting. Why not give it one more try based on the approach I've out-
lined and see if you can come up with something fresh." Our final award for
courageous holding action in the field of industry goes to supervisor, R.S.,
[...] for her unyielding grip on "I don't care if they fire me, I've been
arguing for a new approach for YEARS but are we SURE that this is the right
time--" I would like to conclude this meeting with a verse written specially
for our prospectus by our founding president fifty years ago -- and now, as
then, fully expressive of the emotion most close to all our hearts --
Treat freshness as a youthful quirk,
And dare not stray to ideas new,
For if t'were tried they might e'en work
And for a living what woulds't we do?
Five years of Rust
Well, it took them five years to get to 1.0, so I guess ten years in all? :-)
I tried Rust for the first time a while back (I am mainly working in C++), and it's not bad at all. Solid ownership semantics, documentation written for programmers, a suitably rich standard library, supposedly a good FFI (I didn't try it myself, though). I do have some issues with how things get around error handling and Option vs. Result; it feels a bit unneededly complex. But overall a pretty positive experience.
But it's a pity that it, like almost all newer languages, really wants to own your package manager; they even go as far as making cargo a build system. (Yes, it's optional, but they recommend it even for the toy project in the Rust book, so it's pretty clear where they want you to go.) This is only fine if all your code is in a single language! The Go people solve that saying “oh, just rewrite everything in Go”, but I had higher hopes for Rust.
Five years of Rust
Well, it took them five years to get to 1.0, so I guess ten years in all? :-)
I tried Rust for the first time a while back (I am mainly working in C++), and it's not bad at all. Solid ownership semantics, documentation written for programmers, a suitably rich standard library, supposedly a good FFI (I didn't try it myself, though). I do have some issues with how things get around error handling and Option vs. Result; it feels a bit unneededly complex. But overall a pretty positive experience.
But it's a pity that it, like almost all newer languages, really wants to own your package manager; they even go as far as making cargo a build system. (Yes, it's optional, but they recommend it even for the toy project in the Rust book, so it's pretty clear where they want you to go.) This is only fine if all your code is in a single language! The Go people solve that saying “oh, just rewrite everything in Go”, but I had higher hopes for Rust.
Five years of Rust
Even earlier, Graydon Hoare started to work on Rust in 2006 :-)
Five years of Rust
Even earlier, Graydon Hoare started to work on Rust in 2006 :-)
Five years of Rust
There is cgo which makes binding C code to go and C to to go quite trivial as long as you only share data allocated on the ”C side” and don’t store references to go memory in C. Unfortunately it doesn’t play very well with valgrind as even hello world programs produce lots of warnings. Maybe there is a good supressions-config for go? If there is know please let me know!