Go

Gjuha programore Go është gjuhë programore e re e krijuar nga Google, së pari e prezantuar në vitin 2009. Autorë të Go janë Robert Griesemer, Rob Pike dhe Ken Thompson.

Go është gjuhë programore me dedikim të përgjithshëm që karakterizohet me një sintaksë të pastër dhe të thjeshtë. Është i disponueshëm në sisteme operative të ndryshme, posedon dokumentacion të shkëlqyeshëm dhe komunitet në rritje e sipër.

Go adopton koncepte të ndryshme nga gjuhët e tjera programore, gjithnjë duke i ikur kompleksitetit të panevojshëm dhe krijimit të një kodi sa më efiçent dhe të menaxhueshëm. Implementon një koncept të veçantë të OOP (object oriented programming) dhe ofron menaxhim automatik të memorjes (garbage collection).

Duke qenë më i thjeshtë se shumica e gjuhëve të tjera, është lehtë i kuptueshëm nga ana e programuesve që njohin ndonjë gjuhë tjetër programore. Përdoret për programim procedural, ka karakteristika të programimit funksional, por siç u cek më sipër – edhe një variant të thjeshtuar të programimit të bazuar në objekte.

Go po tregohet i shkëlqyeshëm në veçanti në ndërtimin e Web aplikacioneve dhe mikroserviseve, ku karakterizohet me ekzekutim të shpejtë dhe procesim të një numri të madh të HTTP kërkesave (HTTP requests) dhe HTTP përgjigjeve (HTTP responses). Megjithatë, Go nuk është i kufizuar në aplikacione të këtij lloji – ai gjithsesi mund të tregohet shumë i mirë edhe me grafikë, mësim makinerik (machine learning), aplikacione mobile, etj.

Karakteristikë tjetër e Go është se ai është open source, kështu që të gjitha mjetet e nevojshme për punë u janë në dispozicion gjithkujt dhe janë pa pagesë.

Go si gjuhë e re progamore është krijuar në radhë të parë për të qenë gjuhë e thjeshtë edhe efiçente për ndërtimin e back-end sistemeve. Go në veçanti ka fituar popullaritet si gjuhë për shkrimin e Web aplikacioneve dhe mikroserviseve.

Go një set të begatshëm dhe gjithpërfshirës të librarive standarde.

Në sintaksë është i ngjashëm me C, por ka veti unike të cilat nuk i hasim në gjuhët e tjera. Ndonëse konsiderohet si trashëgimtar i C, Go në fakt trashëgon edhe karakteristika nga gjuhë të ndryshme programore. Është i ngjashëm me C për sa i përket strukturave kontrolluese (control-flow statements), tipeve bazike të të dhënave (basic data types), sintaksën e shprehjeve (expression syntax), etj.

Ndër objektivat primare të Go është që për nga performanca të jetë i krahasueshëm me C, gjë që nuk është arritur në tërësi. Megjithatë, Go tregon performancë superiore në krahasim me gjuhët e interpretuara, në veçanti kur kemi të bëjmë me ekzekutimin konkurrent të kodit nëpërmes goroutines, me anë të të cilave mundësohet procesimi i një numri të madh të kërkesave njëkohësisht. Kjo në veçanti është e rëndësishme për Web aplikacionet, të cilat duhet t’iu nënshtrohen kërkesave të shumëfishta në të njëjtën kohë.

Tri qëllime kryesore të dizajnuesve të Go kanë qenë:

  • Tipizimi statik (static type) dhe efiçenca gjatë kohës së ekzekutimit (run-time effeciency)
  • Lexueshmëria dhe përdorshmëria
  • Performanca e lartë në operacionet rrjetor dhe multiprocesim

Është gjuhë statically typed, veti kjo që e diferencon nga gjuhët me tipe dinamike siç janë PHP, Python, Ruby, etj. Te gjuhët programore statically typed, variablat deklarohen në mënyrë eksplicite përfshirë këtu edhe tipin e variablit (nëse është numër i plotë, numër me presje dhjetore, tekst, etj). Këtij grupimi të gjuhëve programore i përkasin edhe gjuhët: Java, C, C#, C++, Scala, etj.

Programi në Go duhet të kompajlohet para se të ekzekutohet. Kjo nënkupton që kodi shkruhet në një tekst editor, më pas thirret kompajleri i cili nga kodi burimor (source code), e krijon kodin ekzekutues në gjuhën makinerike. Kjo procedurë duhet të ndiqet pas çdo ndryshimi në kodin burimor.

Ekzektimi i programit të shkruar në Go është shumë më i shpejtë se i atyre të shkruara në gjuhët e interpretuara siç janë PHP apo Python dhe për shkak se është statically typed, shumë më rrallë mund të paraqiten gabime gjatë ekzekutimit, sepse shumë prej gabimeve mund të detektohen gjatë fazës së kompajlimit, pra para ekzekutimit.

Go mundëson gjenerimin e kodit ekzekutues për sisteme operative të ndryshme: Windows, Linux apo macOS, pa marrë parasysh në cilin sistem operativ jeni duke e shkruar kodin burimor. Pa marrë parasysh sa fajlla me kod burimor keni krijuar, gjatë procesit të kompajlimit në Go do të krijohet një fajll me kod ekzekutues.

Tahir Hoxha

All Rights Reserved Theme by 404 THEME.