Показательные выступления на льду.
May. 9th, 2009 09:13 pm![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
Но надо сказать, что последние пляски с Qt, glibc и дебианами, а так же закономерная реакция линукс-френдленты на описание оного хорошо демонстрируют почему с софтом под линукс все так "хорошо".
Софт для end-юзеров и прочие приземленные вещи далеко не всегда пишут отмороженные гики с десятилетним опытом решения бессмысленных безумных проблем. Достаточно походить по форумам по .NET например - там огромное количество вопросов, показывающих, что в ИТ работает много _начинающих_ людей. И вот оным начинающим развлечения, подобные тому, чем я занимался вчера - совершенно ни к чему. Не должен обобщенный "программист кульных прог для бухгалтерии Вася Пупкин" сразу разбираться в тонкостях библиотек, порядка их поиска, версий компиляторов и прочей хреновине. Это должно идти потом, когда софт уже заработал, был продан и надо его улучшать, выпускать новую версию и есть на этот бабки, полученные от продажи первой версии.
Я так понимаю, не всем очевидна конечная цель работы: "написать софт, внедрить клиентам, получить бабки". И что чем меньше времени уйдет на это - тем больше бабок в единицу времени получится. И что время на "чтение гугла и манов", "пересборку QT", "изучение тонкостей поиска shared objects" - это все кем-то должно оплачиваться. Я не знаю, по моему, видеть во всем в первую очередь бизнес-смысл и енд-юзеров - достаточно полезная вещь, хорошо вправляет мозги и компенсирует техно-гиковские перегибы.
Не говоря уже о факапах вроде "приехали показывать софт тендерной комиссии, а там НИЧЕГО не запустилось, потому что линукс не той системы" - такое вообще недопустимо, между прочим.
Софт для end-юзеров и прочие приземленные вещи далеко не всегда пишут отмороженные гики с десятилетним опытом решения бессмысленных безумных проблем. Достаточно походить по форумам по .NET например - там огромное количество вопросов, показывающих, что в ИТ работает много _начинающих_ людей. И вот оным начинающим развлечения, подобные тому, чем я занимался вчера - совершенно ни к чему. Не должен обобщенный "программист кульных прог для бухгалтерии Вася Пупкин" сразу разбираться в тонкостях библиотек, порядка их поиска, версий компиляторов и прочей хреновине. Это должно идти потом, когда софт уже заработал, был продан и надо его улучшать, выпускать новую версию и есть на этот бабки, полученные от продажи первой версии.
Я так понимаю, не всем очевидна конечная цель работы: "написать софт, внедрить клиентам, получить бабки". И что чем меньше времени уйдет на это - тем больше бабок в единицу времени получится. И что время на "чтение гугла и манов", "пересборку QT", "изучение тонкостей поиска shared objects" - это все кем-то должно оплачиваться. Я не знаю, по моему, видеть во всем в первую очередь бизнес-смысл и енд-юзеров - достаточно полезная вещь, хорошо вправляет мозги и компенсирует техно-гиковские перегибы.
Не говоря уже о факапах вроде "приехали показывать софт тендерной комиссии, а там НИЧЕГО не запустилось, потому что линукс не той системы" - такое вообще недопустимо, между прочим.
no subject
Date: 2009-05-11 11:49 am (UTC)Значит прочитал невнимательно =)
У меня перед глазами есть production использование "С++-извращений". Самая близкая аналогия - Haskell type classes. Написана на boost.mpl (metaprogramming library) - Александреску, превед!
Польза от неё несомненная - она уже съэкономила человеко-месяцы, а то и человеко-годы - а занимается эта хрень кодогенерацией и статической верификацией.
Задача - реализация вычислителей SQL-выражений.
Так что у меня есть положительный опыт промышленного использования так называемых "извращений" - и польза от них несомненная, а то, что нужна редко и готовить её толком мало кто умеет - дело десятое.
Я написал кодогенератор (eDSL) в рамках С++, остальные просто пользуют интерфейсы и радуются жизни.
В сравнении с системой манифестов или idl - это ПРЕИМУЩЕСТВО.
А то, что с ней пришлось столкнутся - не является НЕДОСТАТКОМ, а является признаком ДРУГИХ ИНСТРУМЕНТОВ.
Ну в этом мы разобрались, слава богу.
no subject
Date: 2009-05-11 12:00 pm (UTC)no subject
Date: 2009-05-11 12:04 pm (UTC)no subject
Date: 2009-05-11 12:07 pm (UTC)Вот мааааааленький кусочек реализации dsd::Function
no subject
Date: 2009-05-11 01:32 pm (UTC)no subject
Date: 2009-05-11 01:35 pm (UTC)Он весь спрятан как детали реализации.
no subject
Date: 2009-05-11 01:40 pm (UTC)typedef qd::dsd::Function< bool, const CompareScheme&,
qd::mpl::vector< const qd::pplan::Scheme&, const qd::pplan::Scheme& > >
CompareSchemeFunction;
Всё. Моск выключился. Тут спецсимволов больше чем в типичном перловом коде.
no subject
Date: 2009-05-11 01:45 pm (UTC)Так понятней?
Это уже детали реализации функции сравнения =)
no subject
Date: 2009-05-11 01:49 pm (UTC)no subject
Date: 2009-05-11 01:52 pm (UTC)Типа множественного dynamic_cast. Паттерн-матчинг многих аргументов, другими словами - мультиметоды
no subject
Date: 2009-05-11 01:53 pm (UTC)Я примерно понимаю, как во всем этом можно разобраться, но все таки на месте руководства я с такой чорной магией связываться бы опасался - это ж потом гурей не наберешься, продукт развивать.
no subject
Date: 2009-05-11 01:55 pm (UTC)no subject
Date: 2009-05-11 04:31 pm (UTC)Предлагали там всякие варианты, все оказались ХУЖЕ
no subject
Date: 2009-05-11 04:41 pm (UTC)Я тут читал про один enterprise-level софт, так в статье в вики про него упоминается типа "пришел дядя из силиконовой долины, стал CEO и превратил technology-driven startup в high-tech enterprise, а потом под это дело стал получать венчурное финансирование". Расшифровывается это так: технарей загнали в подвалы и посадили на цепь, въябывать, упор с технических решений перевели на организационные. И это суко дико эффективнее чем черная магия с метапрограммированием - софт сейчас продается за совершенно нереальные бабки, которые идут в карман дядям, а не сильно умным гикам.
no subject
Date: 2009-05-11 04:44 pm (UTC)Раньше было пять человек.
Снижение трудозатрат налицо.
А теперь товарищ, скажи ка мне - кто там за Haskell вещал? м? Что ж таджиков то не нанимаешь?
(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:no subject
Date: 2009-05-11 09:00 pm (UTC)(no subject)
From:(no subject)
From:(no subject)
From:no subject
Date: 2009-05-11 02:55 pm (UTC)А так вроде все понятно
no subject
Date: 2009-05-11 03:14 pm (UTC)no subject
Date: 2009-05-11 03:55 pm (UTC)no subject
Date: 2009-05-11 06:52 pm (UTC)no subject
Date: 2009-05-11 01:37 pm (UTC)А то, что с ней пришлось столкнутся - не является НЕДОСТАТКОМ, а является признаком ДРУГИХ ИНСТРУМЕНТОВ.
Я вообще то про плесень которая начинает произрастать при попытке сделать our-mighty-propietary-app.installer который будет ставиться и рабоать везде. Да - для OS софта это не проблема - есть майнтэйнеры дистров, есть исходники, ... - другая проблема, другие решиения.
no subject
Date: 2009-05-11 01:39 pm (UTC)Это не может не радовать =)
no subject
Date: 2009-05-11 01:42 pm (UTC)no subject
Date: 2009-05-11 01:46 pm (UTC)Для меня линуксы и С++ - инструменты, а не религия.
no subject
Date: 2009-05-11 01:53 pm (UTC)