Is the  Rust Programming Language worth Learning?

Is the Rust Programming Language worth Learning?

In this article, I'll try to help you find answer to a I had question when I picked interest in Rust - Should I learn Rust?

I hope you find answers to similar questions you might have about learning the Rust programming language

To begin with, what's Rust?

Rust is an Open source systems programming language that empower developers to build more reliable and efficient softwares.

Rust began as a side project by Graydon Hoare, while working at Mozilla, sometimes in 2006. Few years later, Mozilla picked interest in Rust and started sponsoring the development. Rust first official announcement was made in 2010.

The language development has since been championed by The Rust foundation which is a chip off Mozilla. The development is also backed by giant Tech companies like Amazon, Microsoft, Google, Meta, to mention a few.

State of Rust

Rust version 1.0 was released in 2015 and the language has won most loved language, seven years in a row, starting from 2016, according to Stack overflow Developer survey.

Over the years, the Rust programming language has been adopted by both established companies and tech startups to build varied products.

It's common use case include WebAssebly, Command Line Applications, Network Programming embedded software and Operating Systems.

A taste of Rust

Rust is a strongly typed, compiled language, the type annotation best compared to Typescript's, speaking of the programming language I've worked with.

Rust compiler ensure strict syntax compliance even for few lines of code, to ensure more secure softwares are built.

The built binaries are fast, requires less hardware resource and, like C/C++, a typical (binary) application requires the main function which essentially is the entry point of the program.

//a program to print hello world 
fn main(){
println!("Hello, World");
}

Rust, like every other modern programming language ships with tool chain to make development easier. A few :

  • Cargo: The official package manager for Rust. Think of it as npm for Node.js or composer for PHP. Cargo let you create, run and compile Rust projects, amongst other things.

  • crates.io: Official package repository. Rust dependencies are typically called crates

  • Rust analyzer: A language server. Rust analyzer was developed separately from core Rust tool chain but it got adopted in version 1.62

Uses cases and Open Source Projects

Since inception, Rust has been a forerunner of WebAssembly, a convection of building (Frontend) Web applications using languages other than JavaScript.

WebAssembly aims at running Web application at near native speed.

The language is also been used to build Redox Os, - a Unix-like Operating System, aimed at bringing the innovations of Rust to a modern microkernel and full set of applications

Helix Editor is a post-modern text editor with Language specific auto completion, goto definition, documentation, diagnostics and other IDE features with no additional configuration.

CantripOS is a secure embedded operating system for running Machine Learning applications led by Google Research team and AntMicro. The project is implemented almost entirely in Rust due to the software security the language provides.

Rust also provides mature technologies in building backend applications.

Should I learn Rust?

Personally, I believe Rust is a great technology. Howbeit, A major challenge is the steep learning curve and availability of fewer jobs for Rust developers.

Given the current trend, use cases, and adoption by start ups, the demand of Rust developers is set to rise in no distant time.

I hope you've been able to get an answer. Till the next time, I write about Rust ✌️