You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: content/en/docs/a1.why-rust.md
+4-2
Original file line number
Diff line number
Diff line change
@@ -4,11 +4,13 @@ slug: why-rust
4
4
---
5
5
6
6
## History of Rust
7
+
7
8
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.
8
9
9
-
Since Rust 1.0, major updates have been released as [`Editions`](https://doc.rust-lang.org/stable/edition-guide/editions/) approximately every three years: Rust 2015 (with the release of Rust 1.0) , Rust 2018, Rust 2021, and Rust 2024, all maintaining backward compatibility.
10
+
Since Rust 1.0, major updates have been released as [`Editions`](/docs/cargo-crates-and-basic-project-structure/#rust-editions) approximately every three years: Rust 2015 (with the release of Rust 1.0) , Rust 2018, Rust 2021, and Rust 2024, all maintaining backward compatibility.
10
11
11
12
## Initial Goals
13
+
12
14
The goal of Rust is to be a good programming language for creating highly concurrent, safe and performant systems.
13
15
14
16
> **"Rust is a systems programming language focused on three goals: safety, speed, and concurrency."
@@ -19,6 +21,7 @@ Rust is a very young and very modern language. It's a **[compiled programming la
19
21
> 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).
20
22
21
23
## Influences
24
+
22
25
Its design elements came from a wide range of sources.
23
26
24
27
- Abstract Machine Model: C
@@ -35,7 +38,6 @@ Its design elements came from a wide range of sources.
35
38
36
39
and etc.
37
40
38
-
39
41
Rust **doesn't use a built-in runtime** or an automated garbage collection system \(GC\).
40
42
41
43
> 💡 However, async Rust requires an async runtime, which is provided by community-maintained crates like [`tokio`](https://github.com/tokio-rs/tokio), [`async-std`](https://github.com/async-rs/async-std), [`soml`](https://github.com/smol-rs/smol) etc. The async runtime will be bundled into the final executable.
Copy file name to clipboardExpand all lines: content/en/docs/a4.cargo-crates-and-basic-project-structure.md
+4-6
Original file line number
Diff line number
Diff line change
@@ -117,17 +117,15 @@ This is how [Cargo documentation describes](https://doc.rust-lang.org/cargo/guid
117
117
118
118
## Rust Editions
119
119
120
-
The language has seen a series of improvements every three years through new editions since its initial stable release in 2015, including the initial version, **Rust 2015**, followed by **Rust 2018**, and the latest, **Rust 2021**.
120
+
Rust guarantees backward compatibility while introducing major updates to the language. To support this, the `edition` field was added to the `Cargo.toml` file in Rust 2018, marking the first major update to the language ecosystem three years after its initial release. Editions are opt-in, meaning existing crates will not experience these changes until they explicitly migrate to the new edition.Rust guarantees backward compatibility between editions, allowing crates using older editions of Rust to interoperate seamlessly with those using newer versions.
121
121
122
-
The `edition` key in the `Cargo.toml` file denotes the edition of the Rust compiler to be used for compiling the crate. Editions are opt-in, meaning existing crates will not see these changes until they explicitly migrate to the new edition. Rust guarantees backward compatibility between editions, allowing crates using older editions of Rust to interoperate seamlessly with those using newer versions.
123
-
124
-
For new projects created by `cargo new`, it will set `edition = "2021"` by default in the `Cargo.toml` file. For example,
122
+
For new projects created by `cargo new`, it will set `edition = "2024"` by default in the `Cargo.toml` file. For example,
0 commit comments