PoetGrant's Press

Inside the Mind of PoetGrant

Adventures with Rust

May 02, 2019 — Grant Ford

So I have been playing with multiple different languages over the past couple of months. I think I have found one that fits my wants and needs. After starting to learn C, I was beginning to think that I just get too bored too easily. That is probably true, but I think I have found a language that doesn't bore me. Rust is a language that has a fantastic book to accompany it called The Rust Programming Language that is extremely readable and easy to follow. 'The Book', as it is apparently called by 'Rustaceans', doesn't aim to teach beginner computer science, so it is good to have at least a little programming under your belt before using it. So far, I have been able to comprehend everything, so I guess Python qualifies as a comprehension helper. It is funny because a few years ago if I had started reading this book I would have been completely lost, but not now, thank god.

So I have chosen Rust mainly because of the awesome documentation behind the language and the projects. The more I learn of the language, the more I think documentation and helpfulness seem to be built into the language itself, if that makes any sense. It isn't something specific, but rather an underlying 'feeling' to how everything is structured that seems to encourage this type of behavior.

Until now, I have been all about learning languages like C and Python because they are the grandfathers of a lot of modern languages. Rust offers me instant gratification, like Python did, so that I have motivation to keep learning. Their error handling is excellent so that I can actually debug errors on my own without pulling out my hair. In addition, Rust is extremely versatile and only continues to grow in its ability.

In addition to all of that, I have mentioned before that I will be testing Redox OS, my interest has grown exponentially since working my way through the first few chapters of 'the book'. Now I would like to see more low level programming examples with Rust. Since I have only used Python, I have never really interacted with the low level stuff, and the mere thought is very enticing.

So I have begun my journey with Rust. I will be studying it for the next couple of months at the least. The end result I am hoping for is to be able to build an ASCII text editor in Rust with basic Markdown features. The reason I would like to study the low level features of the language is to help me better integrate the editor into my E-Paper Typewriter project, which brings up a new question, 'should I perhaps look into the Redox OS microkernel for the base and just have it load my editor as the main function of the whole computer?' I honestly don't know what I am doing yet, but wouldn't that be neat if I could figure out a way to do that?

If anyone has thoughts or ideas on this, please tell me! I am just now learning Rust, so I have no clue about most things at this point. But maybe in a month or so I will have a more fleshed out project in mind. Until then, send me a message on Fosstodon! Let's talk about it!