This might finally be the push for me to learn Rust. I'm primarily a Python developer working on Django, but I used to do embedded development in C, and Operating Systems with Remzi at UW Madison was my favorite class. It got me excited about CS. With Google and industry backing, it seems like Rust is here to stay.
wongarsu|2 years ago
https://github.com/PyO3/pyo3
MSFT_Edging|2 years ago
We had re-implemented a few mathematical and curve finding functions and even with the newest python they were uncomfortably slow.
PyO3 made it so easy to implement a runtime switchable rust library exposed to python, it was almost unnerving. By writing those handful of functions in rust we got something like a 30x speedup.
Note this was a small project with limited funding for r&d so the level of effort for performance speedup was really nice.
hintoftime|2 years ago
https://github.com/emmett-framework/granian
abdullahkhalids|2 years ago
I recently did use it for a project, and it was quite a lot of time and pain guessing what would work and what wouldn't.
jll29|2 years ago
Hopefully, the language will develop further and then reach ISO standardization - which Java cannot as it remains proprietary.
cogman10|2 years ago
The JDK has a bunch of garbage in the JDK that people shouldn't use. That stuff has to remain due to strong backwards compatibility guarantees.
Rust's approach means that non-standard stuff that we end up realizing is a mistake can quietly die off.
Now, should it be larger? Probably. I'd prefer if rustlang had a standard async/await implementation rather than leaving it up to the ecosystem. But I don't think rust needs, for example, a gui api (like swing or awt) in the standard library.
I'd prefer if rust was managed a bit more closely to the way java is managed today. Java doesn't pull in new apis willy nilly, but the ones they do pull in end up being things that have broad appeal and utility. Rust could take a look at common crates in the ecosystem and start pulling those in to the standard lib.
jasonpeacock|2 years ago
https://blog.nindalf.com/posts/rust-stdlib/
estebank|2 years ago
jasonpeacock|2 years ago
bigstrat2003|2 years ago
The first reason is because the stdlib is the only thing you can always count on being there. People are often in situations where they can't download library packages due to security procedures, and have to rely on just the stdlib. People like to complain about urllib2 still being in Python even though it's not really used any more, but I've been in situations where urllib2 was the only thing available and I was damn glad it existed.
The second reason is because the way Rust does things is horribly confusing. What's the best crate to use for X? If you are a regular in the community you probably know, but a newbie is going to have no idea which of the many available options to pick. Whereas something within the stdlib is always a reasonable choice, even if it isn't the best choice.
I really hate that the Rust community in general is so dogmatic about this topic. Having so much functionality outside the stdlib makes the language worse, not better.
steveklabnik|2 years ago
MAYBE a Ruby-style "standard dump," but I don't see why such a thing would ever be useful.
pjmlp|2 years ago
Rust is yet to have at least two fully working implementations, and language specification is ongoing.
wongarsu|2 years ago
the8472|2 years ago
Compare through how many breaking changes even high-quality ecosystems crates have gone through in the last few years.