Architecture Decision Record

Active theme: Light

← Primeri zapisov odločitev

Zapis arhitekturne odločitve: programski jezik Go

Naslov: Uvedba programskega jezika Go

Stanje: Sprejeto

Kontekst

Naša organizacija je za gradnjo spletnih aplikacij doslej večinoma uporabljala programski jezik Java. Vendar se soočamo z nekaterimi izzivi zaradi besednosti jezika Java in kompleksnosti nekaterih ogrodij. Naša ekipa je tudi pokazala zanimanje za raziskovanje sodobnih programskih jezikov za učinkovitejši in robustnejši razvoj. Po opravljeni raziskavi smo kot možno rešitev težav, s katerimi se soočamo pri Javi, prepoznali Go.

Odločitev

Za gradnjo spletnih aplikacij bomo odslej uvedli programski jezik Go.

Utemeljitev

  1. Preprostost in berljivost: Go je znan po svoji preprostosti in jedrnati sintaksi. To olajša branje in pisanje kode ter zmanjša kompleksnost našega razvojnega procesa.

  2. Visoka zmogljivost in razširljivost: Go se prevede v strojno kodo, ki se izvaja izvorno na strežniku. To pomeni hitrejši čas izvajanja in boljšo zmogljivost v primerjavi z interpretiranimi jeziki, kot je Java. Poleg tega model sočasnosti v jeziku Go hkrati obravnava več zahtev, zaradi česar je zelo razširljiv.

  3. Močna podpora skupnosti: Go ima živahno skupnost razvijalcev, ki so v preteklih letih prispevali k njegovi rasti. To pomeni, da je na voljo veliko virov, knjižnic in ogrodij, ki nam pomagajo začeti in graditi robustne aplikacije.

  4. Prilagodljivost: Go je mogoče uporabljati tako za razvoj uporabniškega dela kot zaledja. To pomeni, da lahko njegove prednosti izkoristimo na obeh področjih svojih razvojnih projektov.

Posledice

  1. Usposabljanje: Naši razvijalci se bodo morali usposobiti za učenje programskega jezika Go in njegovih posebnosti.

  2. Izkušnje: Pri prehodu z Jave na Go se lahko soočimo z nekaterimi izzivi. Naši razvijalci bodo morda potrebovali nekaj časa, da bodo obvladali novi jezik.

  3. Orodja: Uvesti bomo morali nova orodja in ogrodja, specifična za Go. Vendar lahko izkoristimo obstoječo infrastrukturo, ki jo že imamo, da zmanjšamo vpliv te spremembe.

  4. Zaklenitev pri dobavitelju: Go je odprtokodni programski jezik in ne bomo vezani na nobenega dobavitelja ali ponudnika storitev.

Sklep

Uvedba programskega jezika Go nam bo pomagala izboljšati razvojni proces in graditi robustne aplikacije. Za podporo tega prehoda bomo morali vložiti vire v usposabljanje in orodja, vendar verjamemo, da koristi te odločitve odtehtajo stroške.

Zasluge: to stran je ustvaril ChatGPT, nato pa je bila urejena zaradi jasnosti in oblike.