Go 1.19 je već objavljen i ovo su njegove vijesti

Nedavno najavljeno je izlazak nove verzije programskog jezika «Go 1.19»., verzija koja je poboljšana u odnosu na prethodno izdanje dodavanjem raznih poboljšanja i, prije svega, ispravki grešaka.Od novina koje možemo istaknuti su poboljšanja u upravljanju memorijom, poboljšanja sigurnosti, između ostalog.

Za one koji su novi u Go, trebali biste znati da je ovo programski jezik koji je razvijen uz učešće zajednice kao hibridno rješenje koje kombinuje visoke performanse kompajliranih jezika s prednostima kao što su skriptni jezici kao što su jednostavnost pisanja koda, razvoj i zaštita od grešaka.

Sintaksa Go je bazirana na uobičajenim elementima C jezika. sa nekim pozajmicama iz jezika Python. Jezik je prilično kratak, ali je kod lak za čitanje i razumijevanje.

Go kod se kompajlira u zasebne binarne izvršne datoteke koji se pokreću nativno, bez upotrebe virtuelne mašine (profiliranje, otklanjanje grešaka i drugi podsistemi za rešavanje problema tokom izvršavanja ugrađeni su kao komponente vremena izvršavanja).

Glavne nove značajke Go 1.19

U ovoj novoj verziji Go 1.19 koja je predstavljena, to je istaknuto urađen je posao na poboljšanju podrške za funkcije i generičke tipove dodano u najnovijoj verziji, uz pomoć koje programer može definirati i koristiti funkcije dizajnirane za rad s nekoliko tipova odjednom, plus optimizacija performansi nekih programa korištenjem generika je povećana za 20%.

Još jedna promjena koja se ističe u novoj verziji je ta dodana podrška za veze, liste i jednostavniju sintaksu za definiranje zaglavlja u komentarima dokumenta. Uslužni program gofmt obezbeđuje formatiranje sa naprednim karakteristikama komentara na umu uz API dokumentaciju.

Osim toga revidirani Go memorijski model kako bi se uskladio sa C, C++, Java, JavaScript, Rust i Swiftom koji ne prihvataju sekvencijalno konzistentne atomske vrijednosti. Novi tipovi kao što su atomic.Int64 i atomic.Pointer[T] su uvedeni u sync/atomic paket kako bi se olakšalo korištenje atomskih vrijednosti.

S druge strane, također se spominje da sakupljač smeća sada ima mogućnost definiranja mekih granica, koji se nameću ograničavanjem veličine hrpe i agresivnijim vraćanjem memorije sistemu, odnosno ne garantuje se da će potrošnja biti unutar navedenih granica pod svim uslovima. Meka ograničenja mogu biti korisna za optimizaciju programa koji rade u fiksnim memorijskim kontejnerima.

Takođe je istaknuto da na Unix sistemima, dodatni deskriptori datoteka su automatski omogućeni (povećanjem ograničenja RLIMIT_NOFILE), da bi se ubrzali izrazi velikih promjena na x86-64 i ARM64 sistemima, koriste se tablice skokova, koje omogućavaju da se izrazi velikih promjena obrađuju do 20% brže.

Na riscv64 sistemima implementirano je prenošenje argumenata funkcije preko CPU registara, što je omogućilo povećanje performansi od oko 10%.

Od ostalih promjena koji se ističu iz ove nove verzije:

  • Implementirane su brojne optimizacije performansi.
  • Dodata podrška za dinamičko podešavanje veličine steka rutine kako bi se smanjila veličina kopiranih podataka
  • Dodata eksperimentalna podrška za Linux okruženja na sistemima sa Loongson procesorima baziranim na 64-bitnoj LoongArch arhitekturi (GOARCH=loong64).
  • Promjena modela memorije nije utjecala na kompatibilnost s prethodno napisanim kodom.
  • Dodano je novo ograničenje izgradnje "unixa" koje se može koristiti u "go:build" linijama za filtriranje sistema sličnih Unixu (aix, android, darwin, dragonfly, freebsd, hurd, illumos, ios, linux, netbsd, openbsd, solaris ).
  • Da bi poboljšao sigurnost, os/exec modul sada zanemaruje relativne putanje kada proširuje varijablu okruženja PATH (na primjer, kada se određuje putanja izvršne datoteke, trenutni direktorij se više ne provjerava).

Konačno, ako ste zainteresirani da saznate više o ovom novom izdanju, možete provjeriti detalje na sljedeći link.


Budite prvi koji komentarišete

Ostavite komentar

Vaša e-mail adresa neće biti objavljena. Obavezna polja su označena sa *

*

*

  1. Za podatke odgovoran: Miguel Ángel Gatón
  2. Svrha podataka: Kontrola neželjene pošte, upravljanje komentarima.
  3. Legitimacija: Vaš pristanak
  4. Komunikacija podataka: Podaci se neće dostavljati trećim stranama, osim po zakonskoj obavezi.
  5. Pohrana podataka: Baza podataka koju hostuje Occentus Networks (EU)
  6. Prava: U bilo kojem trenutku možete ograničiti, oporaviti i izbrisati svoje podatke.