Does knowing Rust make you a better Julia programmer

@jakobnissen and others have also mentioned the lack of composibility because it’s not adopted ecosystem-wide.

EDIT: There is a good discussion in this Discourse post: Better handling of pathnames
One comment asked why methods are not included for functions taking filenames in Base. I started from scratch following the example of Rust’s std::path with a type Path and PathBuf. It was relatively little work to add wrapper methods for many functions in Base (that for some reason are not wrapped in FileSystemBase). PathBuf is used for constructing paths and wraps IOBuffer. Rust’s std::path is more focused on efficiency and minimizing allocation. It may also be simpler in a way than FilePathsBase. There is no equivalent of a type hierarchy (which would be implemented with traits). It’s just two types each of which wraps a string. (Rust’s approach to mutability means it doesn’t need an IOBuffer for PathBuf.) A large amount of std::path wouldn’t make sense in Julia because of different language semantics. Still, I think it’s worth exploring. But I can’t invest much time at the moment.

2 Likes