Why Rust

History of Rust

Rust initially designed and developed by Mozilla employee Graydon Hoare as a personal project. Mozilla began sponsoring the project in 2009 and announced it in 2010. But the first stable release, Rust 1.0 released on May 15, 2015.

Initial Goals

The goal of Rust is to be a good language for creating highly concurrent and highly safe systems. Also Rust designed to provide speed and safety at the same time.

"Rust is a systems programming language focused on three goals: safety, speed, and concurrency." __ Rust Documentation

Rust is very young and very modern language. It's a compiled programming language and it uses LLVM on its backend. Also Rust is a multi-paradigm programming language, it supports imperative procedural, concurrent actor, object-oriented and pure functional styles. It also supports generic programming and meta programming, in both static and dynamic styles.

🔎 One of Rust’s most unique and compelling features is Ownership, which uses to achieves memory safety. Rust creates memory pointers optimistically, checks memory pointers’ limited accesses at the compiler time with the usage of References and Borrowing. And it does automatic compile time memory management by checking the Lifetimes.

Influences

Its design elements came from a wide range of sources.

  • Abstract Machine Model : C

  • Data types : C, SML, OCaml, Lisp, Limbo

  • Optional Bindings : Swift

  • Hygienic Macros : Scheme

  • Functional Programming : Haskell, OCaml, F#

  • Attributes : ECMA-335

  • Memory Model and Memory Management : C++, ML Kit, Cyclone

  • Type Classes : Haskell

  • Crate : Assembly in the ECMA-335 CLI model

  • Channels and Concurrency : Newsqueak, Alef, Limbo

  • Message passing and Thread failure : Erlang

and etc.

Rust doesn't use an automated garbage collection system(GC) by default.

Rust compiler observes the code at compiler time and helps to prevent many types of errors that are possible to write in C++

Last updated