Lëshimi i gjuhës së programeve Go 1.14

Të paraqitura lëshimi i gjuhës së programimit Go 1.14, e cila zhvillohet nga kompania Google me pjesëmarrjen e komunitetit si një zgjidhje hibride që kombinon performancën e lartë të gjuhëve të kompilimit me avantazhet e gjuhëve skriptuese, siç janë lehtësia në shkruarjen e kodit, shpejtësia e zhvillimit dhe mbrojtja nga gabimet. Kodi i projektit distribuohet nën licencën BSD.

Sintaksa e Go bazohet në elementët e njohur të gjuhës C me huazime të veçanta nga gjuha Python. Gjuha është mjaft e shkurtër, por kodi lexohet dhe perceptohet lehtë. Kodi në gjuhën Go kompillet në skedarë binarë ekzekutivë të veçantë, që ekzekutohen në mënyrë lokale pa përdorimin e një makine virtuale (modulet e profilizimit, depurimit dhe nën-sistemet e tjera të zbulimit të problemeve në fazën e ekzekutimit integrohen si komponentë të runtime), e cila mundëson arritjen e performancës të krahasueshme me programet në gjuhën C.

Projekti zhvillohet fillimisht me fokus në programimin me shumë procese dhe funksionimin efikas në sisteme me shumë bërthama, duke ofruar gjithashtu mjete të implementuara në nivelin e operatorëve për organizimin e llogaritjeve paralel dhe ndërveprimin ndërmjet metodave që ekzekutohen paralelisht. Gjuha gjithashtu ofron mjete të integruara mbrojtjeje nga dalja jashtë zonave të lejuara të blloqeve të alokuar të memorjes dhe siguron mundësinë e përdorimit të një mbledhësi të plehrave.

