5 ms·
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 Operati
by hintoftime 3y ago
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 3y agoIt's worth mentioning that Rust-Python interoperability is already great, in both directions, thanks to pyo3 https://github.com/PyO3/pyo3 https://github.com/PyO3/pyo3
- hintoftime 3y agoYeah, PyO3 is great. I've tried to play around with releasing the GIL from rust in Python 3.12. I would enjoy writing a WSGI/ASGI server with a Celery runtime at some point too. Or contribute to Granian. https://github.com/emmett-framework/granian https://github.com/emmett-framework/granian
- abdullahkhalids 3y agoPyO3 is great. But it needs more and better documentation. 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.
- MSFT_Edging 3y agoSeconding this. I learned a little rust and really liked its philosophy. I was then working on a small project that needed to avoid the big data science python libraries because they're miserable in terms of portability to air-gapped networks. 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.
- dralley 3y agoWhy not compile those (python scientific) libraries from source? Why would PyO3 be acceptable while e.g. numpy is not?
- MSFT_Edging 3y agoneeding to compile them on the airgapped machine introduces more dependencies. Things also get weird when your airgapped machine is a slight version off from your dev machine. There's a lot of ways around it but we've found for the size of this tool, it was preferable to just write our own handful of math functions over building out a deployment method for extra dependencies.
- jll29 3y agoI think Rust is here to stay, but I wish folks had designed a systematic standard library (as Java has) rather than let a set of crates evolve uncontrolledly. Hopefully, the language will develop further and then reach ISO standardization - which Java cannot as it remains proprietary.
- steveklabnik 3y agoI would not hold your breath for an ISO standard, ever. MAYBE a Ruby-style "standard dump," but I don't see why such a thing would ever be useful.
- jasonpeacock 3y agoHere's a good article about why Rust has a small stdlib: https://blog.nindalf.com/posts/rust-stdlib/ https://blog.nindalf.com/posts/rust-stdlib/
- jasonpeacock 3y agoWhy does Rust need ISO standardization - what is blocked by the lack of ISO standard?
- summerlight 3y agoI guess the GP didn't mean to point to ISO as an organization specifically, but overall standardization/specification efforts.
- jasonpeacock 3y agoStill, what is blocked by lack of standardization or specification? Many (all?) languages were successful before being fully specified, and many still are not (cough Python cough) yet that has not impacted their adoption, popularity, or effectiveness.
- steveklabnik 3y agoMany people misunderstand how software is written in regulated industries, and assume that a standard is necessary. In practice, this is not the case. Note that Ferrocene[1] had to produce a specification[2] in order to qualify the compiler. But there isn't a requirement that it must be a standard in any way, only that it describes how the Ferrocene compiler works. Nor that it be accepted by upstream. 1: https://ferrous-systems.com/blog/officially-qualified-ferrocene/ https://ferrous-systems.com/blog/officially-qualified-ferroc... 2: https://github.com/ferrocene/specification https://github.com/ferrocene/specification