Rejestr decyzji architektonicznych: język programowania Go
Tytuł: Przyjęcie języka programowania Go
Status: Zaakceptowany
Kontekst
Nasza organizacja głównie używała języka programowania Java do budowy aplikacji internetowych. Napotykamy jednak pewne trudności z powodu rozwlekłości Javy i złożoności niektórych frameworków. Ponadto nasz zespół wykazał zainteresowanie poznawaniem nowoczesnych języków programowania dla bardziej efektywnego i solidnego rozwoju. Po przeprowadzeniu badań zidentyfikowaliśmy Go jako potencjalne rozwiązanie problemów, z którymi mierzymy się w Javie.
Decyzja
Od teraz będziemy używać języka programowania Go do budowy aplikacji internetowych.
Uzasadnienie
Prostota i czytelność: Go jest znany z prostoty i zwięzłej składni. Dzięki temu kod jest łatwy do czytania i pisania, co zmniejsza złożoność naszego procesu rozwoju.
Wysoka wydajność i skalowalność: Go jest kompilowany do kodu maszynowego, który działa natywnie na serwerze. Skutkuje to krótszymi czasami wykonania i lepszą wydajnością w porównaniu z językami interpretowanymi, takimi jak Java. Ponadto model współbieżności Go obsługuje wiele żądań jednocześnie, co czyni go wysoce skalowalnym.
Silne wsparcie społeczności: Go ma żywą społeczność programistów, którzy przez lata przyczyniali się do jego rozwoju. Oznacza to, że jest wiele zasobów, bibliotek i frameworków, które pomogą nam zacząć i budować solidne aplikacje.
Elastyczność: Go może być używany zarówno do tworzenia front-endu, jak i back-endu. Oznacza to, że możemy wykorzystać jego zalety w obu obszarach w naszych projektach.
Implikacje
Szkolenia: Nasi programiści będą musieli przejść szkolenie, aby nauczyć się języka programowania Go i jego niuansów.
Doświadczenie: Podczas przejścia z Javy na Go możemy napotkać pewne trudności. Może minąć trochę czasu, zanim nasi programiści opanują nowy język.
Narzędzia: Będziemy musieli przyjąć nowe narzędzia i frameworki specyficzne dla Go. Możemy jednak wykorzystać istniejącą infrastrukturę, aby zminimalizować wpływ tej zmiany.
Uzależnienie od dostawcy: Go jest językiem programowania open source i nie będziemy związani z żadnym dostawcą ani usługodawcą.
Podsumowanie
Przyjęcie języka programowania Go pomoże nam ulepszyć proces rozwoju i budować solidne aplikacje. Będziemy musieli zainwestować zasoby w szkolenia i narzędzia wspierające tę zmianę, ale uważamy, że korzyści z tej decyzji przewyższają koszty.