Langage de programmation Rust

Découvrir le language de programmation Rust, Installation, Cargo et la documentation.

Poster par mbougrin Le 20 Mai 2022

Rust est un langage de programmation compilé multi-paradigme conçu et développé par Mozilla Research depuis 2010. Il a été conçu pour être « un langage fiable, concurrent, pratique », supportant les styles de programmation purement fonctionnel, modèle d'acteur, procédural, ainsi qu'orienté objet sous certains aspects.

En 2020, ses domaines de prédilection sont la programmation système, les applications en ligne de commande, les applications Web via WebAssembly, les services réseaux et les systèmes embarqués.

Du fait de la politique de Mozilla, Rust est entièrement développé de façon ouverte (les ingénieurs de Mozilla Research publient leurs idées et les décisions prises lors des réunions) et sollicite les remarques et contributions de la communauté. La conception du langage est graduellement améliorée au travers des retours de l'équipe travaillant sur le moteur de rendu Servo et de façon pragmatique lors de l'écriture du compilateur. Bien que le projet soit financé par Mozilla, la majorité des contributions proviennent de la communauté.

Installation

Erreur lors installation sur Debian ARM x64

Message erreur et impossible de faire un cargo new hello_world
cargo new hello_world
error: 'cargo' is not installed for the toolchain 'stable-aarch64-unknown-linux-gnu'
rustup show

Default host: aarch64-unknown-linux-gnu
rustup home: /home/mbougrin/.rustup

info: syncing channel updates for 'stable-aarch64-unknown-linux-gnu'
info: latest update on 2022-05-19, rust version 1.61.0 (fe5b13d68 2022-05-18)
installed toolchains
--------------------

stable-aarch64-unknown-linux-gnu (default)
nightly-aarch64-unknown-linux-gnu

active toolchain
----------------

stable-aarch64-unknown-linux-gnu (default)
(rustc does not exist)
Solution sur mon serveur Debian ARM x64

Avec c'est 4 commande j'ai pu resoudre mon probleme par rapport a installation de rust sur Debian ARM x64

rustup self uninstall
sudo apt install rustc
curl --proto '=https' --tlsv1.2 https://sh.rustup.rs -sSf | sh
source ~/.cargo/env
Installation pour Linux ou MacOsx

Commande a executer dans le terminal pour installation de Rust pour MacOsX et Linux.

curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
Installation pour Windows

Pour télécharger les versions windows 32Bit ou 64Bit

Télécharger rustup-init.exe (32-bit)

Télécharger rustup-init.exe (64-bit)

Autres méthodes d'installation

L'installation décrite ci-dessus, via rustup, est la façon préférée d'installer Rust pour la majorité des développeurs. Cependant, Rust peut également être installé par d'autres méthodes.

Télécharger

Compilation et Exécution en ligne

Voici un site internet qui permet de compiler et d'exécuter du Rust.

play.rust-lang.org

Gestion des chaînes d'outils avec Rustup

Rust est installé et géré par l'outil rustup. Rust suit un processus de publication rapide avec une nouvelle version toutes les six semaines et il supporte un grand nombre de plateformes, donc il y a de nombreuses versions de Rust disponibles en même temps. rustup gère ces différentes versions de manière consistante sur toutes les plateformes supportées par Rust, permettant l'installation de Rust depuis les canaux beta et nightly ainsi que le support de cibles de cross-compilation supplémentaires.

Si vous avez installé rustup dans le passé, vous pouvez mettre à jour votre installation en exécutant : rustup update.

Pour plus d'information, visitez la documentation de rustup.

Configuration de la variable d’environnement PATH

Dans l’environnement de développement de Rust, tous les outils sont installés dans le répertoire ~/.cargo/bin et c'est là que vous trouverez la chaîne d'outils Rust incluant rustc, cargo, et rustup.

Ainsi, il est de coutume pour les développeurs Rust d'inclure ce répertoire dans leur variable d’environnement PATH. Pendant l'installation rustup essaiera de configurer le PATH. À cause des différences entre les plateformes, les shells de commande, ou de problèmes de rustup, la modification de PATH pourrait ne prendre effet qu'après le redémarrage de la console, après que l'utilisateur soit déconnecté , ou ne pas fonctionner du tout.

Si, après l'installation, exécuter la commande rustc --version dans la console échoue, c'est probablement la raison.

Désinstaller Rust

Si jamais vous voulez désinstaller Rust, vous pouvez exécuter rustup self uninstall. Mais vous nous manquerez !

Example Rust Cargo HelloWorld

Premiers pas avec Cargo

Cette section donne un aperçu rapide de l'outil de ligne de commande cargo. Nous démontrons sa capacité à générer un nouveau package pour nous, sa capacité à compiler le crate dans le package et sa capacité à exécuter le programme résultant.

Pour démarrer un nouveau colis avec Cargo, utilisez cargo new:

$cargo new hello_world

Par défaut, Cargo --bin pour faire un programme binaire. Pour faire une bibliothèque, on passerait --lib, au lieu de cela.

Voyons ce que Cargo a généré pour nous :

$cd hello_world
$ tree .
.
├── Cargo.toml
└── src
└── main.rs

1 directory, 2 files

C'est tout ce dont nous avons besoin pour commencer. Tout d'abord, vérifions Cargo.toml:

[package]
name = "hello_world"
version = "0.1.0"
edition = "2021"

[dependencies]

C'est ce qu'on appelle un manifeste, et il contient toutes les métadonnées dont Cargo a besoin pour compiler votre package.

Voici ce qu'il y a dedans src/main.rs:

fn main() {
println!("Hello, world!");
}

Cargo a généré pour nous un programme "hello world", autrement connu sous le nom de caisse binaire. Compilons-le :

$ cargo build
Compiling hello_world v0.1.0 (file:///path/to/package/hello_world)

Et puis lancez-le:

$ ./target/debug/hello_world
Hello, world!

Nous pouvons également utiliser cargo run pour le compiler puis l'exécuter, le tout en une seule étape :

$ cargo run
Fresh hello_world v0.1.0 (file:///path/to/package/hello_world)
Running `target/hello_world`
Hello, world!
doc.rust-lang.org Cargo

Source Rust

rust-lang.org Install

doc.rust-lang.org Documentation

Tools Rust

Plugin vim Rust

Il s'agit d'un plugin Vim qui fournit la détection de fichiers Rust, la coloration syntaxique, le formatage, l'intégration syntaxique, etc. Il nécessite Vim 8 ou supérieur pour une fonctionnalité complète. Certaines choses peuvent ne pas fonctionner sur les versions antérieures.

Github rust-lang

Plugin VIM Rust et Autre langage
Github Plugin vim

Autre Tools Rust
rust-lang.org tools

Video Tutoriel Rust FR

Rust : 0 - Introduction et installation des outils

Rust : 1 - Introduction à Cargo

Rust : 2 - Les variables

Rust : 3 - Types des variables

Rust : 4 - Les opérateurs

Rust : 5 - Entrée utilisateur + utiliser une dépendance (rand)

Rust : 6 - Les conditions

Rust : 7 - Les boucles

Rust : 8 - L'opérateur match

Rust : 9 - Les fonctions

Rust : 10 - Introduction à l'Ownership (Fonctionnement de la mémoire)

Rust : 11 - L'Ownership

Rust : 12 - Références et Borrowing

Rust version 1.53.0 : Identificateurs Unicode

Rust : 13 - Le type Slice

Video Tutoriel Rust EN

Rust Programming Course for Beginners - Tutorial

Rust Programming Basics Full Tutorial 2021

Tutorial EN

Tutorial Web Site Rust

freecodecamp.org Rust Tutorial