Live data from Hacker News

Why AWS loves Rust, and how we’d like to help

aws.amazon.com

211–220 of 338 posts

Re: Why AWS loves Rust, and how we’d like to help

#211
post #104

Earlier quoted context omitted.

> I haven't worked long enough with C or C++ to complain about them (only about a decade or so), but I don't have any issues with those languages This may be part of the reason. Rust improves on those languages in many ways including better safety, package and build setups as well as doc setups. It's genuinely a breath of fresh air setting up and maintaining rust projects versus C++ or even Python. > I find it wholly…

I've noticed that Rust uses LLVM as well, but aren't there some significant compile time differences or am I recalling that from Go? I do definitely wish there was an easier way to go about Rust's C FFI, though. LuaJIT has spoiled me. All you do is preprocess headers and then you have access to all of the exports without having to do any work whatsoever.

Go is the language with very fast compile times; Rust's aren't particularly good, and, depending on the exact details, maybe slower than C++'s. It's pretty variable. We've been working on it but it's non-trivial.

There are tons of tools in Rust to preprocess headers, and do even more fun things like https://github.com/Hywan/inline-c-rs (which is obviously not a general solution to this problem but is interesting)

Re: Why AWS loves Rust, and how we’d like to help

#212
post #81

Am I just not "with it?" I don't see the appeal of Rust, but it gets the hottest talk in HN-town. Maybe it's just because I haven't worked long enough with C or C++ to complain about them (only about a decade or so), but I don't have any issues with those languages. And I find it wholly unappealing to abandon the existing corpus of literal decades of knowledge having been poured into those language ecosystems all in…

I kind of think it's ugly too. But I think back many years, when I was put on a project written in Perl. At first I balked at the syntax. I can see $foo on the right of the equals sign, but on the left? And $_ and @_ and regular expressions everywhere like line noise. But working with it for a bit... and all of that just disappeared as I became fluent. They just started becoming idioms in my head. And after a while,…

Yeah, sounds like I just need to get over some syntactical hangups.

Re: Why AWS loves Rust, and how we’d like to help

#213
post #65

Earlier quoted context omitted.

Chrome is "on track"? Last I remember they had a document explaining why it's not a good idea for them. I disagree with it, and would very much wish for Chrome to ship Rust, but they don't seem to be interested for now.

They're referring to this[0] I believe, which is not glowing, but does seem mildly optimistic. Specifically: > For now, Chrome investment in Rust will remain a background investigation (mostly directed towards prototyping these tools and techniques). If we become convinced this sort of interoperability is possible, we’ll revisit widespread use of Rust in Chrome [0]: https://www.chromium.org/Home/chromium-security/mem…

Looks like this will not happen soon: https://groups.google.com/a/chromium.org/g/blink-dev/c/gDA2S...

Re: Why AWS loves Rust, and how we’d like to help

#214
post #105

Earlier quoted context omitted.

The Rust community alone is so much better than anything I've seen in my 15 year programming career. The communities of statically typed programming languages were especially elitist and gatekeeping. The Rust community is welcoming.

The meme of the Rust Evangalism Strikeforce exists for a reason - because a person can't say anything remotely uncomplementary about Rust without getting dogpiled and downvoted into oblivion. The Rust community has proven itself, outside of the Rust specific forums, to be exceptionally elitist. And, as shown in a sibling thread, the founders of Rust are right there on the dogpile attacking the character and dissectin…

Most of the time, it's about people wanting to make rude remarks and less about them saying "anything remotely uncomplementary about Rust".

Re: Why AWS loves Rust, and how we’d like to help

#215
post #122

Earlier quoted context omitted.

I can give you a few reason you might like rust. - Instant boot time. Because rust is statically compiled, there's no runtime startup or anything involved with it. From dead to alive is pretty much instant. - Low memory footprint. Because rust does not use a GC, it doesn't need all the bits and pieces of memory storage that modern GCs require. The memory allocated is (close to) the minimal memory needed to run the ap…

Realistically, three of those 5 points are non-issues for C/C++ devs. The last is only relevant for certain types of workload. So you’re left with one real killer-feature of Rust: the safety. It’s a massive feature that cascades very well into pretty much anything you do... but it’s also one feature really - the benefits of which might not be particularly relevant on large established projects who have probably addre…

> addressed that problem a long time ago (in their own ad-hoc ways)

I think it's becoming increasingly clear that "addressing the problem" in C and C++ means fixing all the memory safety issues you know about. Sqlite is the posterchild of careful testing in a C codebase, and they had a serious CVE last year. Realistically, the vast majority of C and C++ projects have more bugs than that, even if they're staffed by experts who take security seriously.

But I agree with you about the cost-benefit analysis. It's not very often that security issues destroy an entire company, and trying to rewrite a large codebase might be existentially riskier more often than not.

