Learning Rust – One tutorial at a time

I never wrote any programming tutorial before. That’s a paradox for those who know me, because I absolutely love to learn and teach. Why not a tutorial till now, then?

To put it briefly, I haven’t been sufficiently excited about a programming language before. Sure, there’s Python, Go, Elixir, Kotlin, and many other elegantly designed languages, I realized that at the end of the day, I’m not that interested in web development.

There are hordes of people going crazy over Laravel, Node, React, and what not. I admire these technologies, but I feel they’re not for me. I say that as a web developer, mind you.

Perhaps it’s my arrested development from my college days, when I used to dive into C, C++ and a bit of Linux that I learned later on . . . system programming, yes, that’s the term.

I’m the kind of person that’s never impressed by the “what” of things. For me, the “how” is more important. MySQL is a great database, and it performs joins really fast, but how the hell is it all tied up together? What secret sauce guarantees ACID properties, and allows master-slave replication? How do virtual machines like that of Erlang and Go manage to create and manage hundreds of thousands of lightweight processes,¬†which the operating system has no knowledge of?

Too many questions, too short a life.

I’ve done a tiny bit of Linux system programming in C, and it was intoxicating. Except that now I can’t bear the crushing hard work that C and C++ require. Not to mention memory management.

Rust is a blast of fresh air. Here’s a language that’s not only as fast as C, C++, but allows equal power, more joy, and more safety to the programmer. I like the syntax, and I like its goals. Plus this feels like the right time to hop on to a language that is going to become immensely popular.

I’ve always wanted to write a compiler and an operating system. Or at least fully understand their inner workings. Perhaps I’m too old for that dream, but Rust gives me hope that I can aim for that.

So, with all the preliminaries behind us, let’s get started.

Leave a Reply

Your email address will not be published. Required fields are marked *