Vai al contenuto

Rust nel 2026: perché le big tech riscrivono il C++ - e quando conviene farlo

Strahinja Polovina · Fondatore10 min di lettura

Quando ho cominciato a scrivere Rust, sei o sette anni fa, si scherzava sul fatto che sarei rimasto senza amici nel mondo della programmazione. La battuta aveva un fondo di verità. Rust era il linguaggio che tutti ammiravano nei sondaggi e che quasi nessuno veniva pagato per scrivere. (È tuttora il più ammirato: nel sondaggio Stack Overflow 2025 è in cima a quella classifica per il decimo anno consecutivo, con il 72%.) La mia domanda era più seria delle battute: Rust sarebbe mai stato adottato su larga scala? Riscrivere software legacy richiede moltissimo tempo e denaro, e «il nuovo linguaggio è più sicuro» non è mai bastato, da solo, a convincere un’azienda a pagarne il prezzo.

Nel 2026 quella domanda ha una risposta. Microsoft, Cloudflare, Meta e GitHub stanno spostando parti dei loro sistemi su Rust, e l’AI ha reso le grandi migrazioni più fattibili di quanto immaginassi allora. Avevo visto presto la direzione, ma con i tempi sono stato fortunato. Questo articolo parla di che cosa è cambiato, di che cosa insegnano davvero le grandi migrazioni - e di come capire se qualcosa di tutto questo riguarda il suo sistema.

Perché ho scelto Rust - e perché gli scettici avevano ragione

Gli argomenti a favore di Rust erano chiari fin dall’inizio. Offre le prestazioni del C e del C++ senza garbage collector, e il suo compilatore esclude intere classi di bug - use-after-free, buffer overflow, data race - prima ancora che il codice venga eseguito. Non sono bug esotici. Nei grandi codebase C e C++ sono la causa principale della maggior parte delle correzioni di sicurezza gravi, anno dopo anno. Un linguaggio che li elimina in fase di compilazione non è una preferenza di stile: è una curva di costo diversa per chi possiede software.

Sui costi, però, gli scettici avevano ragione. Riscrivere un sistema che funziona è un progetto che per mesi non ha nuove funzionalità da mostrare. L’ecosistema era giovane, la curva di apprendimento era reale e assumere era difficile. Ogni CTO con cui parlavo concordava che Rust fosse migliore e poi, del tutto razionalmente, non faceva nulla. Avere ragione su una tecnologia costa poco. La parte difficile è avere ragione su quando un settore potrà permettersi di adottarla.

Che cosa è cambiato: Microsoft, Cloudflare, Meta e GitHub

Microsoft distribuisce Rust nel kernel di Windows 11 dal 2023 - il codice delle regioni GDI inwin32kbase_rs.sys - e alla fine del 2025 il Distinguished Engineer Galen Hunt ha descritto l’obiettivo di eliminare il C e il C++ dai codebase più grandi di Microsoft entro il 2030, combinando AI e algoritmi - con una stella polare riassunta in «1 engineer, 1 month, 1 million lines of code» (un ingegnere, un mese, un milione di righe di codice). In seguito ha precisato che si tratta di un progetto di ricerca per costruire strumenti di migrazione, non di un piano per riscrivere Windows dall’oggi al domani. La sfumatura conta, ma conta anche la direzione: l’azienda con uno dei patrimoni di codice C++ più grandi al mondo sta investendo per lasciarlo.

Cloudflare ha ricostruito in Rust il proxy centrale che sta davanti a milioni di siti web. Il nuovo sistema, FL2, ha reso i siti dei clienti fino al 25% più veloci e gira con meno della metà della CPU e della memoria della piattaforma che ha sostituito - soprattutto perché non deve più spostare dati tra strati scritti in C, Lua e Rust.

Meta ha reso Rust un linguaggio lato server ufficialmente supportato nel 2022, da allora ha spostato dal C a Rust la libreria di messaggistica centrale condivisa da Messenger, Facebook e Instagram e ha riscritto la libreria di WhatsApp per la gestione dei contenuti multimediali: 160.000 righe di C++ sono diventate 90.000 righe di Rust, test inclusi. Nel 2026 ha anche portato in Rust il React Compiler per avere build più veloci. GitHub ha costruito da zero in Rust il suo motore di ricerca del codice, Blackbird, che esplora quasi 45 milioni di repository.

Nessuna di queste aziende ha riscritto tutto. Ognuna ha cominciato dalla parte del sistema in cui il costo di non cambiare era più alto.

È questa la vera lezione delle grandi migrazioni, ed è più utile dei titoli dei giornali. Non sono storie di riscritture eroiche. Sono storie di riscritture mirate: un proxy sul percorso critico, uno strato di messaggistica con una storia di problemi di sicurezza della memoria, un motore di ricerca che doveva essere veloce. Lo stesso schema funziona a qualsiasi scala: è l’approccio strangler che descriviamo in modernizzare i sistemi legacy senza la grande riscrittura, applicato a un cambio di linguaggio.

L’AI ha cambiato l’economia della migrazione

