tgoop.com/reinforced_sc/25
Last Update:
Проповедь
Большинство наших приложений состоят из трёх основных частей: инфра, логика и UI. И разработчики из этих трёх разных областей сейчас ведут между собой холивары. Те, кто инфрой занимается — это DevOps, гошники, строители дата-пайплайнов, опытные пользователи БД и писатели интеграции CI с hashicorp vault. Те, кто занимается логикой — сейчас всё больше проповедует функциональное программирование, строгую типизацию, ран-тайм проверки и code coverage. Адепты UI-разработки преимущественно с горящими глазами рассказывают какой офигенный фронтенд, как на нём просто и быстро можно нафигачить и какой у ноды крутой тулинг — вон на нём даже сервера можно фигачить.
Остановитесь! Перестаньте воевать друг с другом. Неужели непонятно, что сделать хороший продукт на технологиях для какой-то одной части - невозможно?
Вы не соберёте хороший продукт на go, готовых контейнерах со всякой гадостью и кубернетисе. Начнёте писать логику на go — помрёте и перемешаете её с инфрой и закончите контейнерным монолитом. UI скорее всего будет набросан на коленке. А если у вас совсем тёмное прошлое за плечами — то будет у вас база данных и логика на stored-процедурах. Просто потому что вы их знаете и любите. Прямо как в той спорной истории с Lingualeo.
Не соберёте вы хороший продукт и на голом Haskell, потому что это скорее некая эзотерика будет, а не эффективно работающее бизнес-решение. Если такой продукт выстрелит, не дай б-же — будете потом носиться по всей стране и искать разработчиков себе в команду. Или, скажем, потонете в борьбе с производительностью Python-а на больших нагрузках. Tornado конечно держит 10к соединений, но nginx держит больше. А шаблонизатор django не даст вам спокойно сделать SPA, используя всю широту инструментов фронтенда.
Что касается .NET и Java — их, конечно, можно взять для полного стека. Однако же, из своего опыта скажу - их прям надо УМЕТЬ готовить чтобы было хорошо. Для Java — уметь настраивать виртуальную машину под потребление памяти, подбирать правильные фреймворки и немного программировать на XML. Для .NET — вовремя убежать от MS-овских облаков, отказаться от IIS и перейти на Core (который сравнительно свеж, а поэтому его может потряхивать при работе).
Ну и с однопоточным сервером на ноде, будем честны, вы тоже долго не протянете. CPU-bound операции вроде генерации excel-ничков и pdf-ничков заставят вас дебажить при высокой нагрузке, лепить эпические костыли и в итоге настраивать левой пяткой кубернетис. А если вы ещё и любитель динамической типизации, то бизнес-логикой себе все ноги отстрелите. Зато фронтенд будет весело свистеть и раскатисто пердеть.
Братья, давайте закончим бессмысленные войны, обнимемся и признаем что друг без друга мы мало что сделаем в реалиях современного IT. Мы решаем идеологически разные задачи и нет никакого смысла "логистам" троллить фронтендеров извечным "аааа когда банки переедут на джаваскрипт мы все умрём". Нет смысла гошникам троллить джавистов а-ля "а чё у вас аппликуха так медленно работает?". Нет смысла... (и тут я понял что не могу вспомнить как фронтендеры троллят инфраструктурщиков).
На самом деле я уже довольно давно считаю что всё в нашей профессии — инструмент. Он не может быть плохим или хорошим. Он может подходить под задачу, а может не подходить.
Давайте просто выбирать инструменты вдумчиво и правильно.
Такие дела.
BY Novikov on Soapbox
Share with your friend now:
tgoop.com/reinforced_sc/25