At 54, after decades spent writing code in C, C++, and Python, I could think I've seen everything in the world of programming. But no. A few years ago, I stumbled upon Rust and... I fell in love. β€οΈ
It wasn't love at first sight, to be clear. Rust challenges you, forces you to think differently about memory management, concurrency, and code safety. But it was precisely this challenge that reignited that spark β¨ I felt the first time I wrote a program.
Let me tell you a story. It was the year 2000, I came from the DOS/Windows world like practically everyone else, and I was "thrown" into a project that used Unix servers. My toolkit? Basic commands to navigate folders (cd, ls...) that I used when connecting via FTP (the "s" in front of FTP wasn't even talked about back then).
Then came the moment to edit files. And that's when I discovered vi.
For someone used to "classic" visual editors, it was traumatic. Literally. I had two choices: get moved to another project or learn to live in that environment. I chose the latter.
I installed Mandrake (a Red Hat derivative) in dual boot and a new adventure began. An adventure that never ended.
Today I mainly use GNU/Linux, specifically Ubuntu. For several years I was a moderator for the Italian Ubuntu community site - an incredible experience that taught me so much about the value of knowledge sharing. Then professional and personal commitments increased and I unfortunately had to distance myself from the community, but not from the distribution. Linux remains my preferred choice for programming, I can't do without it.
Of course, I also love photography, and for this reason I've alternated Linux with a Mac for years (initially due to lack of valid alternatives). Maybe it's because of the terminal, but that experience that was supposed to be relegated to the world of photography, I never abandoned it. Today I alternate between Mac and Linux, but when I write code, I always come back home: to Linux.
And that vi that terrified me in 2000? π± It became Vim, then NeoVim, and is now one of the tools I could never give up. Funny how things turn around. π
Because explaining something is the best way to truly understand it. I started creating content on Rust for beginners, based on the assumption that if I - with all my C/C++ background - found some concepts difficult, I'm probably not the only one.
You'll find my projects here on GitHub, and I also run a YouTube channel with a complete Rust course for those starting from scratch, plus tutorials on tools I use daily: Vim/NeoVim (yes, I'm one of those who can't stop using it, and now you understand why) and Git.
- π¦ Rust projects and experiments, from basic learning exercises to more advanced concepts
- π Code examples showing the "migration path" from languages like C++ to Rust
- βοΈ Configuration files and dotfiles for Vim/NeoVim and development workflows
- π οΈ Scripts and tools for GNU/Linux environments
- π Projects comparing different programming approaches
- π Learning resources and code that reflects my journey (mistakes included!)
You are:
- π€ Curious about Rust but don't know where to start
- π Coming from C/C++ or Python and want to understand what makes Rust different
- β‘ Looking to improve your workflow with Vim/NeoVim and Git
- π§ Using or wanting to use GNU/Linux for development
- π Someone who believes age is just a number when it comes to learning
- π Experiencing (or have experienced) a technological transition that seems challenging
I believe in learning by doing and sharing what you learn. I'm not a guru, I'm a developer who after many years still has a hunger for knowledge. I learned vi because I had no choice, I embraced Linux because it opened up a world to me, and today I'm learning Rust because it challenges me.
And if I can make the path easier for someone else by sharing the obstacles I've overcome and those I'm still overcoming, all the better.
Welcome to my GitHub profile. Feel free to explore, fork, and reach out!
Marco
- π Blog- My blog
- πΊ YouTube Channel - Complete Rust course + tutorials on Vim and Git
- π Mastodon - Follow me on the fediverse
- π¦ X - Quick updates and thoughts
- π» GitHub - My projects and code