Quello che nel 2019 non avevo previsto era l’AI. La parte costosa di una migrazione era la traduzione meccanica: migliaia di funzioni riscritte a mano, riga per riga, da ingegneri che avrebbero preferito costruire qualcosa di nuovo. Oggi gli strumenti di AI fanno gran parte di quel primo passaggio. Nel nostro lavoro sono bravi a tradurre moduli autocontenuti, a generare l’impalcatura di test che dimostra che il comportamento non è cambiato e a spiegare vecchio codice che nessuno ricorda di aver scritto.

Restano deboli nelle parti che decidono se una migrazione riesce: tracciare i confini tra codice vecchio e nuovo, progettare l’ownership in modo da non combattere contro il borrow checker e rivedere i blocchiunsafein cui le garanzie di Rust si fermano. Il costo, quindi, si è spostato più che scomparire - dalla scrittura al giudizio. Ed è proprio questo spostamento a trasformare una migrazione da scommessa pluriennale in una serie di progetti di poche settimane ciascuno, ognuno dei quali si ripaga da solo.

Conviene migrare a Rust? Un metodo per decidere

Per la maggior parte delle aziende la risposta onesta è «una parte, prima o poi». Passi in rassegna il suo sistema modulo per modulo e assegni ciascuno a una delle due colonne.

Migrare il modulo
  • Genera un flusso costante di bug di sicurezza della memoria o di correzioni di sicurezza
  • È un percorso critico: la latenza o il costo della CPU si vedono nella bolletta cloud
  • Nel prossimo anno andrà comunque modificato in profondità
  • Ha dei test, o un'interfaccia chiara su cui scriverli
Lasciarlo com'è
  • È stabile, si modifica di rado e costa poco farlo girare
  • È un normale CRUD: form, report, flussi di lavoro
  • Dopo la migrazione nessuno nel team si occuperebbe del codice Rust
  • L'unico argomento a favore della riscrittura è che Rust va di moda

Poi migri la parte alta della prima colonna, un modulo alla volta. Metta il nuovo codice Rust dietro la stessa interfaccia che aveva il codice vecchio - una C ABI tramite FFI, oppure un servizio separato - faccia girare le due versioni in parallelo e sposti il traffico solo quando i test e le metriche di produzione concordano. Se un modulo non si ripaga, si fermi lì: avrà perso settimane, non un anno. E se l’argomento a favore di Rust si regge soltanto sul fatto che va di moda, non è un argomento. La stessa disciplina vale per qualsiasi scelta tecnologica, ed è per questo che abbiamo scritto che la tecnologia noiosa è un bene di lusso. Dieci anni dopo la versione 1.0, Rust è diventato in silenzio una di quelle scelte noiose.

La lezione: non inseguire l’hype

Se sette anni di Rust mi hanno insegnato una cosa, è questa: non inseguire l’hype, ma pensare ai problemi che il settore dovrà risolvere fra qualche anno. Sicurezza della memoria, consumi energetici e costi del cloud, sistemi che devono essere mantenuti per decenni da team che cambiano di continuo: erano problemi visibili già nel 2019 e oggi sono solo più grandi. La tecnologia che li risolve era destinata a vincere; l’unica domanda era quando sarebbe diventata sostenibile.

La stessa domanda vale per la sua roadmap. Quale problema del suo sistema sarà costoso fra cinque anni - e quanto costerebbe cominciare ad affrontarlo adesso, un modulo alla volta?

Domande frequenti

Rust sta sostituendo il C++?

Non ovunque, ma nel nuovo codice di sistema e nelle parti più sensibili dal punto di vista della sicurezza dei codebase esistenti, sempre di più. Microsoft, Cloudflare, Meta e GitHub usano tutte Rust in produzione, e in molte grandi aziende il nuovo lavoro a basso livello oggi parte in Rust per impostazione predefinita.

La mia azienda dovrebbe riscrivere il proprio software in Rust?

Raramente per intero. Conviene migrare i moduli in cui bug di sicurezza della memoria, latenza o costi infrastrutturali pesano di più, uno alla volta dietro un'interfaccia stabile, e lasciare dove si trova il codice stabile ed economico da gestire.

L'AI può tradurre il C o il C++ in Rust?

Gli strumenti di AI oggi gestiscono gran parte della traduzione meccanica, ed è questo che rende fattibili le grandi migrazioni. Gli ingegneri devono comunque progettare le interfacce, rivedere il codice unsafe e dimostrare con i test che il comportamento non è cambiato.

Quanto dura una migrazione a Rust?

Un singolo modulo o servizio richiede in genere qualche settimana di lavoro. Un intero codebase è un programma pluriennale - ed è proprio per questo che va affrontato in modo incrementale, portando valore dopo ogni passo.

E sì, lungo la strada qualche amico in Rust me lo sono fatto. Un po’ in ritardo, ma sono arrivati. Se sta valutando una migrazione, ecco come affrontiamo lo sviluppo in Rust e la migrazione da C/C++.

Sta pianificando una migrazione a Rust?

La diagnosi è gratuita: analizziamo il suo codebase, mettiamo in ordine i moduli che vale la pena spostare e le diciamo con onestà quali lasciare dove sono.