The title says it all. I would like to know more about what attributes and design choices of Rust that make it a good (or bad) language for the entire ecosystem of AI (both research and production)
What I know so far:
- Rust is memory safe (unlike C) and highly performant (like C). This make Rust a good choice for building heavy lifting compute engine (like kernels in TensorFlow and PyTorch)
- Rust supports real multithreading (unlike Python) and that can potentially make it a good language for building distributed training libraries for training deep learning models
- Anecdotally, Rust has a rather steep learning curve (unlike Python) and that might scare away ML practitioners without solid CS background.
- Rust does not support scripting (unlike Python) and that might make it unsuitable for quickly exploring and prototyping ML ideas. But I am not really sure about this point. There are jupyter kernel for Rust, so creating an interactive dev environment does not seem to be impossible.
Some subfields of AI (like NLP) has become engineering heavy in the recent years. Even in research, much of effort is on curating large datasets. Two important libraries are built with Rust to purposefully handle challenges coming from curating large dataset
So modulo the anecdotal steep learning curve, Rust looks like a good programming language for doing "all kind of stuff" in AI. Evidences to counter this opinion are especially welcome.