Rust - Introduzione

Rust è un linguaggio di programmazione a livello di sistema, sviluppato da Graydon Hoare. Mozilla Labs ha successivamente acquisito il programma.

Linguaggi di programmazione per sistemi applicativi e v / s

I linguaggi di programmazione dell'applicazione come Java / C # vengono utilizzati per creare software che forniscono servizi direttamente all'utente. Ci aiutano a creare applicazioni aziendali come fogli di calcolo, elaboratori di testi, applicazioni web o applicazioni mobili.

I linguaggi di programmazione dei sistemi come C / C ++ vengono utilizzati per creare software e piattaforme software. Possono essere utilizzati per creare sistemi operativi, motori di gioco, compilatori, ecc. Questi linguaggi di programmazione richiedono un elevato grado di interazione hardware.

I sistemi e i linguaggi di programmazione dell'applicazione devono affrontare due problemi principali:

  • È difficile scrivere codice protetto.
  • È difficile scrivere codice multi-thread.

Perché ruggine?

Rust si concentra su tre obiettivi:

  • Safety
  • Speed
  • Concurrency

Il linguaggio è stato progettato per sviluppare software altamente affidabile e veloce in modo semplice. Rust può essere utilizzato per scrivere programmi di alto livello su programmi specifici dell'hardware.

Prestazione

Il linguaggio di programmazione Rust non ha un Garbage Collector (GC) di progettazione. Ciò migliora le prestazioni in fase di esecuzione.

Sicurezza della memoria in fase di compilazione

Il software creato usando Rust è al sicuro da problemi di memoria come puntatori penzolanti, sovraccarichi del buffer e perdite di memoria.

Applicazioni multi-thread

Le regole di proprietà e sicurezza della memoria di Rust forniscono concorrenza senza gare di dati.

Supporto per Web Assembly (WASM)

Web Assembly aiuta a eseguire algoritmi ad alta intensità di calcolo nel browser, su dispositivi incorporati o altrove. Funziona alla velocità del codice nativo. Rust può essere compilato in Web Assembly per un'esecuzione veloce e affidabile.