LINUX.ORG.RU
ФорумTalks

Синдром NIH 2026г.

 , , ,


0

3

Сегодня столкнулся с тем, что коллеги иногда болтают с горяча лишнего, основываясь не на рациональной, подтверждённой экспериментально, мысли, с цифрами на руках, а на сиюминутной эмоциональной экспрессии. Предлагая велосипеды там, где они не помогут. С любителями «старой доброй, самой лучшей школы мысли и жизни» столкнулся. С любителями платиновой сишки.

Вводные: Есть некоторый restful API сервис, который написан серьёзными энтерпрайз разработчиками на Джаве. Spring Boot, КроликЭмКу, стандартный набор батареек, ну и аппаратные устройства, назовём их вычислительные устройства (ВУ). Этот сервис активно работает в проде, проблемы есть но в основном из-за запутанности (корпоративно-исторически обусловленной запутанности) архитектуры и неидеальности оперативной организации труда этих энтерпрайз разрабов. Но в общем и целом - ничего экстраординарного для реального опыта проблем в индустрии. Но зависть к ребятам большая, типа они разрабы, а мы - их клиенты.

Но ребята типа дорогие, а бизнес всегда хочет сэкономить, тем более кризис экономики… Возникает идея («ты ж программист!»), типа, для новых проектов, где не самые пиковые нагрузки, слепим что-то попроще, без очередей сообщений, без кровавого джава-энтерпрайза, просто возьмём где можно опенсорс батарейки, слепим, протестируем - и ОК. На Питоне. Сказано - сделано, и оно даже работает, и клиенты счастливы.

Но вот, в один прекрасный день, поступает предложение. Переписать прокладку между собственно веб-сервисом и ВУ с Питона на C. Мотицация - не хотим использовать опенсорс-обёртку, мало ли кто там её разрабатывает? а вдруг он завтра под поезд попадёт, и мы не сможем эту обёртку поддерживать. А атаки на каналы поставки, официальную репу PyPI, и вот это всё не наше хозяйство? И вообще, Питон медленный, переусложнённый и не готов для промышленного применения. Перепишем эту обёртку на C. На вопрос «а если потом таки будем очередь сообщений добавлять, то в неё писать и из неё читать тоже на сишке?» следует ответ «ну конечно!»

Дальше, предлагаю, коль скоро не устраивает производительность кода на питоне, взять таки Джаву, ведь у серьёзных энтерпрайз ребят она уже работает. Ответ: «ну ты же видишь, что на этой Джаве у нас как-то всё тормозит?!» А откуда они знают, что в Джаве причина тормоза, а не в архитектуре? А кто-то измерял самые простейшие вещи, типа загрузки процессора сборщиком мусора? Нет, никто ничего не измерял.

Предлагаю C++. Опять воротят нос, мол после стандарта образца xyz года там такого наворотили, что чёрт ногу сломит. Говорю «а кто-то заставляет непременно фичи новых стандартов использовать?» В ответ тишина. Не подходят людям технологические достижения в языках высокого уровня за последние 50 лет. Предпочитают ковбойский сишный наскок, а там - будь, что будет…

Как с такими людьми работать?

★★★★★

Последнее исправление: seiken (всего исправлений: 3)

на все описанные стандартные вопросы есть стандартные давнонаписанные ответы :)

pfg ★★★★★
()

Как с такими людьми работать?

Никак. Увольняйся. Им (нам) без таких предлагателей C++ там, где оно нафиг не надо (а оно нафиг не надо практически нигде) только лучше.

CrX ★★★★★
()
Ответ на: комментарий от CrX

Так там и сишка нафиг не нужна. Плюсы я упоминул лишь в полемических целях, чтобы истинную мотивацию выяснить.

seiken ★★★★★
() автор топика
Ответ на: комментарий от seiken

Так там и сишка нафиг не нужна.

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

Плюсы я упоминул лишь в полемических целях, чтобы истинную мотивацию выяснить.

