Запись архитектурного решения: язык программирования Go
Название: принятие языка программирования Go
Состояние: принято
Контекст
Наша организация в основном использовала язык программирования Java для создания веб-приложений. Однако мы сталкиваемся с некоторыми трудностями из-за многословности Java и сложности некоторых фреймворков. Кроме того, наша команда проявила интерес к изучению современных языков программирования для более эффективной и надёжной разработки. После исследования мы определили Go как возможное решение проблем, с которыми мы сталкиваемся в Java.
Решение
Мы будем использовать язык программирования Go для создания веб-приложений в дальнейшем.
Обоснование
Простота и читаемость: Go известен своей простотой и лаконичным синтаксисом. Это упрощает чтение и написание кода, снижая сложность нашего процесса разработки.
Высокая производительность и масштабируемость: Go компилируется в машинный код, который выполняется на сервере нативно. Это приводит к более быстрому выполнению и лучшей производительности по сравнению с интерпретируемыми языками вроде Java. Кроме того, модель конкурентности Go обрабатывает несколько запросов одновременно, что делает его очень масштабируемым.
Сильная поддержка сообщества: у Go яркое сообщество разработчиков, которые вносили вклад в его рост на протяжении многих лет. Это означает, что есть множество ресурсов, библиотек и фреймворков, которые помогут нам начать и создавать надёжные приложения.
Гибкость: Go можно использовать как для фронтенд-, так и для бэкенд-разработки. Это значит, что мы можем использовать его преимущества в обеих областях для наших проектов разработки.
Следствия
Обучение: нашим разработчикам потребуется пройти обучение, чтобы изучить язык программирования Go и его нюансы.
Опыт: при переходе с Java на Go мы можем столкнуться с некоторыми трудностями. Нашим разработчикам может потребоваться некоторое время, чтобы освоить новый язык.
Инструменты: нам придётся принять новые инструменты и фреймворки, специфичные для Go. Однако мы можем использовать имеющуюся у нас инфраструктуру, чтобы свести к минимуму влияние этого изменения.
Привязка к поставщику: Go — язык программирования с открытым исходным кодом, и мы не будем привязаны ни к какому поставщику или провайдеру услуг.
Заключение
Принятие языка программирования Go поможет нам улучшить наш процесс разработки и создавать надёжные приложения. Нам придётся вложить ресурсы в обучение и инструменты для поддержки этого перехода, но мы считаем, что преимущества этого решения перевешивают затраты.