Сегодня столкнулся с тем, что коллеги иногда болтают с горяча лишнего, основываясь не на рациональной, подтверждённой экспериментально, мысли, с цифрами на руках, а на сиюминутной эмоциональной экспрессии.
Предлагая велосипеды там, где они не помогут.
С любителями «старой доброй, самой лучшей школы мысли и жизни» столкнулся.
С любителями платиновой сишки.
Вводные:
Есть некоторый restful API сервис, который написан серьёзными энтерпрайз разработчиками на Джаве.
Spring Boot, КроликЭмКу, стандартный набор батареек, ну и аппаратные устройства, назовём их вычислительные устройства (ВУ).
Этот сервис активно работает в проде, проблемы есть но в основном из-за запутанности (корпоративно-исторически обусловленной запутанности) архитектуры и неидеальности оперативной организации труда этих энтерпрайз разрабов. Но в общем и целом - ничего экстраординарного для реального опыта проблем в индустрии.
Но зависть к ребятам большая, типа они разрабы, а мы - их клиенты.
Но ребята типа дорогие, а бизнес всегда хочет сэкономить, тем более кризис экономики…
Возникает идея («ты ж программист!»), типа, для новых проектов, где не самые пиковые нагрузки, слепим что-то попроще, без очередей сообщений, без кровавого джава-энтерпрайза, просто возьмём где можно опенсорс батарейки, слепим, протестируем - и ОК.
На Питоне.
Сказано - сделано, и оно даже работает, и клиенты счастливы.
Но вот, в один прекрасный день, поступает предложение. Переписать прокладку между собственно веб-сервисом и ВУ с Питона на C.
Мотицация - не хотим использовать опенсорс-обёртку, мало ли кто там её разрабатывает? а вдруг он завтра под поезд попадёт, и мы не сможем эту обёртку поддерживать. А атаки на каналы поставки, официальную репу PyPI, и вот это всё не наше хозяйство?
И вообще, Питон медленный, переусложнённый и не готов для промышленного применения.
Перепишем эту обёртку на C.
На вопрос «а если потом таки будем очередь сообщений добавлять, то в неё писать и из неё читать тоже на сишке?»
следует ответ «ну конечно!»
Дальше, предлагаю, коль скоро не устраивает производительность кода на питоне, взять таки Джаву, ведь у серьёзных энтерпрайз ребят она уже работает. Ответ: «ну ты же видишь, что на этой Джаве у нас как-то всё тормозит?!»
А откуда они знают, что в Джаве причина тормоза, а не в архитектуре?
А кто-то измерял самые простейшие вещи, типа загрузки процессора сборщиком мусора?
Нет, никто ничего не измерял.
Предлагаю C++. Опять воротят нос, мол после стандарта образца xyz года там такого наворотили, что чёрт ногу сломит.
Говорю «а кто-то заставляет непременно фичи новых стандартов использовать?»
В ответ тишина. Не подходят людям технологические достижения в языках высокого уровня за последние 50 лет.
Предпочитают ковбойский сишный наскок, а там - будь, что будет…
Как с такими людьми работать?