Zapis arhitekturne odluke: programski jezik Go
Naslov: Usvajanje programskog jezika Go
Status: Prihvaćeno
Kontekst
Naša organizacija dosad je primarno koristila programski jezik Java za izradu web aplikacija. Međutim, susrećemo se s određenim izazovima zbog opširnosti Jave i složenosti nekih okvira. Također, naš je tim pokazao interes za istraživanje modernih programskih jezika za učinkovitiji i robusniji razvoj. Nakon istraživanja identificirali smo Go kao potencijalno rješenje problema s kojima se suočavamo s Javom.
Odluka
Ubuduće ćemo usvojiti programski jezik Go za izradu web aplikacija.
Obrazloženje
Jednostavnost i čitljivost: Go je poznat po jednostavnosti i sažetoj sintaksi. To olakšava čitanje i pisanje koda, smanjujući složenost našeg razvojnog procesa.
Visoke performanse i skalabilnost: Go se kompajlira u strojni kod koji se izvorno izvodi na poslužitelju. To rezultira bržim vremenima izvršavanja i boljim performansama u usporedbi s interpretiranim jezicima poput Jave. Osim toga, Goov model istodobnosti istodobno obrađuje više zahtjeva, što ga čini vrlo skalabilnim.
Snažna podrška zajednice: Go ima živu zajednicu programera koji su tijekom godina doprinijeli njegovu rastu. To znači da postoji mnogo resursa, biblioteka i okvira koji nam pomažu započeti i graditi robusne aplikacije.
Fleksibilnost: Go se može koristiti i za front-end i za back-end razvoj. To znači da možemo iskoristiti njegove prednosti u oba područja za naše razvojne projekte.
Implikacije
Obuka: Naši programeri morat će proći obuku kako bi naučili programski jezik Go i njegove nijanse.
Iskustvo: Možemo se suočiti s određenim izazovima pri prelasku s Jave na Go. Našim programerima može trebati neko vrijeme da ovladaju novim jezikom.
Alati: Morat ćemo usvojiti nove alate i okvire specifične za Go. Međutim, možemo iskoristiti postojeću infrastrukturu koju imamo kako bismo smanjili utjecaj ove promjene.
Zaključavanje kod dobavljača: Go je programski jezik otvorenog koda i nećemo biti vezani ni za jednog dobavljača ili pružatelja usluga.
Zaključak
Usvajanje programskog jezika Go pomoći će nam poboljšati razvojni proces i graditi robusne aplikacije. Morat ćemo uložiti resurse u obuku i alate kako bismo podržali ovaj prijelaz, ali vjerujemo da koristi ove odluke nadmašuju troškove.