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: hub/dev-environment/rust/overview.md
+12-34Lines changed: 12 additions & 34 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -4,46 +4,24 @@ description: An overview for beginners interested in developing on Windows with
4
4
ms.topic: concept-article
5
5
keywords: rust, windows 10, microsoft, learning rust, rust on windows for beginners, rust with vs code
6
6
ms.localizationpriority: medium
7
-
ms.date: 03/04/2021
7
+
ms.date: 03/24/2026
8
8
---
9
9
10
10
# Overview of developing on Windows with Rust
11
11
12
-
It's not hard to get started with [Rust](https://www.rust-lang.org/). If you're a beginner who's interested in learning Rust using Windows, then we recommend that you follow each detail of this step-by-step guide. It shows you what to install, and how to set up your development environment.
12
+
[Rust](https://www.rust-lang.org/) is a systems programming language designed for performance, reliability, and memory safety — without a garbage collector. It is widely used for operating systems, command-line tools, web servers, and anywhere low-level control matters.
13
13
14
-
> [!TIP]
15
-
> If you're already sold on Rust and you have your Rust environment already set up, and you just want to start calling Windows APIs, then feel free to jump forward to the [Rust for Windows, and the windows crate](rust-for-windows.md) topic.
14
+
Rust has topped Stack Overflow's [annual developer survey](https://insights.stackoverflow.com/survey) as the most-admired language for many years running, and Microsoft is a founding member of the [Rust Foundation](https://foundation.rust-lang.org/).
16
15
17
-
## What is Rust?
16
+
## Key concepts
18
17
19
-
Rust is a systems programming language, so it's used for writing systems (such as operating systems). But it can also be used for applications where performance and trustworthiness are important. The Rust language syntax is comparable to that of C++, provides performance on par with modern C++, and for many experienced developers Rust hits all the right notes when it comes to compilation and runtime model, type system, and deterministic finalization.
18
+
-**Cargo** — Rust's package manager and build tool. You will use it for almost everything: creating projects, adding dependencies, building, and testing.
19
+
-**crate** — the basic unit of compilation in Rust. A crate can be a binary (executable) or a library.
20
+
-**rustup** — the official installer and version manager for the Rust toolchain. It keeps your compiler and tools up to date.
21
+
-**crates.io** — the community package registry at [crates.io](https://crates.io/).
20
22
21
-
In addition, Rust is designed around the promise of guaranteed memory safety, without the need for garbage collection.
23
+
## Next steps
22
24
23
-
So why did we choose Rust for the latest language projection for Windows? One factor is that Stack Overflow's [annual developer survey](https://insights.stackoverflow.com/survey) shows Rust to be the best-loved programming language by far, year after year. While you might find that the language has a steep learning curve, once you're over the hump it's hard not to fall in love.
24
-
25
-
Furthermore, Microsoft is a founding member of the [Rust Foundation](https://foundation.rust-lang.org/). The Foundation is an independent non-profit organization, with a new approach to sustaining and growing a large, participatory, open source ecosystem.
26
-
27
-
## The pieces of the Rust development toolset/ecosystem
28
-
29
-
We'll introduce some Rust tools and terms in this section. You can refer back here to refresh yourself on any of the descriptions.
30
-
31
-
* A *crate* is a Rust unit of compilation and linking. A crate can exist in source code form, and from there it can be processed into a crate in the form of either a binary executable (*binary* for short), or a binary library (*library* for short).
32
-
* A Rust project is known as a *package*. A package contains one or more crates, together with a `Cargo.toml` file that describes how to build those crates.
33
-
*`rustup` is the installer and updater for the Rust toolchain.
34
-
**Cargo* is the name of Rust's package management tool.
35
-
*`rustc` is the compiler for Rust. Most of the time, you won't invoke `rustc` directly; you'll invoke it indirectly via Cargo.
36
-
**crates.io* (`https://crates.io/`) is the Rust community's crate registry.
37
-
38
-
## Setting up your development environment
39
-
40
-
In the next topic, we'll see how to [set up your dev environment on Windows for Rust](setup.md).
41
-
42
-
## Related
43
-
44
-
*[The Rust website](https://www.rust-lang.org/)
45
-
*[Rust for Windows, and the windows crate](rust-for-windows.md)
0 commit comments