Rust was orginally created by Graydon Hoare as a side project back in 2006.
The language was aimed at fixing all of his frustrations with the current PLs
of the time mainly C and C++. One of the most common issues that you would run
into when working with these languages was memory leaks. So he set out to create the
safest programming language he could. Three years later, Rust gained official offical
funding from Mozilla in 2009. Then it had it's first stable release May 2015.
Description of Rust
Rust is statically typed. strongly typed, expression based, multi-paradigm language designed
for system-based programming. Rust is mostly object oriented, (it doesn’t have inheritance).
It uses a system of ownership and borrowing to manage memory, because of this it does not have a
garbage collector. Because of this Rust enables concurrency. Concurrent programming is when
multiple sequences and operations are ran during overlapping periods of time. This system has
many rules that must be followed for the code to be compiled but this guarantees memory-safety and
thread-safety and is the reason why Rust is so safe.
Ownership and Borrowing
There are 3 ownership rules:
-Each value has an owner
-There can only be one owner at a time
-When the owner goes out of scope, the value is dropped
Rust allows references to values to be borrowed. This can allow for multiple parts of the code to be read the
values at the same time. Borrows enforces exclusive access. This system prevents data races, null and dangling
pointers.