Skip to content

Commit 403cbe2

Browse files
committed
πŸ§‘β€πŸ’» Update History of Rust
1 parent d6d7fce commit 403cbe2

File tree

1 file changed

+19
-17
lines changed

1 file changed

+19
-17
lines changed

β€Žcontent/en/docs/a1.why-rust.md

+19-17
Original file line numberDiff line numberDiff line change
@@ -6,30 +6,32 @@ slug: why-rust
66
## History of Rust
77
Rust was initially designed and developed by former Mozilla employee **[Graydon Hoare](https://github.com/graydon)** as a personal project. Mozilla began sponsoring the project in 2009 and announced it in 2010. But the first stable release, Rust 1.0 was released on May 15, 2015.
88

9+
Since the initial stable release, the language has seen a series of improvements every three years through new editions; Rust 2015 with the release of Rust 1.0, Rust 2018, and Rust 2021. Each edition ensured backward compatibility with existing code.
10+
911
## Initial Goals
1012
The goal of Rust is to be a good programming language for creating highly concurrent, safe and performant systems.
1113

12-
> **"Rust is a systems programming language focused on three goals: safety, speed, and concurrency."**
13-
> \_\_ Rust Documentation
14+
> **"Rust is a systems programming language focused on three goals: safety, speed, and concurrency."
15+
> </br>~ Rust Documentation**
1416
15-
Rust is very young and very modern language. It is a **[compiled programming language](https://en.wikipedia.org/wiki/Compiled_language)** and it uses [LLVM](https://en.wikipedia.org/wiki/LLVM) on the backend. Also, Rust is a **[multi-paradigm programming language](https://en.wikipedia.org/wiki/Comparison_of_multi-paradigm_programming_languages)**, which supports imperative procedural, concurrent actor, object-oriented and pure functional styles. It also supports generic programming and metaprogramming, in both static and dynamic styles.
17+
Rust is a very young and very modern language. It's a **[compiled programming language](https://en.wikipedia.org/wiki/Compiled_language)** and it uses [LLVM](https://en.wikipedia.org/wiki/LLVM) on the backend. Also, Rust is a **[multi-paradigm programming language](https://en.wikipedia.org/wiki/Comparison_of_multi-paradigm_programming_languages)**, which supports imperative procedural, concurrent actor, object-oriented and pure functional styles. It also supports generic programming and metaprogramming, in both static and dynamic styles.
1618

17-
> πŸ”Ž One of Rust’s most unique and compelling features is [Ownership](/docs/ownership), which is used to achieve memory safety. Rust creates memory pointers optimistically, checks memory pointers’ limited accesses at compile-time with the usage of [References and Borrowing](/docs/borrowing). And it does automatic compile-time memory management by checking the [Lifetimes](/docs/lifetimes).
19+
> One of Rust’s most unique and compelling features is [Ownership](/docs/ownership), which is used to achieve memory safety. Rust creates memory pointers optimistically, checks memory pointers’ limited accesses at compile-time with the usage of [References and Borrowing](/docs/borrowing). And it does automatic compile-time memory management by checking the [Lifetimes](/docs/lifetimes).
1820
1921
## Influences
2022
Its design elements came from a wide range of sources.
2123

22-
- Abstract Machine Model: **C**
23-
- Data types: **C, SML, OCaml, Lisp, Limbo**
24-
- Optional Bindings: **Swift**
25-
- Hygienic Macros: **Scheme**
26-
- Functional Programming: **Haskell, OCaml, F\#**
27-
- Attributes: **ECMA**-335
28-
- Memory Model and Memory Management: **C++, ML Kit, Cyclone**
29-
- Type Classes: **Haskell**
30-
- Crate: Assembly in the **ECMA**-335 CLI model
31-
- Channels and Concurrency: **Newsqueak, Alef, Limbo**
32-
- Message passing and Thread failure: **Erlang**
24+
- Abstract Machine Model: C
25+
- Data types: C, SML, OCaml, Lisp, Limbo
26+
- Optional Bindings: Swift
27+
- Hygienic Macros: Scheme
28+
- Functional Programming: Haskell, OCaml, F\#
29+
- Attributes: ECMA-335
30+
- Memory Model and Memory Management: C++, ML Kit, Cyclone
31+
- Type Classes: Haskell
32+
- Crate: Assembly in the ECMA-335 CLI model
33+
- Channels and Concurrency: Newsqueak, Alef, Limbo
34+
- Message passing and Thread failure: Erlang
3335

3436
and etc.
3537

@@ -41,8 +43,8 @@ Rust compiler observes the code **at compile-time** and helps to [**prevent many
4143
## πŸ‘¨β€πŸ« Before going to the next...
4244

4345
- The following guides will be helpful for you to understand the maturity of the Rust ecosystem and the tools you need to choose, according to the area you want to master.
46+
- [Are we async yet?](https://areweasyncyet.rs/)
4447
- [Are we web yet?](http://www.arewewebyet.org/)
4548
- [Are we game yet?](http://arewegameyet.com/)
46-
- [Are we learning yet?](http://www.arewelearningyet.com/)
4749
- [Are we GUI yet?](https://areweguiyet.com/)
48-
- [Are we async yet?](https://areweasyncyet.rs/)
50+
- [Are we learning yet?](http://www.arewelearningyet.com/)

0 commit comments

Comments
Β (0)