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