ИМХО, в этом моменте получилось плохо, и конкретно в вопросе о C++ и куче стандартов, которые «никто не заставляет использовать», я скорее на их стороне.

CrX ★★★★★
()

Как с такими людьми работать?

Для России сейчас это «типишное» состояние, наверняка, оно же «типишное» для любого местечкового по. Все пытаются экономить 5 копеек и всё завязывать на себя. То что это в итоге выйдет дороже и хуже мало кого останавливает. Не хотят понимать ни выгод отлаженных «платформ», ни выгод коопераций по компетенциям. «У нас всё хорошо, мы всё сами» (с) и продолжают изобретать 7 колёсный велосипед. ИМНО из-за отличного подхода американцы и захватили весь мир по, пока другие по 10 разу велосипеды мастрят.

vtVitus ★★★★★
()
Последнее исправление: vtVitus (всего исправлений: 2)
Ответ на: комментарий от CrX

ИМХО, в этом моменте получилось плохо, и конкретно в вопросе о C++ и куче стандартов, которые «никто не заставляет использовать», я скорее на их стороне.

Я бы согласился, если бы речь шла о C++20 и далее. Но там уже с восприятием лямбд проблемы, т.е. с C++11…

seiken ★★★★★
() автор топика
Ответ на: комментарий от dataman

В русском языке двойные отрицания работают сложно, да. В том же английском логичнее. ;)

CrX ★★★★★
()
Ответ на: комментарий от vtVitus

Для России сейчас это «типишное» состояние, наверняка, оно же «типишное» для любого местечкового по.

Но только здесь речь идёт о западной Европе и корпоративной среде.

seiken ★★★★★
() автор топика

Возникает идея («ты ж программист!»), типа, для новых проектов, где не самые пиковые нагрузки, слепим что-то попроще, без очередей сообщений, без кровавого джава-энтерпрайза, просто возьмём где можно опенсорс батарейки, слепим, протестируем - и ОК. На Питоне

А как это связано с удешевлением то? Кто мешает для жабы опенсорс пользовать?

ya-betmen ★★★★★
()
Ответ на: комментарий от seiken

Западная Европа это такое же местечковое по. Я работал и с германией и с нидерландами, наши по современней даже будут.

vtVitus ★★★★★
()

Как с такими людьми работать?

Никак

Mishahack
()
Ответ на: комментарий от ya-betmen

А как это связано с удешевлением то? Кто мешает для жабы опенсорс пользовать?

Питон в своё время предложил я сам, потому что из команды никто Джаву не использовал. Люди знали сишку и неможечко плюсов и питона. Есть один программист на C#, но он тогда не настоял на шарпе, хотя мог бы аргументировать, если хотел бы.

seiken ★★★★★
() автор топика

Слушай, тебе то какая разница? Тебе платят за работу - ну и работай ее. Причем дважды за одну и ту же.

LightDiver ★★★★★
()
Ответ на: комментарий от LightDiver

Я предпочитаю профессионально расти в области инженерии ПО, а не быть просто балластом на балансе у корпы, выдумывая субоптимальные недозадачи на пустом месте.

seiken ★★★★★
() автор топика
Ответ на: комментарий от seiken

Ну вот обоснуй, что именно тебе не нравится? Все суть твоих претензий?

Ты так заинтересован в конечном продукте как то лично? Или ты просто наемный работник, которому платят за код?

Работодатель дает тебе задачу - ты ее делаешь. Ну вот надо ему так.

LightDiver ★★★★★
()
Ответ на: комментарий от LightDiver

Работодатель дает тебе задачу - ты ее делаешь. Ну вот надо ему так.

Да не так всё. Это дискуссии внутри команды.

seiken ★★★★★
() автор топика
Ответ на: комментарий от seiken

Эм.. Шта? А как ты собрался профессионально расти на стандартном питонячьем коде? Ты его знаешь от и до. До каких вершин ты там собрался подниматься? Рост может быть в реализации какого то нового для тебя проекта разве что.

