Gaan programmeertaal vrystelling 1.15

Bekendgestel programmeertaal vrystelling Gaan 1.15, wat deur Google ontwikkel word met die deelname van die gemeenskap as 'n hibriede oplossing wat die hoë werkverrigting van saamgestelde tale kombineer met die voordele van skriftale soos gemak om kode te skryf, spoed van ontwikkeling en foutbeskerming. Projek kode versprei deur onder die BSD-lisensie.

Go se sintaksis is gebaseer op bekende elemente van die C-taal met 'n paar ontlenings van die Python-taal. Die taal is redelik bondig, maar die kode is maklik om te lees en te verstaan. Go-kode word saamgestel in selfstandige binêre uitvoerbare programme wat inheems loop sonder om 'n virtuele masjien te gebruik (profilering, ontfouting en ander looptyd probleem opsporing substelsels is geïntegreer as looptyd komponente), wat jou toelaat om prestasie te behaal wat vergelykbaar is met C-programme.

Die projek is aanvanklik ontwikkel met die oog op multi-draad programmering en doeltreffende werking op multi-kern stelsels, insluitend die verskaffing van middele geïmplementeer op die operateur vlak vir die organisering van parallelle rekenaar en interaksie tussen parallel uitgevoer metodes. Die taal bied ook ingeboude beskerming teen oorskryding van toegekende geheueblokke en bied die vermoë om die vullisverwyderaar te gebruik.

Die belangrikste innovasiesbekendgestel in die Go 1.15-vrystelling:

  • Die werk van die skakelaar is aansienlik verbeter, beide in die verhoging van die spoed van werking en die vermindering van geheue verbruik, en in die rigting van die vereenvoudiging van kode instandhouding. Wanneer dit op bedryfstelsels getoets is met die ELF-uitvoerbare lêerformaat (Linux, FreeBSD, NetBSD, OpenBSD, Dragonfly, Solaris), is 'n tipiese stel groot Go-toepassings 20% vinniger gebou, en geheueverbruik is met gemiddeld 30% verminder. Verhoogde produktiwiteit is moontlik gemaak deur na 'n nuwe objeklêerformaat oor te skakel en interne stadiums te herwerk om die vlak van parallelisering van werk te verhoog. Die inheemse skakelaar word nou by verstek gebruik op linux/amd64- en linux/arm64-stelsels in "-buildmode=pie", wat nie meer die gebruik van 'n C-skakelaar vereis nie.
  • In looptyd is die verspreiding van klein voorwerpe op stelsels met 'n groot aantal SVE-kerns aansienlik verbeter en latensie is verminder. In die geval van mislukkings word waardes met numeriese en stringtipes vertoon in plaas daarvan om die adres te wys. Wanneer SIGSEGV-, SIGBUS- en SIGFPE-seine na 'n Go-toepassing gestuur word, in die afwesigheid van 'n os/sein. Stel hanteerder in kennis, die toepassing sal met 'n stapelspoor-uitset verlaat (voorheen was die gedrag onvoorspelbaar).
  • Die samesteller is geoptimaliseer om die grootte van gegenereerde uitvoerbare lêers met 'n gemiddeld van 5% te verminder deur die insluiting van sommige metadata vir die vullisverwyderaar te stop en meer aggressiewe skoonmaak van ongebruikte metadata.
  • Die "-spectre"-vlag is by die samesteller en samesteller gevoeg om beskerming teen Spectre-klasaanvalle moontlik te maak (vir die meeste programme is dit nie nodig nie; die aktivering van die opsie kan slegs geregverdig word vir 'n paar baie spesifieke gevalle).
  • In X.509-sertifikate is die CommonName-veld afgekeur, wat nie meer as 'n gasheernaam hanteer word as die Subject Alternative Name-veld ontbreek nie.
  • Die "go"-opdrag in die GOPROXY-omgewingsveranderlike kan nou verskeie gevolmagtigdes lys, geskei deur 'n komma of "|". As die eerste gevolmagtigde in die lys 'n fout (404 of 410) gee, sal 'n poging aangewend word om deur die tweede gevolmagtigde te kontak, ens.
  • Die veearts-hulpprogram het 'n waarskuwing bygevoeg oor pogings om van string(x) om te skakel as "x" 'n heelgetaltipe anders as rune of greep is.
  • Die "-gnu"-vlag is by die objdump-nutsding gevoeg om die demontering van GNU-samesteller-sintaksis te ondersteun.
  • Nuwe pakket bygevoeg tyd/tzdata, wat jou toelaat om 'n databasis met tydsonedata in die program te integreer.
  • Uit brontekste en dokumentasie verwyder die frases witlys/swartlys en meester/slaaf, wat nou vervang word deur "toelaatlys", "bloklys", "proses", "edms", "proc" en "beheer".
  • 'n Groot gedeelte van klein verbeterings is aan die standaardbiblioteek aangebring.
  • Bygevoeg ondersteuning vir OpenBSD 6.7 in GOARCH=arm en GOARCH=arm64 modusse (voorheen is slegs GOARCH=386 en GOARCH=amd64 ondersteun).
  • Die ontwikkeling van die 64-bis RISC-V-platform (GOOS=linux, GOARCH=riscv64) het voortgegaan.
  • Vir 32-bis x86-stelsels sal die volgende weergawe die minimum stelselvereistes verhoog - slegs verwerkers met SSE2 sal steeds ondersteun word. Om in GOARCH=386-modus te bou, benodig jy ten minste 'n Intel Pentium 4 (vrygestel in 2000) of 'n AMD Opteron/Athlon 64 (vrygestel in 2003).

Bron: opennet.ru

Voeg 'n opmerking