Foreword

I've been writing Ruby consistently since March 17, 2008. Why so specific? Well, that is the date the company I worked for hired a Cincinnati native to come talk to the engineers about a new framework called Rails.

That was essentially the day we switched all of our code repos from Subversion to Git. Why? Because that Cincinnati native was Chris Wanstrath, one of the co-founders of Github.

Learning Rails

Chris had just started working on GitHub but was still running the popular Err the Blog which talked a lot about Ruby and Rails. The company I worked at was a design consultancy mostly doing work for Proctor & Gamble, but we had many clients. The variety of clients meant jumping back and forth between projects written in a potpourri of technologies and frameworks. One minute I was working in PHP, the next .net or Java. All of which were difficult to gain momentum with. Mostly due to the bespoke nature. But this Rails thing looked interesting! We had tinkered with it on our own but opted to bring in someone with more experience to verify our thoughts. Not only did Chris verify our thoughts, but we were granted early peeks and access to GitHub. Our development process changed a lot in those two days.

Since then, I have worked on quite a few Rails apps. I've written gems and contributed to open-source Ruby projects. I still do today, although lately, my time has been split. In the last year, I've been asked to work on several projects written in Rust. This is true at my day job, where the front end is a Rust app compiled to WebAssembly, and talks to multiple backend services written in Rust. I've escaped the browser and worked on several CLI tools written in Rust as well.

While learning Rust, I couldn't help but draw comparisons to Ruby. Mostly because it was the language I was most fluent in, but beyond that, there are similarities between the ecosystems. In the Getting Started chapter, I'll quickly cover the similarities. The similarities gave me comfort at first. It meant I would at least be able to get started without a steep learning curve. This book includes my approach and notes. I've written it to help other Rubyists who would like to learn Rust either for their day jobs or simply to learn.

The use cases for the two languages may be different and Rust doesn't have a framework that occupies the majority of the mindshare like Rails, but there are things from Ruby that can be applied to Rust code and vice versa. Rust opens up some new opportunities that can supplement Ruby code. In later chapters, we'll get into ways the two languages can be used together.

As always, thanks for reading!
Mike