tl;dr: Yes, for a performance-oriented, system-level language, scripting in Rust is surprisingly practical, on par with Python in this case. The Cargo build/package manager offer three big advantages compared to using a language like C or C++.
Gphoto-sort started as a small Bash script back when Google killed its link between Google Photos and Google Drive. I used the Google Drive sync tool to easily backup all of our photos. Then it was replaced by Google Takeout, which lets me download all of my Photos. Every. Single. Time. In a different directory structure.
Most photos have the timestamp in the file name so I figured I could easily fix it with script to move files from the Takeout archive into the existing tree if the file doesn’t already exist. That way I keep my directory structure and don’t have to do a full cloud backup again.
Except that I really wanted to also include my wife’s Takeout archive and de-duplicate across the two, which meant comparing file checksums. And so on… As with most software projects the scope grew and suddenly my Bash-foo was not up to task. Typically I would fail-over to Python for scripts like this but I was also learning the Rust Language and I got curious, how practical would this be in Rust, which is a system-level language like C/C++?