Live data from Hacker News

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

aws.amazon.com

321–330 of 338 posts

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

#321

Earlier quoted context omitted.

No problem. Some links to get you started: * https://crates.io/crates/bindgen (generate Rust FFI from headers) * https://crates.io/crates/cbindgen (the inverse of bindgen) * https://cxx.rs/ (a similar tool to bindgen, newer)

That's it right there. You may have just won me over by pointing these out. It's just so hard to go back to writing bindings mostly by hand instead of the other way around. I've generated thousands of bindings for all sorts of things, so it's really critical to my work. Thanks again, Steve. And for all your patience, too.

For what it's worth, I think it's great that you are willing to at least reconsider the pros/cons of Rust when presented to you, even if it's not enough to change your mind.

I believe your issue with the "Rust hype" is that your pain points are different from the pain points of many other Rust users, and when they tell you that Rust is great for reasons A, B, C, you say to yourself, "so what?" But maybe you'd find Rust useful for less often cited reasons X, Y, Z, and you'll like it once you use it in earnest. Maybe you won't, and Rust isn't for you. And that's okay, too.

Also, kudos to Steve. I sincerely admire your politeness and patience when confronted with less polite, less patient posts. You're probably the best ambassador the Rust community could have.

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

#322
post #40

Earlier quoted context omitted.

What clusterfuck? The current version module system works if people can maintain compat. If not, nothing will save you.

It took them like a decade to get there though, all the while telling the entire non-Google world that they must be doing something wrong if they want versioning for their dependencies.

That was never the position and lots of third party tools sprung up to make things work once the vendor folder was added in Go 1.5. That was three years after the language was released.

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

#323
post #321

Earlier quoted context omitted.

That's it right there. You may have just won me over by pointing these out. It's just so hard to go back to writing bindings mostly by hand instead of the other way around. I've generated thousands of bindings for all sorts of things, so it's really critical to my work. Thanks again, Steve. And for all your patience, too.

For what it's worth, I think it's great that you are willing to at least reconsider the pros/cons of Rust when presented to you, even if it's not enough to change your mind. I believe your issue with the "Rust hype" is that your pain points are different from the pain points of many other Rust users, and when they tell you that Rust is great for reasons A, B, C, you say to yourself, "so what?" But maybe you'd find Ru…

Yeah, I think you hit the nail on the head.

I think the biggest thing I'm worried about from my end is I just work with so much C and C++ I can't attempt to do programming that takes away from being productive. I don't have the hours for it. I don't recall the Rusts docs yelling out to me, "Don't forget! C FFI bindings can be generated!" But at least Steve was able to point out some libs to me that would help with my work.

I'm OK with a small productivity hit because learning something new will always entail that, but the long term benefits need to be there. I'm almost always more worried about shipping than I am about anything technical.

That being said I think I can see some benefits over the horizon. In C and C++ land, there are a lot of people who don't use std or boost for one reason or another, and I've worked in circles where I had exposure to that type of programming. Honestly, just the fact that I might be able to rely on Rust's libraries OOTB could be a productivity gain right there.

I have the "Hello, World!" rust app on my workstation, so I've given it a small try. I'd be curious to see how other powerful concepts like threading work in Rust, but that's reading I've got to do.

It's difficult trying to sort out threading concerns from Lua, another language I use frequently, since the most common distributions aren't thread-safe without some work. I'd be interested in seeing what a Rust + Lua software integration could look like, since that might be a successor to the C work I do now.

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

#324
post #317
post #306

Earlier quoted context omitted.

> I also pointed out that Rust has to win the mindshare of C++ programmers first, before even reaching other ecosystems C++ is just a tool, as is Rust. Rust does not need to win the mindshare of C++ programmers first to become successful. It only needs to itself as a viable alternative in whatever fields people find it useful. I believe it has. Between WASM, embedded, and even Web development, I see a lot of "mindsha…

Coffeescript also won a lot of mindshare, the point is keeping it for decades.

Coffee Script is a transpiled language and it has become irrelevant when lot of the language features it offered is now natively available in ES6 and up (it has definitely inspired lot of ES6 features like fat arrow functions).

Rust on the other hand is not a thin layer on top of something like Coffee script. So it does not need to keep up with 'something' for decades. As long as it continues to do its current job of making systems programming safer and fun, it is going to be here for a long long time.

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

