Záznam architektonického rozhodnutí: programovací jazyk Go
Název: Přijetí programovacího jazyka Go
Stav: Přijaté
Kontext
Naše organizace dosud primárně používala programovací jazyk Java k vytváření webových aplikací. Setkáváme se však s určitými potížemi kvůli rozvláčnosti Javy a složitosti některých frameworků. Náš tým také projevil zájem o prozkoumání moderních programovacích jazyků pro efektivnější a robustnější vývoj. Po výzkumu jsme identifikovali Go jako potenciální řešení problémů, kterým čelíme s Javou.
Rozhodnutí
Od nynějška budeme pro vytváření webových aplikací používat programovací jazyk Go.
Odůvodnění
Jednoduchost a čitelnost: Go je známé svou jednoduchostí a stručnou syntaxí. Díky tomu se kód snadno čte a píše, což snižuje složitost našeho vývojového procesu.
Vysoký výkon a škálovatelnost: Go se kompiluje do strojového kódu, který běží nativně na serveru. To vede ke kratším dobám provádění a lepšímu výkonu ve srovnání s interpretovanými jazyky, jako je Java. Navíc model souběžnosti Go zpracovává více požadavků současně, což ho činí vysoce škálovatelným.
Silná podpora komunity: Go má živou komunitu vývojářů, kteří v průběhu let přispěli k jeho růstu. To znamená, že existuje spousta zdrojů, knihoven a frameworků, které nám pomohou začít a vytvářet robustní aplikace.
Flexibilita: Go lze použít pro vývoj front-endu i back-endu. To znamená, že můžeme využít jeho výhod v obou oblastech pro naše vývojové projekty.
Důsledky
Školení: Naši vývojáři budou muset projít školením, aby se naučili programovací jazyk Go a jeho nuance.
Zkušenosti: Při přechodu z Javy na Go můžeme čelit určitým výzvám. Může nějakou dobu trvat, než se naši vývojáři s novým jazykem zdokonalí.
Nástroje: Budeme muset přijmout nové nástroje a frameworky specifické pro Go. Můžeme však využít stávající infrastrukturu, abychom minimalizovali dopad této změny.
Závislost na dodavateli: Go je open source programovací jazyk a nebudeme vázáni na žádného dodavatele ani poskytovatele služeb.
Závěr
Přijetí programovacího jazyka Go nám pomůže zlepšit náš vývojový proces a vytvářet robustní aplikace. Budeme muset investovat zdroje do školení a nástrojů na podporu tohoto přechodu, ale věříme, že přínosy tohoto rozhodnutí převažují nad náklady.