Запис архітектурного рішення: мова програмування Go
Назва: впровадження мови програмування Go
Статус: прийнято
Контекст
Наша організація переважно використовувала мову програмування Java для створення вебзастосунків. Проте ми стикаємося з певними труднощами через багатослівність Java та складність деяких фреймворків. Крім того, наша команда виявила зацікавленість у вивченні сучасних мов програмування для ефективнішої та надійнішої розробки. Після проведення дослідження ми визначили Go як потенційне розв’язання проблем, з якими ми стикаємося з Java.
Рішення
Надалі ми впровадимо мову програмування Go для створення вебзастосунків.
Обґрунтування
Простота й читабельність: Go відомий своєю простотою та лаконічним синтаксисом. Це полегшує читання й написання коду, зменшуючи складність нашого процесу розробки.
Висока продуктивність і масштабованість: Go компілюється в машинний код, який виконується на сервері нативно. Це дає швидший час виконання та кращу продуктивність порівняно з інтерпретованими мовами, як-от Java. Крім того, модель паралелізму Go обробляє кілька запитів одночасно, що робить його високомасштабованим.
Сильна підтримка спільноти: Go має жваву спільноту розробників, які роками сприяли його розвитку. Це означає, що є багато ресурсів, бібліотек і фреймворків, які допоможуть нам почати та створювати надійні застосунки.
Гнучкість: Go можна використовувати і для розробки клієнтської, і для серверної частини. Це означає, що ми можемо скористатися його перевагами в обох галузях для наших проєктів розробки.
Наслідки
Навчання: наші розробники мають пройти навчання, щоб вивчити мову програмування Go та її нюанси.
Досвід: ми можемо зіткнутися з певними труднощами під час переходу з Java на Go. Розробникам може знадобитися певний час, щоб освоїти нову мову.
Інструменти: нам потрібно буде впровадити нові інструменти та фреймворки, специфічні для Go. Проте ми можемо скористатися наявною інфраструктурою, щоб мінімізувати вплив цієї зміни.
Прив’язка до постачальника: Go — мова програмування з відкритим кодом, і ми не будемо прив’язані до жодного постачальника чи провайдера послуг.
Висновок
Впровадження мови програмування Go допоможе нам покращити процес розробки та створювати надійні застосунки. Нам доведеться інвестувати ресурси в навчання та інструменти для підтримки цього переходу, але ми вважаємо, що переваги цього рішення переважують витрати.