Ndryshimet kryesore risitë, të paraqitura në lëshimin Go 1.14:

  • Sistemi i ri i moduleve nĂ« komandĂ«n «go» shpallet i gatshĂ«m pĂ«r pĂ«rdorim tĂ« pĂ«rgjithshĂ«m, Ă«shtĂ« pĂ«rfshirĂ« si parazgjedhje dhe rekomandohet pĂ«r menaxhimin e varĂ«sive nĂ« vend tĂ« GOPATH. Sistemi i ri i moduleve ka mbĂ«shtetje tĂ« integruar pĂ«r versionimin, mjete pĂ«r shpĂ«rndarjen e pakove dhe njĂ« sistem tĂ« pĂ«rmirĂ«suar tĂ« menaxhimit tĂ« varĂ«sive. Me ndihmĂ«n e moduleve, zhvilluesit nuk janĂ« mĂ« tĂ« lidhur me punĂ«n brenda pemĂ«s sĂ« GOPATH, mund tĂ« pĂ«rcaktojnĂ« qartĂ« varĂ«sitĂ« duke marrĂ« parasysh versionet dhe tĂ« krijojnĂ« pĂ«rmbledhje tĂ« ripĂ«rsĂ«ritshme.
  • Shtuar mbĂ«shtetje pĂ«r pĂ«rfshirjen e ndĂ«rfaqeve me njĂ« grup metodash qĂ« pĂ«rputhen. Metodat nga ndĂ«rfaqja e pĂ«rfshirĂ« mund tĂ« kenĂ« tani tĂ« njĂ«jtat emra dhe nĂ«nshkruese tĂ« njĂ«jta si metodat nĂ« ndĂ«rfaqet tashmĂ« ekzistuese. Metodat e shpallura qartĂ« mbeten unike siç ishin mĂ« parĂ«.
  • Rritet performanca e shprehjes «defer», pĂ«rdorimi i sĂ« cilĂ«s tani nuk ndryshon pothuajse fare nĂ« shpejtĂ«si nga thirrja direkte e funksionit tĂ« shtyrĂ«, duke lejuar aplikimin e nisjes sĂ« shtyrĂ« tĂ« funksioneve nĂ« kodin qĂ« Ă«shtĂ« i ndjeshĂ«m ndaj performancĂ«s.
  • Sigurohet shpĂ«rbĂ«rja asinkrone e goroutine-ve — ciklet qĂ« nuk pĂ«rmbajnĂ« thirrje funksionesh tani potencialisht nuk mund tĂ« çojnĂ« nĂ« bllokim tĂ« ndĂ«rsjellĂ« tĂ« planifikuesit ose vonesĂ« nĂ« fillimin e mbledhjes sĂ« mbeturinave.
  • Rritet efikasiteti i sistemit tĂ« shpĂ«rndarjes sĂ« faqeve tĂ« memories, ku tani vĂ«rehet ndjeshĂ«m mĂ« pak konflikte bllokimi nĂ« konfigurimet me vlera tĂ« mĂ«dha GOMAXPROCS. Si rezultat, janĂ« reduktuar vonesat dhe Ă«shtĂ« pĂ«rmirĂ«suar kapaciteti nĂ« shpĂ«rndarjen e madhe tĂ« blloqeve tĂ« memories nĂ« mĂ«nyrĂ« paralele.
  • JanĂ« optimizuar bllokimet dhe Ă«shtĂ« ulur numri i kalimeve tĂ« kontekstit gjatĂ« punĂ«s me tajmĂ«rat e brendshĂ«m qĂ« pĂ«rdoren nĂ« funksionet time.After, time.Tick, net.Conn.SetDeadline.
  • NĂ« komandĂ«n go, si parazgjedhje aktivizohet flags «-mod=vendor», nĂ«se nĂ« rrĂ«njĂ« ka njĂ« dosje vendor, e cila Ă«shtĂ« e destinuar pĂ«r shpĂ«rndarjen e varĂ«sive tĂ« jashtme tĂ« lidhura me njĂ« ofrues tĂ« caktuar. ËshtĂ« shtuar njĂ« flag e veçantĂ« «-mod=mod» pĂ«r ngarkimin e moduleve nga cache moduli, nĂ« vend tĂ« dosjes «vendor». NĂ«se dosja go.mod Ă«shtĂ« vetĂ«m pĂ«r lexim, si parazgjedhje sigurohet vendosja e flag «-mod=readonly», nĂ«se nuk ekziston dosja e lartĂ« «vendor». ËshtĂ« shtuar flag «-modfile=file» pĂ«r pĂ«rcaktimin e njĂ« dosjeje alternative go.mod nĂ« vend tĂ« asaj qĂ« ndodhet nĂ« dosjen rrĂ«njĂ«sore tĂ« modulit.
  • ËshtĂ« shtuar variabla e mjedisit GOINSECURE, ku gjatĂ« vendosjes sĂ« saj komanda go nuk kĂ«rkon pĂ«rdorimin e HTTPS dhe kalon verifikimin e certifikatave gjatĂ« ngarkimit tĂ« moduleve drejtpĂ«rdrejt.
  • NĂ« kompilator Ă«shtĂ« shtuar njĂ« flag e aktivizuar sipas parazgjedhjes «-d=checkptr» pĂ«r tĂ« kontrolluar kodin nĂ« pĂ«rputhje me rregullat e pĂ«rdorimit tĂ« sigurt tĂ« unsafe.Pointer.
  • NĂ« shpĂ«rndarje Ă«shtĂ« pĂ«rfshirĂ« njĂ« paketĂ« e re hash/maphash me funksione hesh qĂ« nuk janĂ« kriptografike pĂ«r krijimin e tabelave tĂ« hesh pĂ«r sekuenca arbitrare bajtesh ose stringje.
  • ËshtĂ« shtuar mbĂ«shtetje eksperimentale pĂ«r platformĂ«n 64-bit RISC-V nĂ« Linux.
  • ËshtĂ« shtuar mbĂ«shtetje pĂ«r FreeBSD nĂ« sistemet 64-bit ARM.

Burimi: opennet.ru

Bleni hostim tĂ« besueshĂ«m pĂ«r faqe me mbrojtje nga DDoS, serverĂ« VPS VDS đŸ”„ Bleni hostim tĂ« besueshĂ«m pĂ«r faqe me mbrojtje nga DDoS, serverĂ« VPS VDS | ProHoster