AI Почему Go?

AI

Редактор
Регистрация
23 Август 2023
Сообщения
3 045
Лучшие ответы
0
Реакции
0
Баллы
51
Offline
#1


На моих трансляциях лайв-кодинга постоянно всплывает этот вопрос. Проговаривал много раз, но если записать ответ, то дальше можно просто выдавать ссылку.

Кодить начал в 1995-ом на Delphi для автоматизации каталога компьютерных комплектующих. Я был успешным менеджером оптовых и дилерских продаж в системном интеграторе, но занимался любимым делом всё свободное время. Накопил два чемодана книжек по программированию. И повторял, что вместо выписывания счетов-фактур, я стану разработчиком. Первые веб-проекты поставили вопрос про хайлоад, сохранилась публикация в журнале Компьютер-Пресс, которая была перепечатана из интернетов в 2000-ом. Тогда же товарищ показал PHP, который меня очаровал. Ты решаешь прикладные задачи, остальное спрятано под капотом. Зачем я это рассказываю?

На 12 лет PHP стал основным инстументом моей новой профессии вебмастера. Хайлоад на чистом PHP и с применением демонов на C через интерфейс memcached. Но это был вертикально масштабируемый хайлоад. Конференции рекламировали, что есть другой более эффективный путь - горизонтально масштабируемый хайлоад. Асинхроннная модель цикла событий в NodeJS обещала, что можно брать больше и кидать дальше. Хорошо, ещё 5 лет потрачено, пока не попробовал Golang. И это уже 2017-ый (надо было раньше). Божечки мои! Переход с NodeJS на Go - такой же кайф, как после Delphi на PHP. Ты снова решаешь прикладные задачи без лишних забот.

Вот он, настоящий горизонтально масштабируемый хайлоад. Горутины и каналы - это же элементарно, Ватсон. Ненавязчивая типизация, в сравнении с TypeScript. Отказ от фреймворков, подтверждённый развитой базовой библиотекой. Очень быстрый старт. Хотя простота обманчива, конечно. Собрал больше 300 секретов на сегодня, это не предел. И я много раз видел, что большие легаси-системы на PHP и NodeJS применяют Go для удаления узких мест в хайлоад. Микросервисный подход решает самый главный вопрос - как управлять сложностью системы. Немного пугает воинствующая секта свидетелей идеоматичности. Другая крайность - появляются фреймворки, например Goravel. Но пока не вижу такого засилия, как Laravel и NestJS в экосистемах PHP и NodeJS.


Пожалуйста, оцените мой прекрасный проект для портфолио (архитектура из ОЗОНа с правильным покрытием тестами) https://github.com/comerc/budva43
 
Сверху Снизу