Рубріки: Мнение

Осторожнее с новым Go: разработчик призвал быть аккуратнее из-за обновления языка

Богдан Мирченко

Бета Go 1.18 не за горами, а это значит, что язык программирования ждет самое масштабное и ожидаемое изменение с момента его создания, связанное с добавлением дженериков. Нужно ли усложнять ими язык — спорный вопрос, но большая часть специалистов называют их отсутствие «критической проблемой». Что делать, чтобы новая функция не навредила, — своими мыслями на этот счет поделился разработчик под ником robpike. 

Не надо торопиться

Несмотря на то, что многие разработчики не используют в работе Go из-за отсутствия дженериков, среди них есть и те, кто относится к новой функции с осторожностью. Они опасаются того, что, как минимум, обобщение типов может усложнить читабельность кода и что размещение дженериков в библиотеке затруднит развертывание. Поэтому, чтобы избежать этого robpike предлагает не обновлять библиотеки в версии 1.18. 

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

Ждать, наблюдать и учиться

Для дженериков пока неизвестно, что за способы это будут. Кроме того, обещание совместимости с библиотеками делает вероятность ненужных ошибок довольно высокой. Разработчики должны ждать, наблюдать и учиться, отметил robpike. 

Специалист предлагает пока что продолжать разрабатывать, создавать, тестировать и использовать новые библиотеки, но для начала помещать их в репозиторий golang/x/exp. Так новые библиотеки, которые будут экспериментальными, могут быть протестированы в производстве, но также могут быть изменены, адаптированы и дополнены в течение цикла или двух, позволяя всему сообществу опробовать их. После того, как библиотеки немного адаптируются и улучшатся за счет коллективного опыта, robpike предлагает перенести их в основной репозиторий — уже с уверенностью в том, что все хорошо работает. 

Многие хотят скорее опробовать новые языковые возможности и с нетерпением ждут исправлений некоторых проблем в основных библиотеках, которые станут менее неуклюжими после появления дженериков, но, уверен robpike, что пока лучше не спешить.

Релиз бета-версии Go 1.18 ожидается в конце 2021 года.

Останні статті

Что такое прокси-сервер: пояснение простыми словами, зачем нужны прокси

Прокси (proxy), или прокси-сервер — это программа-посредник, которая обеспечивает соединение между пользователем и интернет-ресурсом. Принцип…

21.11.2024

Что такое PWA приложение? Зачем необходимо прогрессивное веб-приложение

Согласитесь, было бы неплохо соединить в одно сайт и приложение для смартфона. Если вы еще…

19.11.2024

Как создать игру на телефоне: программирование с помощью конструктора

Повсеместное распространение смартфонов привело к огромному спросу на мобильные игры и приложения. Миллиарды пользователей гаджетов…

17.11.2024

Google Bard: эффективный аналог ChatGPT

В перечне популярных чат-ботов с искусственным интеллектом Google Bard (Gemini) еще не пользуется такой популярностью…

14.11.2024

Скрипт и программирование: что это такое простыми словами

Скрипт (англ. — сценарий), — это небольшая программа, как правило, для веб-интерфейса, выполняющая определенную задачу.…

12.11.2024

Дедлайн в разработке: что это такое простыми словами

Дедлайн (от англ. deadline — «крайний срок») — это конечная дата стачи проекта или задачи…

11.11.2024