Reliable software engineering with Rust
<p>We all want to build reliable software that makes users happy and keeps our heads free from late-night production crashes on Fridays. But every engineer already knows some stack that can handle the users’ needs while tests can check the correctness, so why would anyone bother learning Rust?</p>
<p>You might have already heard that it’s a complicated language requiring considerable onboarding time. For me and many other devs, it wasn’t love at first sight. Memory safety didn’t sound like something I missed in my projects and Rust looks kinda boring in many other aspects.</p>
<p>Why is there so much hype around it, then? I hope this post will clarify why so many devs from all backgrounds and tech companies are getting addicted to it.</p>
<h1>My background</h1>
<p>I’ve been programming for about 12 years, starting with casual HTML and simple algorithmic problems in Pascal, but since then worked with JS, PHP, Python, and a bit of C#, C++, Go, and others. For the past two years, I’ve been learning and practicing Rust, and now I believe it stands out above all the other general-purpose programming languages I’ve encountered.</p>
<p>I don’t think that it is a panacea, though. For example, when I need to create a casual blog, I just pick up <a href="https://wordpress.com/" rel="noopener ugc nofollow" target="_blank">WordPress</a> and be done in 15 mins; when I need some heavily interactive web UI, I just take <a href="https://react.dev/" rel="noopener ugc nofollow" target="_blank">React</a> with whatever libs I might find for the task at hand; when I need to experiment with machine learning models, I’m definitely using <a href="https://pytorch.org/" rel="noopener ugc nofollow" target="_blank">PyTorch</a>. But, when I need to build something non-trivial, where performance and reliability are of concern, or the whole architecture is quite complex, <strong>Rust is my go-to choice</strong>.</p>
<p><a href="https://medium.com/globant/reliable-software-engineering-with-rust-5bb4553b5d54">Website</a></p>