Addio Go, benvenuto Ossessione: il grande salto verso Rust

Addio Go, benvenuto Ossessione: il grande salto verso Rust

Immaginate di passare da un set di attrezzi già pronti e super efficienti, dove tutto si incastra alla perfezione senza troppi sbatti, a una officina piena di torni a controllo numerico, saldatrici a induzione e calibri digitali che richiedono una laurea in ingegneria solo per essere accesi. Ecco, questo è esattamente il mood di chi decide di migrare da Go a Rust.

È uscito un nuovo articolo che analizza questo passaggio, e non è la solita solfa da hype-festing per convincerti che ‘Rust è più veloce’. Se fosse solo una questione di performance, avremmo già migrato tutto il web. Il punto è molto più profondo e, onestamente, molto più interessante per chi non si accontenta del ‘funziona e basta’. Si parla di garanzie di correttezza, di gestione chirurgica del runtime e di quella soddisfazione quasi erotica che si prova quando il compilatore ti dice che il tuo codice è sicuro, invece di lasciarti scoprire un memory leak alle tre di notte mentre cerchi di far girare un vecchio emulatore.

L’autore chiarisce subito una cosa fondamentale: questa non è la guida per chi scrive firmware embedded o motori grafici (anche se lo sappiamo tutti che Rust lì è il re). È una guida per chi vive nel mondo dei servizi backend, dove Go è attualmente il re indiscusso grazie alla sua semplicità, ai binari statici minuscoli e a una libreria standard che ti risolve la vita senza chiederti il permesso.

Il mio punto di vista? Se sei un maker che ama smontare i processori o che passa le serate a modellare componenti in Blender per poi stamparli in 3D, il passaggio a Rust è una sfida intellettuale pazzesca. È come passare dal montare un kit LEGO a forgiare i tuoi stessi mattoncini partendo dal metallo fuso. C’è più fatica, c’è più frustrazione quando il Borrow Checker decide di farti il mazzo, ma il controllo che ottieni sul sistema è di un altro livello.

Per noi che amiamo ‘mettere le mani in pasta’, questa migrazione non è solo un refactoring del codice, è un cambio di filosofia. Significa accettare che la comodità di Go (che è fantastico, non fatevi strane idee) a volte può essere un limite quando vuoi che il tuo software sia una macchina perfetta, priva di bug latenti e ultra-efficiente.

Insomma, se state cercando la via più breve per consegnare un progetto prima di cena, restate su Go. Ma se volete costruire qualcosa che sia una vera opera d’ingegneria, dove ogni byte è pesato e ogni allocazione è sotto il vostro comando, allora preparate il caffè forte: il viaggio verso Rust è appena iniziato.

Source: Migrating from Go to Rust

Lascia un commento