Re: Why AWS loves Rust, and how we’d like to help

#216

Earlier quoted context omitted.

I definitely love the rustfmt thing. I think I recall gofmt existing as well? I feel like C++ can get really out of hand, so not having a cppfmt is surely a thing of jealousy.

It does exist, and importantly, existed earlier, and has effectively no configuration. This means its usage is significantly more, and more internally consistent. Frankly I am a bit jealous, but I only have myself to blame here :) There are people who like gofmt and dislike rustfmt.

Thanks for all of your contributions, Steve!

I live in JavaScript land mostly, which is the wild wild west when it comes to "the way to do things," so rustfmt is still many times better than, say, prettier and eslint. It exists AND it's part of the standard tooling!

Re: Why AWS loves Rust, and how we’d like to help

#217

Earlier quoted context omitted.

Friends of mine that are contract programmers have been ramping on Rust for the past 2-3 years claiming the number of requests for it has been increasing exponentially. I installed it two weeks ago and have been getting a feel for it. It's like if C++, C#, and npm had an offspring. I always hoped Java would make a comeback, but Rust is looking like the real deal.

Applications of Java and Rust do not overlap. As a big data engineer, Rust does not provide any advantage to me. Good luck rewritting all the big data tools from Java (Elasticsearch, Spark, Kafka, Hadoop, Neo4j, Deeplearning4j, Cassandra, Solr, Arrow, OrientDB) and all the scientific stuff from C++ (Eigen, Tensorflow, PyTorch, Jax, Halide, OpenCV and the multitude of resources for CUDA and OpenCL) and databases (MySQ…

> As a big data engineer, Rust does not provide any advantage to me

I assume that this is meant to imply that Rust doesn't provide advantages in the data engineering space. So I'll add in here -- as a data engineer myself -- that Rust is definitely providing an advantage for me. Combining it with Python (using PyO3 bindings) lets me write performant, safe code that interops with Python in a project for which Scala+Spark isn't feasible. So while Rust may not provide an advantage for you, that doesn't mean it doesn't have a potential niche for data engineering.

Re: Why AWS loves Rust, and how we’d like to help

#218

Earlier quoted context omitted.

I've noticed that Rust uses LLVM as well, but aren't there some significant compile time differences or am I recalling that from Go? I do definitely wish there was an easier way to go about Rust's C FFI, though. LuaJIT has spoiled me. All you do is preprocess headers and then you have access to all of the exports without having to do any work whatsoever.

Go is the language with very fast compile times; Rust's aren't particularly good, and, depending on the exact details, maybe slower than C++'s. It's pretty variable. We've been working on it but it's non-trivial. There are tons of tools in Rust to preprocess headers, and do even more fun things like https://github.com/Hywan/inline-c-rs (which is obviously not a general solution to this problem but is interesting)

Oh very cool. Maybe I should spend some more time looking into those. Thanks for pointing that out!

Re: Why AWS loves Rust, and how we’d like to help

#219

I believe that's Amazon, Microsoft and Facebook all looking to get involved in core Rust development (I think partially triggered by the Mozilla layoffs). If anybody was still harbouring doubts about Rust's future, now is the time to lay them aside.

Great thing but I feel these companies are just too clever for Rust. Rust is a developer’s delight and I don’t want it to become like C++, and I feel the C++ standard got worse especially after these so-called great companies became a part of the standards committee. Or take the example of Web, made worse after the Googles and the Apples of the world got in. So I have mixed feelings about too many clever people doing…

From the article:

> Let’s be clear: We understand that we are net beneficiaries of the exceptional work that others have done to make Rust thrive. AWS didn’t start Rust or make it the success that it is today, but we’d like to contribute to its future success.

Re: Why AWS loves Rust, and how we’d like to help

#220
post #105

Earlier quoted context omitted.

The Rust community alone is so much better than anything I've seen in my 15 year programming career. The communities of statically typed programming languages were especially elitist and gatekeeping. The Rust community is welcoming.

The meme of the Rust Evangalism Strikeforce exists for a reason - because a person can't say anything remotely uncomplementary about Rust without getting dogpiled and downvoted into oblivion. The Rust community has proven itself, outside of the Rust specific forums, to be exceptionally elitist. And, as shown in a sibling thread, the founders of Rust are right there on the dogpile attacking the character and dissectin…

I've come to the conclusion that many people just project whatever they want onto these kinds of conversations, positive and negative.

For example, in my comment, I very much said "made it seem" and suggested that maybe people were misunderstanding the poster, not attacking their character.

Many people post many negative things about Rust, including those who are its most fervent advocates. But the gray areas mean there's places where people can post things and some people say "ugh any criticism is downvoted" and others can say "wow this is an absolutely off-topic, baseless criticism" and both will walk away feeling right.

Post reply on HN