2024-05-10 09:04:49 +00:00
<!--
2024-01-30 01:00:15 +00:00
⚠️⚠️ WARNING: This file is generated by `make render` . Do not edit manually!
See `CONTRIBUTING.md` for more information.
-->
2024-05-10 09:04:49 +00:00
< picture >
< source media = "(prefers-color-scheme: dark)" srcset = "assets/idiomatic-rust-dark.png" >
< img src = "assets/idiomatic-rust.png" / >
< / picture >
2024-01-30 01:00:15 +00:00
[![Check Links ](https://github.com/mre/idiomatic-rust/workflows/Check%20Links/badge.svg )](https://github.com/mre/idiomatic-rust/actions/workflows/check_links.yml)
2024-02-05 22:53:16 +00:00
This repository collects resources for writing clean, idiomatic Rust code.
You can find a sortable/searchable version of this list [here ](https://corrode.dev/idiomatic-rust/ ).
2024-01-30 01:00:15 +00:00
2024-05-10 09:04:49 +00:00
> _Idiomatic_ coding means following the conventions of a given language. It is
2024-01-30 01:00:15 +00:00
> the most concise, convenient, and common way of accomplishing a task in that
> language, rather than forcing it to work in a way the author is familiar with
> from a different language. - Adapted from [Tim
> Mansfield](https://github.com/tim-hr/stuff/wiki/Idiomatic-coding)
2024-02-05 22:53:16 +00:00
Contributions welcome! To add missing resources, [please refer to the contributing documentation ](https://github.com/mre/idiomatic-rust/blob/master/CONTRIBUTING.md ).
2024-01-30 01:00:15 +00:00
## ⚙ Projects
2024-05-10 09:04:49 +00:00
2024-01-30 01:00:15 +00:00
{% for project in projects %}
2024-05-10 09:04:49 +00:00
- [{{ project.title }} ]({{ project.url }} ) — {{ project.description }}
{%- endfor %}
2024-01-30 01:00:15 +00:00
## 🏋 Workshops
2024-05-10 09:04:49 +00:00
2024-01-30 01:00:15 +00:00
{% for workshop in workshops %}
2024-05-10 09:04:49 +00:00
- [{{ workshop.title }} ]({{ workshop.url }} ) — {{ workshop.description }}
{%- endfor %}
2024-01-30 01:00:15 +00:00
## 📖 Books
2024-05-10 09:04:49 +00:00
2024-01-30 01:00:15 +00:00
{% for book in books %}
2024-05-10 09:04:49 +00:00
- [{{ book.title }} ]({{ book.url }} ) — {{ book.description }}
{%- endfor %}
2024-01-30 01:00:15 +00:00
## 📰 Articles
2024-05-10 09:04:49 +00:00
2024-01-30 01:00:15 +00:00
{% for (year, resources) in articles %}
2024-05-10 09:04:49 +00:00
2024-01-30 01:00:15 +00:00
### {{ year }}
{% for resource in resources -%}
2024-05-10 09:04:49 +00:00
- [{{ resource.title }} ]({{ resource.url }} ) — {{ resource.description }}
{% endfor %}
{%- endfor %}
2024-01-30 01:00:15 +00:00
## 🎤 Talks
2024-05-10 09:04:49 +00:00
2024-01-30 01:00:15 +00:00
{% for (year, resources) in talks %}
2024-05-10 09:04:49 +00:00
2024-01-30 01:00:15 +00:00
### {{ year }}
{% for resource in resources -%}
2024-05-10 09:04:49 +00:00
- {{ resource.title }} — {{ resource.description }} [[Video ]({{ resource.url }} )]
{% endfor %}
{%- endfor %}
2024-01-30 01:00:15 +00:00
## 💬 Forum
2024-05-10 09:04:49 +00:00
2024-01-30 01:00:15 +00:00
{% for (year, resources) in forum %}
2024-05-10 09:04:49 +00:00
2024-01-30 01:00:15 +00:00
### {{ year }}
{% for resource in resources -%}
2024-05-10 09:04:49 +00:00
- [{{ resource.title }} ]({{ resource.url }} )
{% endfor %}
{%- endfor %}
2024-01-30 01:00:15 +00:00
## 📜 History
2024-05-10 09:04:49 +00:00
Coming from Python, I loved the guidelines on how _idiomatic Python_ looks like. I was inspired by the likes of Peter Norvig, who wrote amazing articles on [spellcheckers ](https://norvig.com/spell-correct.html ) and [sudoku solvers ](https://norvig.com/sudoku.html ); and, of course, the [Zen of Python ](https://www.python.org/dev/peps/pep-0020/ ). For Rust, there is no such thing as the Zen of Python, however, so I started collecting my own resources.
2024-01-30 01:00:15 +00:00
The goal of this project is to create a peer-reviewed collection of articles/talks/repos, which teach idiomatic Rust style. It's a community project and you can contribute.
## 🔏 License
[![CC0 ](https://i.creativecommons.org/p/zero/1.0/88x31.png )](https://creativecommons.org/publicdomain/zero/1.0/)
To the extent possible under law, [Matthias Endler ](https://endler.dev ) has waived all copyright and related or neighboring rights to this work.
Logo adapted from [FreePik.com ](https://www.freepik.com/free-vector/crabs-pattern-design_1093131.htm ).