# Rewriting the GNU Coreutils in Rust

**URL:** <https://forum.devtalk.com/t/rewriting-the-gnu-coreutils-in-rust/10832>\
**Category:** Blogs/Articles/Talks/Podcasts\
**Tags:** rust\
**Created:** [25 June 2021 13:43 UTC](https://forum.devtalk.com/t/rewriting-the-gnu-coreutils-in-rust/10832 "2021-06-25T13:43:02Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![CommunityNews](https://forum.devtalk.com/user_avatar/forum.devtalk.com/communitynews/32/1113_2.png) [@CommunityNews](https://forum.devtalk.com/u/CommunityNews)\
**Post date:** [25 June 2021 13:43 UTC](https://forum.devtalk.com/t/rewriting-the-gnu-coreutils-in-rust/10832/1 "2021-06-25T13:43:02Z")

</div>

> As movement toward memory-safe languages, and [Rust](https://www.rust-lang.org/) in particular, continues to grow, it is worth looking at one of the larger scale efforts to port C code that has existed for decades to Rust. The [uutils project](https://github.com/uutils/coreutils) aims to rewrite all of the individual utilities included in the [GNU Coreutils](https://www.gnu.org/s/coreutils/) project in Rust. Originally created by Jordi Boggiano in 2013, the project aims to provide drop-in replacements for the Coreutils programs, adding the data-race protection and memory safety that Rust provides.

Read in full here:

> **[Rewriting the GNU Coreutils in Rust \[LWN.net\]](https://lwn.net/Articles/857599/)**
>
> As movement toward memory-safe languages, and Rust in particular, continues to
> grow, it is worth looking at
> one of the larger scale efforts to port C code that has existed for decades
> to Rust. The uutils project aims to
> rewrite all of the individual...

_This thread was posted by one of our members via one of our news source trackers._

---

<div class="post-metadata">

**Author:** ![OvermindDL1](https://forum.devtalk.com/user_avatar/forum.devtalk.com/overminddl1/32/52_2.png) [@OvermindDL1](https://forum.devtalk.com/u/OvermindDL1)\
**Post date:** [28 June 2021 15:46 UTC](https://forum.devtalk.com/t/rewriting-the-gnu-coreutils-in-rust/10832/3 "2021-06-28T15:46:07Z")

</div>

Unlike the original C code for coreutils, updating and random PR’s to the rust version is significantly safer and easier to vet. The hardest part is, of course, getting all the OS-specific-isms right that can’t really be expressed by better code unless you are very strict on a type-based programming (which I’m unsure if they are for this, at least you can to type-based programming in Rust unlike C so if not now then could be done in the future).
