Rilascio del linguaggio di programmazione Go 1.25

Dopo sei mesi di sviluppo, è stata rilasciata la versione 1.25 del linguaggio di programmazione Go, sviluppato da Google con il supporto della comunità. Il linguaggio combina un'alta prestazione, tipica dei linguaggi compilati, con i vantaggi dei linguaggi di scripting, come la semplicità nella scrittura del codice, la rapidità di sviluppo e la protezione dagli errori. Il codice del progetto è distribuito sotto licenza BSD.

La sintassi di Go si basa su elementi familiari del linguaggio C, con alcune influenze dal linguaggio Oberon. Il linguaggio è abbastanza conciso, ma il codice è facilmente leggibile e comprensibile. Il codice scritto in Go viene compilato in file binari eseguibili autonomi, eseguiti nativamente senza l'uso di una macchina virtuale (i moduli di profiling, debugging e altre sottosistemi di rilevamento dei problemi sono integrati come componenti runtime), il che consente di raggiungere prestazioni comparabili a quelle dei programmi scritti in C.

Il progetto è stato originariamente sviluppato tenendo presente la programmazione multithread e l'efficiente funzionamento su sistemi multiprocessore. Ad esempio, a livello di operatori, sono stati implementati strumenti per organizzare calcoli paralleli e interazioni tra metodi eseguiti in parallelo. Il linguaggio fornisce anche strumenti integrati per la protezione contro il buffer overflow e consente l'uso di un garbage collector.

Tra le novità della nuova versione:

  • È stato aggiunto un garbage collector sperimentale chiamato «greenteagc», progettato per migliorare le prestazioni nella creazione e scansione di piccoli oggetti. Negli applicativi che utilizzano attivamente il garbage collection, l'uso di «greenteagc» porta a una riduzione delle spese generali per la raccolta dei rifiuti dal 10 al 40%.
  • Sono stati aggiunti pacchetti sperimentali encoding/json/v2 e encoding/json/jsontext. Il primo pacchetto include un'implementazione ad alte prestazioni completamente rielaborata del pacchetto encoding/json. Il secondo pacchetto offre funzioni per la manipolazione a basso livello della sintassi JSON.
  • È stato incluso un nuovo pacchetto testing/synctest per testare la sincronizzazione tra diversi thread di codice eseguito in parallelo.
  • Nel team «go build» l'opzione «-asan» è attiva per impostazione predefinita, eseguendo il controllo delle perdite di memoria al termine del programma.
  • Nel comando «go vet» sono stati aggiunti nuovi analizzatori «waitgroup» e «hostport» per verificare l'uso scorretto di sync.WaitGroup.Add e fmt.Sprintf(«%s:%d», host, port).
  • Nella determinazione del valore di GOMAXPROCS non viene semplicemente impostato il numero di CPU logiche disponibili, ma vengono anche considerate le limitazioni delle prestazioni CPU applicate nei contenitori.
  • Nel compilatore e nel linker è stata implementata il supporto per la generazione di informazioni di debug nel formato DWARF5, che offre una rappresentazione più compatta dei dati.

Fonte: opennet.ru

Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server 🔥 Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server | ProHoster