Behind Rust Programming Language, Graydon Hoare

Daniel
3 min readAug 6, 2019

--

Photo by Jessica Ruscello on Unsplash

Rust Programming Language is like a breath of fresh air for me. Why? Today, we are in a multi-threading era. A program is not just served with a single computation core, but four, eight, and, even more! Writing a multi-threading program is not easy. We’re dealing with a problem which is not easy to debug since the execution of the program isn’t serial anymore. Race conditions are not something that you can easily avoid, especially when data is being read and modified by multiple threads unless proper locking or synchronization mechanism is being implemented.

Rust Programming Language solves the concurrency problem by introducing the immutability and ownership model. Data can be modified primarily by the owner. If a function wants to do something of the data, it has to take ownership of the data. Data which ownership is being taken can’t be modified until the ownership is being returned. This model ensures that data will be modified safely. The safety check itself is done entirely by the compiler, so it won’t affect runtime performance. As a bonus, this ownership model also eliminates the needs of a garbage collector, which is widely known to introduce hiccups in the application because of the need to suspend the application while the garbage collection routine is running.

But, did you know what Rust is actually?

I’m a language engineer by trade and usually this means I’m working on compilers or tools for other languages I didn’t have any part in designing. Naturally this sort of thing leads a person to sketch their own hobby projects. I’ve been doing so for a long time and finally decided to show one such prototype I’d been working on in my spare time to my manager at the time.

— Graydon Hoare, while being interviewed by infoq.com

Yes, Rust is actually starts as a hobby project! Graydon Hoare, formerly a member of Mozilla, is a man who is really passionate with compilers. He works on many of compiler projects, like GCC, Clang, Swift, Tracemonkey, etc, and now he becomes a programming language creator! Well, actually I learned a lot from his journey. Here are some point that I got.

Follow your passion.

Yeah, this one is important. Look how Graydon Hoare works with full of compassionate, now he made something that is so innovative! Don’t afraid to follow your passion. As you like the work that you do, you will do it with a full heart. You’ll put more attention to it and of course, you’ll have a great knowledge of the problem, and ready to propose an outstanding solution.

Start your own mini-project!

You should start your mini-project soon! Who knows that it can have the same fate as Graydon Hoare’s one? When your project is mature enough, you can start telling it to your friends, colleagues, the world over the internet, or, even your supervisor! Be brave to speak out about your own opinion. When people do find that it also solves their problem, they’ll use your mini-project, even contributing to it since they also use it, right?

Last but not least, things that Graydon Hoare did was one of the many other inventions out there. He learned so well that he successfully propose an outstanding solution, then he successfully presents his solution to the public. When you share your idea, it’s like the Stone Soup story, when people start to contribute to your idea and make it better and better. So your solution will be much stronger to solve the problem. Even, it can be used for solving problems that you initially don’t know.

If I can compiler, so can you!

— Graydon Hoare, in University of British Columbia’s introductory class

Rather than thinking about what to do after reading this blog post, why don’t you design your next mini-project? 😉

References

--

--