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/blog/cpp-rust-interop/index.md
+2Lines changed: 2 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -86,6 +86,8 @@ Recognizing that a complete switch from C++ to Rust is not always feasible or de
86
86
87
87
Tyler wrote a series of blog posts on [Rust and C++ interop](https://tylerjw.dev/posts/rust-cpp-interop/) that go into great detail about integrating Rust into C++ projects, which covers FFI bindings, CMake (a build system generator for C++ projects), Cxx (a code generation tool), Conan (a C++ package manager), and more.
88
88
89
+
For an up-to-date, step-by-step guide on the tooling and strategies involved in this process, see [How to Introduce Rust into a C++ Codebase](/blog/rust-ffi-incremental-migration/).
90
+
89
91
It is recommended to start with the most safety-critical or unreliable parts of your codebase:
90
92
91
93
> What you have to do is think about how important security is at each level of the stack and how to address it in small incremental ways. - [Jeremy Soller in the Rust in Production podcast](https://corrode.dev/podcast/s02e07-system76/?t=47%3A52)
Copy file name to clipboardExpand all lines: content/blog/defensive-programming/index.md
+5-1Lines changed: 5 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -9,6 +9,10 @@ reviews = [
9
9
{ name = "Tyler Stevens", url = "https://www.linkedin.com/in/tpstevens/" },
10
10
{ name = "kat", url = "https://www.sakurakat.systems/" },
11
11
]
12
+
resources = [
13
+
"[Making illegal states unrepresentable](/blog/illegal-state/)",
14
+
"[Compile-time invariants in Rust](/blog/compile-time-invariants/)",
15
+
]
12
16
+++
13
17
14
18
I have a hobby.
@@ -738,4 +742,4 @@ By following these patterns, you can:
738
742
It's a skill that doesn't come naturally and it's not covered in most Rust books, but knowing these patterns can make the difference between code that works but is brittle, and code that is robust and maintainable for years to come.
739
743
740
744
Remember: if you find yourself writing `// this should never happen`, take a step back and ask how the compiler could enforce that invariant for you instead.
741
-
The best bug is the one that never compiles in the first place.
745
+
The best bug is the one that never compiles in the first place.
Copy file name to clipboardExpand all lines: content/blog/foundational-software/index.md
+7-3Lines changed: 7 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -8,7 +8,7 @@ template = "article.html"
8
8
series = "Rust Insights"
9
9
+++
10
10
11
-
Ten years of stable Rust; writing this feels surreal.
11
+
Ten years of stable Rust; writing this feels surreal.
12
12
13
13
It's only been *yesterday* that we all celebrated the 1.0 release of this incredible language.
14
14
@@ -49,7 +49,7 @@ The Linux kernel wasn't built in a day.
49
49
**People need time to learn.**
50
50
51
51
The whole idea of Rust is to enable **everyone** to build reliable and efficient software.
52
-
To me, it's about breaking down the barriers to entry and making larger parts of the software stack accessible to more people.
52
+
To me, it's about breaking down the barriers to entry and making larger parts of the software stack accessible to more people.
53
53
You can sit with us.
54
54
55
55
> We are committed to providing a friendly, safe and welcoming environment for all
@@ -165,7 +165,9 @@ Rust is useful in situations where the ["worse is better" philosophy falls apart
165
165
> With the right thing, designers are equally concerned with simplicity, correctness, consistency, and completeness.
166
166
167
167
I think many companies will choose Rust to build their future platforms on.
168
-
As such, it competes with C++ as much as it does with Kotlin or Python.
168
+
As such, it competes with C++ as much as it does with Kotlin or Python [^sustainability].
169
+
170
+
[^sustainability]: This also raises the question: ["Will Rust be alive in 10 years?"](/blog/rust-in-ten-years/) And to me the answer is clear: many large organizations have already bet on it and are building their future on top of it. Rust is here to stay.
169
171
170
172
I believe that we should shift the focus away from memory safety (which many other languages also offer) and instead focus on the explicitness, expressiveness, and ecosystem of Rust that is highly competitive with these languages.
171
173
It is a language for teams which want to build things *right* and are at odds with the "move fast and break things" philosophy of the past.
@@ -202,6 +204,8 @@ There is more to be said about supply-chain security and sustainability in a fut
202
204
## Rust Is A Language For Decades
203
205
204
206
Building foundational systems is rooted in the profound belief that the efforts will pay off in the long run because organizations and society will benefit from them for decades.
207
+
([Long-term Rust Project Maintenance](/blog/long-term-rust-maintenance/) covers the day-to-day work of keeping a Rust codebase healthy over years: dependency management, API design, release automation, and more.)
208
+
205
209
We are building systems that will be used by people who may not even know they are using them, but who will depend on them every day; that's critical infrastructure.
206
210
207
211
And Rust allows us to do so with great ergonomics.
Copy file name to clipboardExpand all lines: content/blog/idiomatic-rust-resources/index.md
+9Lines changed: 9 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -16,9 +16,18 @@ Here's a curated list of resources to **help you write ergonomic and idiomatic R
16
16
The list is open source and [maintained on GitHub](https://github.com/mre/idiomatic-rust), and contributions are always welcome!
17
17
18
18
Discover a wealth of tutorials, workshops, and articles created by Rust experts, all aimed at helping you become a better Rust programmer. Each resource is peer-reviewed to ensure adherence to Rust best practices. Plus, you can easily filter, sort, and search by tags, year, and difficulty level to find exactly what you need.
Copy file name to clipboardExpand all lines: content/blog/memory-safety/index.md
+3-1Lines changed: 3 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -194,6 +194,8 @@ As I wrote in a recent post on [choosing Rust](https://endler.dev/2025/choosing-
194
194
195
195
Google, Microsoft, Amazon, Meta, Cloudflare, and Discord have all independently arrived at the same conclusion and are investing heavily in Rust for their critical infrastructure. [Microsoft's CTO of Azure stated](https://x.com/markrussinovich/status/1571995117233504257) that new projects should be written in Rust rather than C or C++. Both the [Linux kernel](https://docs.kernel.org/rust/) and the [Windows kernel](https://x.com/markrussinovich/status/1656416376125538304) now contain Rust code.
196
196
197
+
If you're sceptical about Rust's long-term viability before committing to it, I wrote an [article on the ecosystem maturity, corporate investment, and funding structures that make Rust a sound long-term bet](/blog/rust-in-ten-years/).
198
+
197
199
## The Cost of Waiting
198
200
199
201
Some organizations look at this landscape and think: "We'll wait for the regulations to be finalized. We'll act when we have to."
@@ -230,7 +232,7 @@ At a minimum:
230
232
231
233
1.**An inventory of memory-unsafe code** in your products, prioritized by risk (network-facing code, cryptographic operations, data parsing).
232
234
2.**A plan for new development** in a memory-safe language.
233
-
3.**A migration strategy** for high-risk existing components, potentially through incremental Rust rewrites using the FFI (Foreign Function Interface).
235
+
3.**A migration strategy** for high-risk existing components, potentially through incremental Rust rewrites using the FFI (Foreign Function Interface). See [How to Introduce Rust into a C++ Codebase](/blog/rust-ffi-incremental-migration/) for a deep guide on tooling, build system integration, and migration patterns if you're coming from C++.
234
236
4.**Interim mitigations** for code that won't be migrated soon (compiler hardening, fuzzing, static analysis).
235
237
5.**Timeline and milestones** showing a credible, prioritized reduction of memory safety vulnerabilities.
0 commit comments