Rise of RUST Programming Language

Today 7% of Programmers are using Rust Programming Language and is considered as the most satisfactory Programming Language by its users. Rust offers the expressiveness of Python and the speed of C Programming Language without any memory issues.

Today, Rust is backed by Google, Microsoft, Amazon Web Services (AWS), Huawei and Mozilla. It is the most promising language and you should learn it to take advantage of rising opportunities in future.

The Timeline of Rust Programming Language is as follows:

Time Event Involved
2006 Started development of Rust Graydon Hoare
2010 Annoucement of Rust Mozilla
2015 First release of Rust Mozilla
2018 Used in Firecracker tool Amazon
2019 Used in npm Registry NPM
2020 Used in Sync Engine Dropbox
2020 Switched backend to Rust Discord
2020 Setback: Laid off Rust team Mozilla
2021 Formed Rust Foundation 5 companies
2021 Used in Fuchsia OS / Android Google

There are three factors in the rise of Rust:

  • Its focus on speed and safety
  • Widespread comparison with GoLang while it was at its peak
  • Early adoption by major companies like Amazon and NPM

What makes Rust unique?

Rust Programming Language has focus on three key points:

  • Safety
  • Control of Memory Layout
  • Concurrency

Rust aims to be the language of choice for highly concurrent and highly safe systems.

Rust aims to be memory safe so it does not support Null pointers, Dangling Pointers and Race condition in data access which have proven to cause memory related issues historically in production systems. Moreover, Rust does not have a garbage collector (which was first introducted in Java). It used "Resource Acquisition is Initialization" rule along with reference counting by borrow checker which is optional step in Rust.

Type System in Rust is inspired by Haskell Programming Language.

Historically, it has been a challenge for Programming Language to call C++ functions for within their code. Rust supports Foreign Function Interface (FFI) and has a library CXX which allows this with practically no overhead.

Some tools that are frequently used with Rust are:

  • Cargo: Build system and Package Manager of Rust
  • Rustfmt: Code formatter of Rust
  • Clippy: Linting tool for Rust
  • RLS: Language Server Protocal providing Text editors for Rust

Performance wise the goal of Rust is to be as efficient as C++ Programming Language but also provide code safety. Rust uses LLVM which is used in C++ as well and is strong supported by community. So, Rust gets direct advantages from optimizations in LLVM. Therefore, performance of Rust is good and is expected to closely match C++ as it develops.

Use case of Rust

Companies using Rust are:

  • Firecracker tool by Amazon
  • Updating npm Registry to Rust by NPM
  • Updated Sync Engine from Go to Rust by Dropbox
  • Switched backend to Rust by Discord
  • Some components in Fuchsia OS / Android in Rust by Google
  • Operating Systems built in Rust: Theseus and Redox
  • exa: An alternative to the popular command "ls"
  • Other companies using Rust in experiments like Microsoft
  • Tor is conducting experiments to port its code to Rust. It is originally written in C Programming Language.

With this, you must have a strong idea of why Rust is on the rise and if there is any new Programming Language, you should learn then, it should be Rust.