#325
post #321

Earlier quoted context omitted.

For what it's worth, I think it's great that you are willing to at least reconsider the pros/cons of Rust when presented to you, even if it's not enough to change your mind. I believe your issue with the "Rust hype" is that your pain points are different from the pain points of many other Rust users, and when they tell you that Rust is great for reasons A, B, C, you say to yourself, "so what?" But maybe you'd find Ru…

Yeah, I think you hit the nail on the head. I think the biggest thing I'm worried about from my end is I just work with so much C and C++ I can't attempt to do programming that takes away from being productive. I don't have the hours for it. I don't recall the Rusts docs yelling out to me, "Don't forget! C FFI bindings can be generated!" But at least Steve was able to point out some libs to me that would help with my…

there’s a number of Lua bindings, but some of the semantics are indeed very tough. The game dev community is maintaining the most famous bindings https://github.com/amethyst/rlua/issues/174

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

#326
post #318

Earlier quoted context omitted.

> it needs to have at least a killer app with an ecosystem around it Give it 20 years and I can see it doing to Python what Python did to R.

On lifesciences, R still wipes the floor to Python.

Moreover, Logo-based and Lisp programming environments are more popular than other people think. Netlogo is heavily used in social sciences. Hard to think that even Python and R can displace those since they are so well suited for that kind of programming (agent manipulation).

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

#327
post #317

Earlier quoted context omitted.

Coffeescript also won a lot of mindshare, the point is keeping it for decades.

Coffee Script is a transpiled language and it has become irrelevant when lot of the language features it offered is now natively available in ES6 and up (it has definitely inspired lot of ES6 features like fat arrow functions). Rust on the other hand is not a thin layer on top of something like Coffee script. So it does not need to keep up with 'something' for decades. As long as it continues to do its current job of…

As long as it has an OS SDK to make it relevant for tier 1 systems programming.

Meaning coming in Apple, Google, Microsoft, Nintendo, Sony, AMD, NVidia, random IoT OS vendor SDK, with bindings to all relevant OS libraries.

So far, Rust/WinRT seems to be the only thing into that direction, and given how C++/WinRT tooling support turned out, I rather wait and see.

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

#328
post #43

If they really want to help, the most obvious first step would seem to be to formally adopt and throw some full-time resources at the Rusoto AWS library set for Rust. It's pretty usable right now, but would certainly benefit from the level of testing, helper methods, and language-specific additions that the officially supported AWS libs have.

> If they really want to help, the most obvious first step would seem to be to formally adopt and throw some full-time resources at the Rusoto AWS library set for Rust. Is it really? Seems to me like that would easily be seen as self-serving, while putting efforts into the ecosystem as a whole means even people who don't care a whit for AWS benefit.

You ought to flip that around actually. Yes it is kind of self-serving. But if they won't do something kind of self-serving like make it much easier to use Rust on their main profit center systems, how committed are they really to making sure the language succeeds? It sounds like a good thing to me for a multi-billion dollar internet giant to have a real self-interest in the language and ecosystem succeeding, and to publicly demonstrate that by maintaining a set of interfaces to their massively profitable ecosystem in that language.

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

#329
post #307

Earlier quoted context omitted.

> it needs to have at least a killer app with an ecosystem around it Give it 20 years and I can see it doing to Python what Python did to R.

I can't absolutely say that this won't happen, but given Rust's focus on writing "correct" code, e.g. the borrow checker, etc, it's really unlikely given that one of the largest areas where Python and R shine is in exploratory data analysis. I can't imagine trying to play around with unstructured exploration of a data set in Rust's (totally reasonable) syntactic verbosity, correctness straitjackets, and compilation t…

Some of that complexity can be abstracted away with a good framework. I think it’s almost inevitable that a Pandas-like framework will eventually emerge for Rust (probably based on Arrow).

It’s also quite possible that Rust could underpin a product like Spark, with a scripting language on top.

The compilation time is a hurdle, but it’s not as if compiled languages are absent in numerical computing, for example Fortran.

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

#330
post #322

Earlier quoted context omitted.

It took them like a decade to get there though, all the while telling the entire non-Google world that they must be doing something wrong if they want versioning for their dependencies.

That was never the position and lots of third party tools sprung up to make things work once the vendor folder was added in Go 1.5. That was three years after the language was released.

[deleted]
Post reply on HN