LightDiver ★★★★★
()
Ответ на: комментарий от LightDiver

Эм.. Шта? А как ты собрался профессионально расти на стандартном питонячьем коде?

хороший вопрос. Но точно не на переписывании с питона на сишку неботтлнека системы.

seiken ★★★★★
() автор топика
Ответ на: комментарий от ya-betmen

Ну молодцы, сбрали прод из говна и палок.

для той части прода, где питон используется - там не видно никаких проблем именно из-за питона

seiken ★★★★★
() автор топика
Ответ на: комментарий от ya-betmen

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

CrX ★★★★★
()
Ответ на: комментарий от CrX

Вот я сегодня думал про раздувание кода от ИИ и меня вдруг осенило - а не следствие ли это тех времен, когда программистам платили построчно?

LightDiver ★★★★★
()

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

anonymous_sama ★★★★★
()

Переписывать надо на Rust

Bad_ptr ★★★★★
()
Ответ на: комментарий от ya-betmen

Бизнес хочет сэкономить на сторонней конторе, её услугах, а нанимать профи с 20 лет стажа в кровавом энтерпрайзе и конкретной его подобласти денег нет.

Одно дело - когда само ПО от третей фирмы, а ты только обслуживаешь его инстанс в своей корпоративной сетке. Если придёт аудит, и спросит, типа, как вы собираете ПО? откуда зависимости? А если злобный хакер украдёт ключи у того опенсорсного мейнтейнера? Ты просто говоришь им «а это вон там спрашивайте, условно говоря, у Enterprise Software GmbH, а не у нас. А они 20 лет в индустрии, без единого разрыва.»

И совсем другое - когда мы сами всё разрабатываем.

seiken ★★★★★
() автор топика
Ответ на: комментарий от seiken

Но только здесь речь идёт о западной Европе и корпоративной среде.

Когда всё работает и нечего делать, «нам скучно». А тут «движуха»! РефУкторинг, реврайтинг, улучшайзинг. Вперёд за приключениями!

„Wir bauen auf, wir reißen nieder, so haben wir Arbeit immer wieder.“

PS: и таки да, почему не Go? Он же буквально для такого и создан (рест-шмест-круд в миллион потоков).

beastie ★★★★★
()
Последнее исправление: beastie (всего исправлений: 2)
Ответ на: комментарий от ya-betmen

Ни разу не встречал код, который нельзя бесконечно рефакторить.

Ну рефакторить это во-первых скучно, а во-вторых, сложно долго создавать видимость, что оно что-то улучшает (улучшает поддерживаемость кода, возможно, но не что-то осязаемое со стороны). А тут сразу и типа интересная задача и возможность сказать, что вот смотрите, как сильно возросла производительность, и теперь мы можем обрабатывать сто триллионов запросов, когда в предыдущей реализации могли только десять триллионов. Что на деле запросов за это время тысяча, а во влажных мечтах через 20 лет будет десять тысяч, можно оставить за скобками.

CrX ★★★★★
()

Как NIH на C++ отличается лучшестью от NIH на C? Вообще ТС заряжен бодипозитивом - вот жависты серьёзные разработчики, крестовик - д’Артаньян, а сишники - иррациональные и полоумные.

Мотицация - не хотим использовать опенсорс-обёртку, мало ли кто там её разрабатывает? а вдруг он завтра под поезд попадёт, и мы не сможем эту обёртку поддерживать. А атаки на каналы поставки, официальную репу PyPI, и вот это всё не наше хозяйство? И вообще, Питон медленный, переусложнённый и не готов для промышленного применения.

Это всё правда. Если у языка пакетный менеджер «сам что-то там делает», то это опасно. И на предприятии никто красиво настраивать не стал, видимо.

А откуда они знают, что в Джаве причина тормоза, а не в архитектуре? А кто-то измерял самые простейшие вещи, типа загрузки процессора сборщиком мусора? Нет, никто ничего не измерял.

