Introduction - Rust for C#/.NET Developers
Light
Rust
Coal
Navy
Ayu
Rust for C#/.NET Developers
Introduction
This is a (non-comprehensive) guide for C# and .NET developers that are<br>completely new to the Rust programming language. Some concepts and constructs<br>translate fairly well between C#/.NET and Rust, but which may be expressed<br>differently, whereas others are a radical departure, like memory management.<br>This guide provides a brief comparison and mapping of those constructs and<br>concepts with concise examples.
The original authors1 of this guide were themselves C#/.NET<br>developers who were completely new to Rust. This guide is the compilation of<br>the knowledge acquired by the authors writing Rust code over the course of<br>several months. It is the guide the authors wish they had when they started on<br>their Rust journey. That said, the authors would encourage you to read books<br>and other material available on the Web to embrace Rust and its idioms rather<br>than attempting to learn it exclusively through the lens of C# and .NET.<br>Meanwhile, this guide can help answer some questions quickly, like: Does Rust<br>support inheritance, threading, asynchronous programming, etc.?
Assumptions:
Reader is a seasoned C#/.NET developer.
Reader is completely new to Rust.
Goals:
Provide a brief comparison and mapping of various C#/.NET topics to their<br>counterparts in Rust.
Provide links to Rust reference, book and articles for further reading on<br>topics.
Non-goals:
Discussion of design patterns and architectures.
Tutorial on the Rust language.
Reader is proficient in Rust after reading this guide.
While there are short examples that contrast C# and Rust code for some<br>topics, this guide is not meant to be a cookbook of coding recipes in the<br>two languages.
The original authors of this guide were (in alphabetical order):<br>Atif Aziz, Bastian Burger, Daniele Antonio Maggio, Dariusz Parys and<br>Patrick Schuler.