Cos'è Rust

Rust è un linguaggio di programmazione di sistema con una serie di costrutti per aiutare a costruire dei programmi "memory-safe" e "thread-safe", ma mantendendo la possibilità di operare direttamente sulla memoria.

Cos'è un linguaggio di programmazione di sistema?

Non esiste una definizione precisa di "Linguaggio di programmazione di sistema", avendo acquisito nel corso del tempo diversi significati. Per questo corso ci riferiremo alla seguente definizione:

Definizione

"Un linguaggio di programmazione di sistema è un linguaggio con una runtime ridotta o assente, dispone di costrutti per manipolare la memoria e può essere usato in un ambiente "freestanding" ( quindi privo di un sistema operativo)"

 

Seguendo questa definizione possiamo definire come Linguaggi di programmazione di sistema i seguenti linguaggi (menziono solo i più famosi): C, C++, Nim, D, vari dialetti Asm ed appunto Rust.

Cos'è la "Memory safety"?

Un programma è "Memory Safe" quando per ogni input e per ogni stato di esecuzione, accede soltanto a zone di memoria precedentmente inizializzate ed è privo di Undefined Beheviour.

Cos'è la "Thread Safety"?

Un programma è "Thread Safe" quando nessuna variabile all'interno della memoria del programma, è acceduta nello stesso istante da due porzioni di memoria diverse di cui almeno una in scrittura. Più accessi contemporanei solo in lettura non compromettono la Thread Safety.

Rust e Cargo:

Insieme al compilatore Rustc, viene fornito Cargo, un gestore di compilazione e di dipendenze esterne.

Successivo