Love

45 points MrGrimod

Hi,
I’m a high school student from Germany so please don’t be too hard on either my English what I wrote content wise.
Beforehand, a quick note about how I got here and why I’m writing this post. I’ve been “programming” (enchanted by the “magic” of cs) for 8 years now and on that journey I’ve encountered many (engineering [philosophy]) perspective changes and looking back its just great to be able to really zoom into that process and to appreciate this complex ecosystem and me growing into it.

On this journey, programming languages have always been not more than a tool but always loved for the different concepts they follow and things they make possible. At the beginning(12yo so pls don’t judge, I’ve gotten hold in programming with java….) they have been only that, a tool or a language in which I could build things and not more than that. At some point, by chance, I got hooked on go. I was probably as hyped as I am now with Rust.
the reason has not been the reasons its promoting itself for, but purely for not being OO. I’m just really a fan of splitting function and data and writing things in a procedural manner.

I got quickly bore by go because it really restricted my possibilities (in the sense that it didn’t allow certain low-level operations which I l required(desired) for that project. But the thing that annoyed me the most was the big gap between the produced assembly and what I thought I was doing.

Then I first got to know Rust and was absolutely in love with the idea and really was angry about myself that I didn’t come up with such an obvious solution (moving the abstractions and guarantees to the compiler). I thought that if I really wanted to understand Rust I first needed to go through the “pain” of C.
I thought I would be done with C in a few months but I was so much into it C that it kept me for 2 years now and will probably never let me go. C feels like water, its the essence and I hope I will never stop working and thinking in that language. It’s not so much fascination but more appreciation that I have for C.

Then after 2 1/2 years I (a few days ago) finally touched Rust and all the expectations I had really were fulfilled. I’m so impressed by the language and that it managed to make the struggle between making abstractions and guarantees whilst not losing all (or most…) of The advantages low-level languages provide.

I really don’t know whether i sound naive, but I guess that would be okay at my age. (there are also many other things I appreciate rust for, i’m a big fan of good practices and writing secure and safe software, and Rust really seems to value that next to many other things)

I’m also fully aware that Rust will never replace C or C++ and I’m not viewing it as a replacement. It does and must have its place in the embedded/low-level ecosystem though.

I don’t really know why I wrote this text, but since I don’t, at least for now, have anybody to talk to about such things I just really felt like I would have to tell really anybody, so sorry for steeling your time lol.

(by the way, over time I wrote the same project in all three languages, the one in rust will be completed soon, but since it’s my first it will probably take a few weeks still. Go project, C, Rust)