Week 1: Why did I start learning Rust?

During long time I didn't write anything. I decided to write weekly updates about my craft - software engineering. Weekly updates is not articles which I wrote previously. It will be something smaller but regular. Eventually I will write full size article when I will collect enough information to make an article from it.
Rust
I decided to start this 2026 year from the Rust book and learning Rust. I was postponing learning Rust during couple of previous years because I was thinking that Rust is too complex and doesn't provide me a power to ship software fast. This decisions were mostly from articles and YouTube videos about Rust. So I decided to give Rust a chance and learn it by myself with trying at the practice. Also I have couple infrastructure project ideas where I want to use Rust.
First Impression
First of all I was reading The Rust Programming Language book and paused it's reading at the chapter 20 "Advanced Features" with the decision to practice Rust first and then continue reading. During these 20 chapters I had 2 times when I was thinking to give up learning Rust:
- Async programming: I was thinking: what is this? Why it's so strange and has too much words. In Go I can run goroutines in the super simple way. Even Java has more convenient syntax.
- Pointers: I don't have any fear for pointers especially after the my first programming language C, but in Rust pointers made me fill a pain.
But I had a strong feeling to keep going and continue learning because if you are not open for something new and strange you are not growing and maybe there is something unknown which you don't know that you don't know.
So I continue and eventually I got that it's super cool when I can say that this struct is on stack or on the heap and I have an explicit control on it. The same about async programming. That fact that Rust language doesn't provide an implementation for async runtime in std is still strange for me but acceptable.
But Rust has things which I do enjoy:
- Pattern matching.
- Enums with dynamic data - it's super cool.
- Borrow checker - I like that fact that I'm thinking about memory during writing a code instead of debugging OOM or performance issues at the runtime.
- Iterator pattern in collections like Java Streams.
- Error handling - no exceptions like in Java and no "if/elses" everywhere like in Go.
- Cargo - it's like Gradle as a default option. I like the possibility to build multi modular project with Cargo workspaces.
So I'm continue learning Rust and I'm thinking that I will explore more it's features during building real world systems.
Learning Path
As I mentioned at the beginning of the previous part I paused reading The Rust Programming Language book at the 20 chapter because I want to get more experience with programming with Rust before continue because at least chapter 20 about pattern matching was not so useful without a real experience of Rust coding.
So I started writing small programs in Rust:
- My own version of Find.
- Simple TCP chat with threads.
- Tokio examples from the Tokio documentation.
- REST API with Axum, Postgres and SQLx.
- Tasks Scheduler with Tokio and serde.
I built these tools during last week and finished with an idea of building something like LLM gateway or TCP proxy service and publish on GitHub. It will give me more feeling of Rust and some experience with building in it.
Also I would like to say that after coding small projects I can't say that Rust speed of development is so slow. For me it looks acceptable. Anyway will see during building couple projects.
Summary
Thanks for reading my updates, hope you enjoyed. See you in an one week!
đź“§ Stay Updated
Get weekly insights on backend development, architecture patterns, and startup building directly in your inbox.
Free • No spam • Unsubscribe anytime
Share this article
Related articles
LLM Prompt Evaluation with Python: A Practical Guide to Automated Testing
Learn how to evaluate LLM prompt quality using Python with practical examples from an open-source AI product research project. Discover automated testing techniques to ensure consistent, high-quality outputs from your AI applications while minimizing costs.
How I Built an AI-Powered YouTube Shorts Generator: From Long Videos to Viral Content
Complete technical guide to building an automated YouTube Shorts creator using Python, OpenAI Whisper, GPT-4, and ffmpeg. Includes full source code, architecture patterns, and performance optimizations for content creators and developers.
