Rust is an awesome language that empowers highly-scalable architectures, memory safety, and performances but Rust is very different from any other programming language. This is why Rust is hard to learn. If Rust is not used by math teachers this is not because Rust has ownership, lifetimes... but because any simple calculation requires type conversions between floating-point, unsigned, signed...
Indeed, numbers in Rust are painful to manipulate compared to other languages. You need to add type conversions everywhere. I think implementations should be added for Add<uX, fX>, Add<fX, uX>... where the operation keeps the most precise type between the two types. For instance, Add<f32,u8> should return a f32.
let b = 1.0;
let a = b * 2;
This doesn't work currently, as a Math teacher I can't force my students to use type conversions everywhere. I could create a crate for that but my students are using the playground so my crate is not usable. And I think this could also make Rust a little more productive if we don't have to use pointless type conversions.
Another thing that is damageable in Rust is that x++ ++x or --x x-- doesn't exist. This kind of operator is friendlier than:
{
x += 1;
x
}
I know rustaceans are very stubborn and don't want the language to be simpler but these little modifications could make rust more usable in schools.
Thank's for reading.
Leave your impressions, recommendations... below!