Go 1.17: rilascio di produzione: Codifica semplificata per migliorare la sicurezza e le prestazioni
L'ultima versione di produzione del linguaggio di programmazione open-source Go 1.17 di Google introduce miglioramenti al linguaggio e al compilatore per migliorare la sicurezza e le prestazioni. Le novità includono un metodo più efficiente per passare gli argomenti delle funzioni utilizzando i registri e una codifica semplificata per le operazioni sicure con i puntatori.

Go 1.17, il più recente aggiornamento del linguaggio di programmazione open-source di Google, è stato rilasciato per fornire miglioramenti sia in termini di sicurezza che di prestazioni. Questa versione di produzione presenta miglioramenti al linguaggio e al compilatore che si concentrano sulla semplificazione della codifica per la sicurezza, offrendo al contempo un metodo più performante per il passaggio degli argomenti delle funzioni.
Le note di rilascio ufficiali evidenziano tre piccole modifiche al linguaggio, due delle quali mirano a rendere più semplice la scrittura di codice conforme alle regole di sicurezza di unsafe.Pointer. I tre miglioramenti includono:
Oltre a questi miglioramenti del linguaggio, Go 1.17 introduce anche una nuova tecnica del compilatore per passare gli argomenti e i risultati delle funzioni utilizzando i registri anziché lo stack. Questa modifica è stata abilitata per Linux, MacOS e Windows su architettura x86 a 64 bit. Secondo i test di benchmark, questo aggiornamento comporta un miglioramento delle prestazioni di circa il 5% e una riduzione tipica delle dimensioni dei binari di circa il 2%. È importante notare che questa modifica non influisce sulla funzionalità del codice Go sicuro. Inoltre, il compilatore consente ora l'inlining di funzioni contenenti chiusure, il che può portare a funzioni di puntatori al codice delle chiusure distinte per ogni punto in cui la funzione è inlining.
Un'altra caratteristica fondamentale di Go 1.17 è l'introduzione dei grafi dei moduli potati. I grafi dei moduli che specificano Go 1.17 o superiore nel loro file go.mod includeranno solo le dipendenze immediate di altri moduli Go 1.17, piuttosto che le loro dipendenze transitive complete.
Gli sviluppatori possono scaricare Go 1.17 da golang.org. La versione precedente, Go 1.16, è stata rilasciata a febbraio e ha apportato miglioramenti alle librerie e al runtime. Le attuali versioni stabili includono Go 1.16.5 e Go 1.15.13. Una futura versione del linguaggio dovrebbe includere una funzionalità di fuzzing per gli sviluppatori Go. Go 1.17 è entrato in fase di rilascio beta il 10 giugno.
Gli sviluppatori che desiderano creare applicazioni web, backend o mobili possono trarre vantaggio da piattaforme come AppMaster.io, che offre un potente ambiente di sviluppono-code che accelera il processo di sviluppo e garantisce la scalabilità per i casi d'uso aziendali e ad alto carico.