Что в жаве, что в питоне - тормоза встроены в рантайм; если инфраструктура критическая, то имеет смысл переписывать на язык с рантаймом пошустрее.

А ты намерил что-то обратное или высказал мнение руководству? Если нет, то почему? Там отдел якобы хрнёй какой-то заниматься будет, а ты никому ничего якобы не объяснил

Говорю «а кто-то заставляет непременно фичи новых стандартов использовать?» В ответ тишина. Не подходят людям технологические достижения в языках высокого уровня за последние 50 лет. Предпочитают ковбойский сишный наскок, а там - будь, что будет…

А ты как-то реально аргументировать им про кресты ничем, кроме как «не 50 лет» и «фичи», не стал? Тогда неудивительно, что с тобой по этому поводу даже разговаривать не запарились. Потому что если программисту нормально писать на С, то С++ преимуществ особо не предоставляет. Рантайм там не тоньше, парадигма написания не лучше, объём стандарта дикий в сравнении.

Bfgeshka ★★★★★
()
Ответ на: комментарий от beastie

PS: и таки да, почему не Go? Он же буквально для такого и создан (рест-шмест-круд в миллион потоков).

Когда решали в пользу питона, казалось, что при всей угрёбищности многопоточной модели и прочих динамических типизациях, батарейки у питона поматёрее. Потому что с питном сишники уже умели дело, а golang для них был совсем тёмный лес. Хотя язык классный, я бы его сейчас вместо питона взял.

seiken ★★★★★
() автор топика
Ответ на: комментарий от seiken

В случае шухера европейские регуляторы за одно место подвесят и ту контору и вас.

Но экономия получилась. Да.

ya-betmen ★★★★★
()
Ответ на: комментарий от CrX

Если софт для корпорасов даже маленьких там же каждый год требования едут туда-сюда. Вроде всегда есть чего допиливать. Можно на 10 лет фичреквестов в баклог напихать.

ya-betmen ★★★★★
()

ну ты же видишь, что на этой Джаве у нас как-то всё тормозит?!

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

foror ★★★★★
()

С определённого момента, начинаешь понимать, что множество проблем разработки лежит не столько в области hard skills, сколько в области soft skills: объяснить менеджеру, объяснить коллегам, почему они делают не то и не так, как сделать правильно. Притом так, чтобы все поняли, никто не обиделся, и не потратить на убеждения месяцы.

Иногда это просто невозможно. А иногда начинает брезжить понимание: переписывание ради переписывания затевается не просто так, а ради job security очередного менеджера, возглавляющего это переписывание. Или ради того, чтобы свалить эту работу по переписыванию на своего аутсорсера, который за спиной передаст менеджеру откат. И вот тут ты понимаешь, что:

  1. Убеждать в такой ситуации бесполезно, т.к. вопрос не в технической плоскости вообще, а в финансовой.
  2. Самое обидное, что ты в этой схеме - просто винтик, мимо которого пролетят все эти финансовые потоки и откаты. А если попросишь поднять зарплату хотя бы на 10 т.р., то скажут, что в компании ужасный кризис, и денег нет нисколько. Притом, что переписывание с Джава на Кобол, с Кобола на Go, c Go на Fortran, с Fortran на Rust, уже обошлось компании в миллиарды…
Chiffchaff
()
Ответ на: комментарий от Bfgeshka

И на предприятии никто красиво настраивать не стал, видимо.

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

Потому что если программисту нормально писать на С, то С++ преимуществ особо не предоставляет. Рантайм там не тоньше, парадигма написания не лучше, объём стандарта дикий в сравнении.

