Architecture Decision Record

Active theme: Light

← Приклади записів рішень

Запис архітектурного рішення: мова програмування Go

Назва: впровадження мови програмування Go

Статус: прийнято

Контекст

Наша організація переважно використовувала мову програмування Java для створення вебзастосунків. Проте ми стикаємося з певними труднощами через багатослівність Java та складність деяких фреймворків. Крім того, наша команда виявила зацікавленість у вивченні сучасних мов програмування для ефективнішої та надійнішої розробки. Після проведення дослідження ми визначили Go як потенційне розв’язання проблем, з якими ми стикаємося з Java.

Рішення

Надалі ми впровадимо мову програмування Go для створення вебзастосунків.

Обґрунтування

  1. Простота й читабельність: Go відомий своєю простотою та лаконічним синтаксисом. Це полегшує читання й написання коду, зменшуючи складність нашого процесу розробки.

  2. Висока продуктивність і масштабованість: Go компілюється в машинний код, який виконується на сервері нативно. Це дає швидший час виконання та кращу продуктивність порівняно з інтерпретованими мовами, як-от Java. Крім того, модель паралелізму Go обробляє кілька запитів одночасно, що робить його високомасштабованим.

  3. Сильна підтримка спільноти: Go має жваву спільноту розробників, які роками сприяли його розвитку. Це означає, що є багато ресурсів, бібліотек і фреймворків, які допоможуть нам почати та створювати надійні застосунки.

  4. Гнучкість: Go можна використовувати і для розробки клієнтської, і для серверної частини. Це означає, що ми можемо скористатися його перевагами в обох галузях для наших проєктів розробки.

Наслідки

  1. Навчання: наші розробники мають пройти навчання, щоб вивчити мову програмування Go та її нюанси.

  2. Досвід: ми можемо зіткнутися з певними труднощами під час переходу з Java на Go. Розробникам може знадобитися певний час, щоб освоїти нову мову.

  3. Інструменти: нам потрібно буде впровадити нові інструменти та фреймворки, специфічні для Go. Проте ми можемо скористатися наявною інфраструктурою, щоб мінімізувати вплив цієї зміни.

  4. Прив’язка до постачальника: Go — мова програмування з відкритим кодом, і ми не будемо прив’язані до жодного постачальника чи провайдера послуг.

Висновок

Впровадження мови програмування Go допоможе нам покращити процес розробки та створювати надійні застосунки. Нам доведеться інвестувати ресурси в навчання та інструменти для підтримки цього переходу, але ми вважаємо, що переваги цього рішення переважують витрати.

Подяка: цю сторінку згенерував ChatGPT, після чого її відредагували для ясності та формату.