Why Rust? Why now?
Welcome to the Integer 32 blog! We will be posting about techniques we’ve learned, applications of Rust, and projects we’re working on. I wanted to start off by explaining a bit about why we’re starting a Rust consultancy, and why we think now is a great time to try Rust.
Why Rust?
I started learning Rust mostly because of Steve Klabnik’s unbridled enthusiasm. His book “Rust for Rubyists” (which has since been deprecated in favor of his work on The Rust Programming Language book) gave me a great introduction to Rust’s safety guarantees and speed potential.
My previous professional experience has mostly been in Ruby, and I’ve spent a fair amount of time optimizing Ruby and Rails code for memory usage and runtime performance. It is possible to get Ruby and Rails to be fast and scale, but you do have to put in a decent amount of work profiling and tuning for your case. Those experiences made me want the ability to make code that could go even faster.
You might think in this case that I would have wanted to learn C, but you would be wrong. I was (and am) terrified to write C. I never felt like I really “got” pointers in the few courses I took that used C in college. Segfaults were frustrating and impenetrable to me. And I felt like I would have to study for years before I could be trusted to write production C without security holes and memory leaks everywhere.
I feel confident and empowered programming in Rust. I love that the compiler tracks safe memory management for me so that I can concentrate on what I want to make my code do. I love that I don’t have to chase down “undefined method on nil” errors at runtime since Rust prevents null pointers at compile time. The concept of “borrowing” and the guidance from the compiler about it has helped me to understand how to use pointers more than any other explanation I’ve heard.
So Jake and I decided to start Integer 32 to see if we could get paid to work in Rust! We’re excited about the possibility of helping companies try out and evaluate Rust, get comfortable using it, and ultimately helping to create more Rust jobs.
Why now?
Rust has been stable for over a year now, without needing to slow down or stop the six-week release cadence. More and more companies have been making awesome software in Rust. The crates ecosystem is vibrant and growing every day. The largest Rust project to date, the experimental web browser Servo, has started releasing nightly builds– and its rendering performance leaves the other browsers in the dust.
This, to me, is enough proof that Rust is a strong foundation to build on. and that it fulfils the promises made by its design. There’s still a learning and adoption curve to climb, but it’s not insurmountable. I think preventing entire classes of bugs with Rust’s safety guarantees by creating new projects or augmenting existing ones in Rust rather than C or C++ will pay dividends in the years to come, if we start now. I don’t want to keep making the same software mistakes over and over again, if we have the tools to prevent them.
So hello world, here we are! We’re Integer 32, we know Rust, and we have availability. Work with us.