La nuova versione di Go 1.14 è qui e queste sono le sue novità

Go

GO Team ha presentato l'annuncio del rilascio di Go 1.14, una nuova versione del linguaggio di programmazione open source sviluppato da Google. Come promesso, questa versione non ha superato il mese di febbraio e Go Team non ha smesso di ringraziare tutti coloro che sono stati così gentili da contribuire alla progettazione di questa versione, sia attraverso commenti forniti a tal fine, sia per coloro che hanno partecipato al beta test, oppure emettendo codici, segnalando bug e inviando commenti.

Finora, GO Team ha cercato di mantenere la sfida lanciata da Rob Pike, uno dei tre creatori di Golang, che Volevo che questo linguaggio rendesse la programmazione su larga scala più semplice e veloce. Poiché la sintassi di Go si basa su elementi familiari del linguaggio C con prestiti individuali dal linguaggio Python. Il linguaggio è abbastanza conciso, ma il codice è facile da leggere e capire.

Il codice Go viene compilato in file eseguibili binari separati che vengono eseguiti in modo nativo senza utilizzare una macchina virtuale (profili, moduli di debug e altri sottosistemi di risoluzione dei problemi sono integrati in fase di esecuzione come componenti di runtime), che consente prestazioni paragonabili a C.

Il progetto è stato inizialmente sviluppato pensando alla programmazione multi-thread e al lavoro efficiente nei sistemi multi-core, fornendo anche mezzi implementati a livello di operatore per organizzare il calcolo parallelo e l'interazione tra metodi paralleli.

Il linguaggio fornisce anche una protezione incorporata contro le aree di overflow del blocco di memoria allocata e offre la possibilità di utilizzare il Garbage Collector.

Principali novità di Go 1.14

Un cambiamento importante in questa nuova versione riguarda il nuovo sistema di moduli in comando go per un utilizzo diffuso, è abilitato per impostazione predefinita ed è consigliato per la gestione delle dipendenze invece di GOPATH.

Il nuovo sistema di moduli offre la compatibilità della versione integrata, strumenti di consegna dei pacchi e un sistema di gestione delle dipendenze migliorato. Con l'aiuto di moduli, gli sviluppatori non sono più obbligati a lavorare all'interno dell'albero GOPATH, possono definire in modo esplicito dipendenze basate sulla versione e creare assembly ripetibili.

Inoltre, i thread non dovranno più rimanere in sospeso a tempo indeterminato, come nel caso precedente con un ciclo senza chiamare una funzione, poiché Go Scheduler lavora per verificare un certo tempo di esecuzione possibile della routine corrente durante le chiamate di funzione prima di rimuoverla dal thread per aprire lo spazio e consentire l'esecuzione di nuove routine. Ciò avrà un impatto in termini di minore latenza in Go 1.14.

Un altro cambiamento è la sAggiunto supporto per l'incorporamento di interfacce con una serie di metodi sovrapposti. I metodi dell'interfaccia incorporata possono ora avere gli stessi nomi e le stesse firme dei metodi nelle interfacce esistenti. I metodi dichiarati in modo esplicito rimangono unici come prima.

Inoltre è stata aumentata la performance dell'espressione "differire", il cui utilizzo ora differisce appena in velocità da una chiamata diretta a una funzione pigra, consentendo di utilizzare l'avvio lento di una funzione nel codice sensibile alle prestazioni.

Viene fornita anche la preferenza preventiva asincrona- I cicli che non contengono chiamate di funzione possono ora portare a un deadlock per lo scheduler o a un ritardo nell'avvio della garbage collection.

L'efficienza del sistema di allocazione delle pagine di memoria è stata migliorata, che ora presenta un numero significativamente inferiore di conflitti di blocco nelle configurazioni con valori GOMAXPROCS di grandi dimensioni.

Di conseguenza, i ritardi sono stati ridotti e le prestazioni sono aumentate con un'allocazione parallela intensiva di grandi blocchi di memoria.

Non piu puoi trovare un elenco più completo di queste nuove funzionalità chiave nelle note di rilascio di GO 1.14.

Inoltre, questa nuova versione funzionerà su macOS 10.11 El Capitan e supporterà ancora i binari a 32 bit su questa piattaforma. Questa potrebbe essere l'ultima versione che supporta anche binari a 32 bit su altre piattaforme come watchOS, iOS, iPadOS e tvOS.


Lascia un tuo commento

L'indirizzo email non verrà pubblicato. I campi obbligatori sono contrassegnati con *

*

*

  1. Responsabile dei dati: Miguel Ángel Gatón
  2. Scopo dei dati: controllo SPAM, gestione commenti.
  3. Legittimazione: il tuo consenso
  4. Comunicazione dei dati: I dati non saranno oggetto di comunicazione a terzi se non per obbligo di legge.
  5. Archiviazione dati: database ospitato da Occentus Networks (UE)
  6. Diritti: in qualsiasi momento puoi limitare, recuperare ed eliminare le tue informazioni.