Why scientists are turning to Rust:
@djoerd Don't forget to toot our own Robbert Krebbers' CACM article on safe system's programming in Rust 🙂
"The proof technique of semantic type soundness, together with advances in separation logic and machine-checked proof, has enabled us to begin building rigorous formal foundations for Rust as part of the RustBelt project."
@arjen Wow, I need to read this! *boost*
@djoerd Very cool, I'd thought that Rust's learning curve would be too steep for these use cases. Excellent that it is getting used more and more :)
A comparison to Julia would be interesting, because I heard that it is another fresh player for scientific software. The article does not mention it though, but links to https://www.nature.com/articles/d41586-019-02310-3 as a related article, which on its turn also does not mention Rust :D
@blipp @djoerd having used both of these (aka “liking rust a lot, and having just spent an hour screaming at julia because it pins absolutely everything in builds and will rebuild packages if you so much as move your project folder, how am i supposed to get that into a nix derivation”), I so far got the feeling that they’re (for now) very much separate communities without much overlap, though julia’s seems to a lot more science-y; while it is a general-purpose language I’m not aware of any larger programs that aren’t either research or tools for research, which is obviously different for rust.
Probably the most significant difference I’ve noticed so far is in how people actually code in these languages: julia is far more interactive. Rust doesn’t even have a repl, while julia seems especially popular in notebook form (e.g. jupyter / pluto.jl), either interactive or as a kind of literate programming (I’ve even seen lectures scripts as pluto notebooks); I’m not aware of anything even close to that for rust.
Apart from that, there’s lots of “convenience features” in julia, e.g. it usually comes bundled with libgmp and blas, (it even directly includes libgmp’s arbitrary precision numbers as basic data types alongside things like int64), it has a well thought-out unicode input even in the repl so you can name your variables the same as in your equations, etc.
@blipp @djoerd huh. I knew there were projects implementing a repl for rust; I didn’t yet know that there’s a jupyter kernel for it (then again, I very much dislike jupyter and how it handles — or rather doesn’t handle — global state, so I never use it unless absolutely required).
Anyways, no repl is built-in, nor (in my experience) in particularly widespread use — then again, I don’t really know anyone doing e.g. data science or similar in rust, and for my part I write servers in it (and sometimes hack compilers). And while I’d like to see more literate programming approaches for that, I don’t think implementing a webserver in a jupyter notebook is the way to go …
The "unofficial" Information Retrieval Mastodon Instance.
Goal: Make idf.social a viable and valuable social space for anyone working in Information Retrieval and related scientific research.
Everyone welcome but expect some level of geekiness on the instance and federated timelines.