Architekturális döntési feljegyzés: Go programozási nyelv
Cím: A Go programozási nyelv bevezetése
Állapot: Elfogadott
Háttér
Szervezetünk főként a Java programozási nyelvet használta webalkalmazások építéséhez. A Java bőbeszédűsége és egyes keretrendszerek bonyolultsága miatt azonban nehézségekkel szembesülünk. Csapatunk emellett érdeklődést mutatott a modern programozási nyelvek felfedezése iránt a hatékonyabb és robusztusabb fejlesztés érdekében. A kutatás után a Go-t azonosítottuk a Javával kapcsolatos problémáink lehetséges megoldásaként.
Döntés
Mostantól a Go programozási nyelvet fogjuk használni webalkalmazások építéséhez.
Indoklás
Egyszerűség és olvashatóság: A Go az egyszerűségéről és tömör szintaxisáról ismert. Ez könnyűvé teszi a kód olvasását és írását, csökkentve a fejlesztési folyamatunk bonyolultságát.
Magas teljesítmény és skálázhatóság: A Go gépi kódra fordítódik, amely natívan fut a kiszolgálón. Ez gyorsabb végrehajtási időket és jobb teljesítményt eredményez az értelmezett nyelvekhez, például a Javához képest. Ráadásul a Go párhuzamossági modellje egyszerre több kérést kezel, ami erősen skálázhatóvá teszi.
Erős közösségi támogatás: A Go-nak élénk fejlesztői közössége van, amely az évek során hozzájárult a növekedéséhez. Ez azt jelenti, hogy rengeteg forrás, könyvtár és keretrendszer áll rendelkezésre, amelyek segítenek elindulni és robusztus alkalmazásokat építeni.
Rugalmasság: A Go használható mind front-end, mind back-end fejlesztéshez. Ez azt jelenti, hogy mindkét területen kihasználhatjuk az előnyeit fejlesztési projektjeinkhez.
Következmények
Képzés: Fejlesztőinknek képzésen kell részt venniük, hogy megtanulják a Go programozási nyelvet és annak árnyalatait.
Tapasztalat: Kihívásokkal szembesülhetünk a Javáról Go-ra való átállás során. Eltarthat egy ideig, mire fejlesztőink jártasak lesznek az új nyelvben.
Eszközök: Új, a Go-ra specifikus eszközöket és keretrendszereket kell majd bevezetnünk. A meglévő infrastruktúránkat azonban kihasználhatjuk, hogy minimalizáljuk e változás hatását.
Beszállítófüggés: A Go nyílt forráskódú programozási nyelv, és nem leszünk kötve egyetlen szállítóhoz vagy szolgáltatóhoz sem.
Összegzés
A Go programozási nyelv bevezetése segít javítani fejlesztési folyamatunkat és robusztus alkalmazásokat építeni. Erőforrásokat kell majd fektetnünk a képzésbe és az eszközökbe az átállás támogatására, de úgy véljük, hogy e döntés előnyei meghaladják a költségeket.