I was recently presented a challenge to write a small application in Rust.
I’ve heard a bit about Rust and how it’s shot up in the tiobe index.
So I took the course “Rust 2021 Fundamentals” by Zachary Bennett on PluralSight and whipped up RustyFileNinja. This application will create, copy, combine, and delete files.
It was a bit of a challenge to grasp some of the Rust terms. I tend to map it to existing programming languages. (Are Rust traits like Python classes?)
There are some default patterns not typically set in most languages I’ve worked in. For example, all variables are immutable by default and are disposed of after use; when are things in the heap vs the stack. I still need to get a handle on match
and the Ok()
, Err()
functionalities, among many other things. 😅
Also need to refactor the code to use dependency injection, so I can write proper tests.
This project was a many first for me. Not only was this my first time writing a Rust application, it was also my first time setting up an install/uninstall script. It also has a release pipeline, which I’ve made before, but my first time using github-actions and GitHub’s release feature.