Servizi sviluppo software con Rust
Rust è un linguaggio di programmazione che permette di creare sistemi complessi, altamente sicuri e affidabili.
Le tecnologie più popolari fra quelle usate in Develer
(dati estrapolati dal sondaggio Stack Overflow 2022)
Motivi per introdurre Rust in azienda
Sviluppato da Mozilla Research, Rust pone una forte attenzione alla sicurezza e all’affidabilità.
Ad oggi, è ancora un linguaggio di nicchia, non molto usato in ambiente industriale, ma offre vantaggi importanti rispetto ai linguaggi maggiormente diffusi.
Differenze con C e C++
Anche se possiamo collocarlo nella famiglia del C e del C++, ha ereditato dai linguaggi più moderni una serie di tool che aiutano nelle attività correlate alla programmazione.
Inoltre, è un linguaggio che parte già opinionato: questo toglie l’onere della scelta a chi sviluppa. Ne consegue un risparmio di tempo e una maggiore produttività, perché ci si può concentrare sul problema e non sull’infrastruttura di contorno.
E, infine, “Make impossible states impossible” (Rendere impossibili gli stati impossibili): la sua ricca semantica permette di individuare, codificare e gestire tutta una serie di bug prima che si presentino.
Il compilatore è “developer friendly”: contestualizza gli errori ed esegue una prima review del codice (insieme a Clippy, tool che fa controlli di più alto livello). Caratteristiche che rendono Rust utilizzabile anche da chi ha poca esperienza con questo linguaggio.
Un’ultima considerazione: tante comunità open source sviluppano tool per integrare C o C++ con Rust, quindi è quasi più semplice passare da C o C++ a Rust che da C a C++.
Differenze con Go
Sia Go (Golang) che Rust sono concepiti per facilitare la scrittura di codice sicuro.
In Rust, lo sviluppatore ha il controllo completo della gestione della memoria: è possibile vedere chiaramente nel codice quando i dati vengono liberati. Inoltre, la gestione della memoria in Rust è nota in fase di compilazione.
Go, invece, utilizza il concetto di garbage collector: i dati non vengono liberati immediatamente, ma un processo in background li rilascia quando la quantità di dati allocati raggiunge un valore specificato. Il garbage collector di Go è ben ottimizzato, ma è meno prevedibile della gestione della memoria di Rust.
Vantaggi
Prestazioni
Veloce ed efficiente nel consumo di memoria
Produttività
Linguaggio moderno e tool per la gestione dei principali flussi di sviluppo
Sicurezza
Permette di eliminare molteplici bug già in fase di compilazione
Hai bisogno di supporto per il tuo progetto Rust?
Servizi correlati a Rust
Perché scegliere Develer
- Abbiamo abbracciato questa tecnologia fin dalla prima versione
- Organizziamo dal 2019 RustLab, la conferenza internazionale su Rust tenuta in Italia
- Abbiamo portato avanti diversi progetti in Rust
- Possiamo integrare progetti già scritti in C o C++ oppure riscriverli completamente in Rust
- I nostri programmatori contribuiscono all’ecosistema di Rust
Rust agli eventi Develer
La conferenza dedicata al linguaggio Rust, organizzata da Develer