Это всё таки не 70-летние дедули, и на C++11 у них уже есть опыт. Ни стандарта C, ни стандарта C++ они, скорее всего, не читали никогда, и никогда не отвечали за более ли менее большую кодовую базу на плюсах. А все самые большие части ПО (фреймворк) на плюсах были разработаны за них другими, более опытными собственно в плюсах, людьми. Соответственно, если у человека нет серьёзного опыта в плюсах, конечно он будет видеть в них только переусложнённого монстра, который только хочет запутать работу. И объём стандарта здесь вообще нерелевантен. Им не компилятор разрабатывать.

И отсюда же фобия ЯП с автоматическим управлением памятью. «Слышал, что супертормоз!» А на самом деле в переводе на честный, человеческий «не работал, не имел опыта, не знаю, как там и что».

seiken ★★★★★
() автор топика

Как с такими людьми работать?

А не пофиг? Тыж не софт для колонистов на Марс разрабатываешь.

foror ★★★★★
()

«ну ты же видишь, что на этой Джаве у нас как-то всё тормозит?!» А откуда они знают, что в Джаве причина тормоза, а не в архитектуре?

Вообще-то причина таки в Джаве. Не в самом языке/фреймворках, а в том, что она - Джава - не учит думать. Все эти гибернейты, спринг буты, гарбадж коллекторы…

Но только вот если комманда не смогла на Дажаве в перформанс, то с С проблемы будут намного серьезнее. Сочувствую вам…

Kroz ★★★★★
()
Последнее исправление: Kroz (всего исправлений: 2)
Ответ на: комментарий от seiken

не работал, не имел опыта, не знаю, как там и что

Ну, т.е. разрабы у тебя в команде ниже среднего уровня. Куда вам джава, а тем более кресты? Пишите уже на сях или выше предлагали голанг как раз для вот этого всего сделали.

foror ★★★★★
()
Ответ на: комментарий от Kroz

Но только вот если комманда не смогла на Дажаве в перформанс, то с С проблемы будут намного серьезнее.

Вот! Бриллиантовая мысль! Без сарказма и иронии.

seiken ★★★★★
() автор топика

В чём проблема? Если кабанчик хочет швыряться деньгами, то почему бы их не ловить?

Camel ★★★★★
()

Предпочитают ковбойский сишный наскок

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

Как с такими людьми работать?

Не работайте с мудаками (ц) народная мудрость

Lordwind ★★★★★
()
Ответ на: комментарий от Camel

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

Lordwind ★★★★★
()

Ответ: «ну ты же видишь, что на этой Джаве у нас как-то всё тормозит?!»

Беги оттуда.

воротят нос, мол после стандарта образца xyz года там такого наворотили, что чёрт ногу сломит

Вот я тоже не понимаю, ДО СИХ ПОР при желании можно же использовать c++ с stdio.h и классами, на чём и успокоиться.

Shadow ★★★★★
()
Последнее исправление: Shadow (всего исправлений: 1)
Ответ на: комментарий от Shadow

Ну, конкретно ввод/вывод с использованием форматной строки настолько же всрато удобная фича, насколько она типо-небезопасная (требующая кастомных проверок со стороны компилятора и проч.) Придумали, по всей видимости, авторы фортрана. Поставить им памятник.

seiken ★★★★★
() автор топика
Ответ на: комментарий от Lordwind

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

В чём проблема? ТС же весь из себя правильный разработчик, пойдёт к другому кабанчику. А можно пойти к другому кабанчику не дожидаясь сокращений.

ТС, насколько я понимаю, не акционер в той конторе, кабанчик платит за неверные решения, получает прибыль с верных, наёмный сотрудник получает зарплату.

Если бы речь шла о стартапе, где ТС один из основателей или инвесторов, где неверное решение сегодня запросто похоронит надежду стать миллионером в будущем, тогда другое дело.

Camel ★★★★★
()

Как с такими людьми работать?

Покажи им свой пост

kaldeon ★★
()

Нет, никто ничего не измерял.

Ну так протолкни систему мониторинга перформанса )

GAMer ★★★★★
()
Закрыто добавление комментариев для недавно зарегистрированных пользователей (со score < 50)