Есть ответы
Прав ли Борисов в возникшем споре?

У нас на работе разгорелся спор. Борисов (наш тимлид) настаивает на том, что все новые микросервисы должны писать ТОЛЬКО на Go, потому что "это стандарт индустрии и все остальное легаси". При этом у нас уже есть рабочие сервисы на Python и Node, команда их знает хорошо, и новая задача - это небольшой внутренний инструмент без особых требований к производительности.

Я считаю что выбор языка под задачу и команду важнее следования трендам. Кто прав?

37
Эксперт • 1 ответ

Вопрос не в том, кто прав технически. Вопрос в том, что это тимлид и его слово весит больше независимо от аргументов. Ты можешь быть сто раз прав, но если не умеешь правильно подать позицию - проиграешь.

Попробуй не "ты не прав", а "можем ли мы оценить стоимость перехода на Go для команды конкретно для этого сервиса". Попроси посчитать: время на рампап, риски, выгода. Если цифры не сходятся - тимлид сам увидит.

32
Эксперт • 1 ответ

Ты прав, Борисов нет.

"Стандарт индустрии" - это не аргумент для конкретного решения. Стандарт для чего? Netflix на Java, Cloudflare на Rust, Stripe на Ruby. Язык выбирают под задачу, команду и контекст.

Внутренний инструмент без нагрузки на Python, который вся команда знает - это разумный выбор. Переписывать на Go ради Go - это техдолг в другом обличии.

24
Участник • 4 ответа

А может Борисов прав в долгосрочной перспективе? Размножение языков в одном проекте - это операционная нагрузка. Разные тулчейны, разные практики, разные ошибки. Go сейчас реально хорош для сервисов и его выучить не так страшно.

Я бы посмотрел на это не как "Go vs Python", а как "хотим ли мы через два года поддерживать зоопарк из трех языков".

Аватар Максим Коуч

Хороший аргумент. Но "внутренний инструмент" скорее всего никуда не вырастет. Если это реально небольшая утилита - оверхед от добавления Go перевесит оверхед от "зоопарка".

20
Эксперт • 1 ответ

"Все остальное - легаси" это технологический снобизм, а не архитектурное мышление. Python не легаси. Node не легаси. Go отличный язык, но это не молоток которым бьют все гвозди.

Если тимлид это говорит серьезно - либо он недавно прочитал какую то статью про Go и теперь фанатеет, либо у него есть скрытый мотив (хочет научиться Go за счет рабочего времени). Оба варианта не про архитектуру.

2
Эксперт • 1 ответ

Если сервис внутренний и нет требований к перфу - Python очевидный выбор. Ускорение разработки, знакомый тулинг, меньше ошибок от неопытности в незнакомом языке.

Go оправдан когда: нужна конкурентность с горутинами, нужен маленький бинарник в контейнере, нужна высокая нагрузка с минимальными задержками. Без этих условий - просто хайп.

Написать ответ

Премодерация гостей

Вы отвечаете как гость. Ваш ответ будет скрыт до проверки модератором. Чтобы ответ появился сразу и вы получали репутацию — войдите в аккаунт.

Будьте вежливы и соблюдайте правила платформы.