LINUX.ORG.RU
ФорумTalks

Программные системы глазами пессимиста

 , депрессии тред,


2

2

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

  • Откатоемкие технологии, где ынтырпрайзные коробки стоят миллионы бабла за каждое процессорное ядро, популярны не только в этой стране, а только разве что не в Антарктиде.
  • При этом вся простота настройки и работы с ними существует только в воображении чувачков из отдела продаж, которые и продукта-то не видели. Для правильной установки и настройки нужно прочитать два талмуда, поиграться в конструктор типа генты, только все делать руками. Хорошо еще посетить пару платных курсов, где настраивать покажут после долгого трепа о достоинствах продукта.
  • Нет, конечно, бывает автоинсталлятор, который круто смотрится на скринкастах и презентациях, и который даже работает иногда, но в реальном применении после него нужно править почти все.
  • На самом деле можно ходить на курсы, прочесть все книжки и не узнать главного нюанса, из-за которого все либо глючит, либо тормозит, либо не работает на данной конкретной конфигурации. Для этого нужно нанимать чувака, у которого с этой системой 10 лет полового опыта. Судя по желаемой зарплате, чувак питается фуа-грой вместо гречки.
  • Исходники программ не хотят открывать в основном не из-за патентов (таких контор, будем-ка честны, единицы), а из-за того, что код адски отвратителен, дыряв и вызывает рвоту.
  • Если большой многоцелевой программный комплекс написан на одном языке, во имя святой унификации и простоты сопровождения, половина кода будет представлять собой жуткие костыли и упражнения по использованию надутого презерватива в качестве дирижабля — даже самый универсальный язык не учитывает специфики всех возможных задач.
  • Если большой многоцелевой программный комплекс написан на разных языках, во имя использования оптимального инструмента для каждой задачи — половина кода будет представлять собой жуткие костыли для интеграции всего этого барахла — обертки, скрипты еще на нескольких языках, а список зависимостей будет длиной с Юлькин приговор.
  • Документации много не бывает. Ее в основном вообще не бывает, в частности там, где она действительно нужна.
  • Никогда не надо говорить, каково целевое разрешение экрана, при постановке задания на заказное ПО. Хотя спрашивать будут. Потом окажется, что с другим разрешением ПО не способно работать в принципе.
  • Во время получасового даунтайма в связи с апгрейдом системы для пользователей этой самой системы главное — каждый день на работу приходить вовремя, а вдруг наконец-таки проапгрейдили.
  • Те, кто практикуют апгрейд без даунтайма, обычно умалчивают, сколько времени длится цирк после такого апгрейда. А глюки там порой феерические, из-за того, что не весь код сразу раздуплил, что часть его проапгрейдили.
  • Особая веселуха — это когда горячий апгрейд работающую программу настроит, и подымет все что надо, а постоянный конфиг и автозапуск прописать забудет. Перезагрузка-то рано или поздно случится.
  • Несмотря на то, что только ленивый не кричит на всех углах, что у него-де TDD и покрытие тестами 100%, качество ПО деградирует просто-таки стремительно. Где они только набирают столько багов, с таким скрупулезным-то тестированием?

Добавляйте своего пессимизма, дамы и господа.

★★★★★

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

И, это, я тоже пишу говнокод. Потому шо на вчера.

shimon ★★★★★
() автор топика
Ответ на: добавлю от pylin

Выход ? Не нужен !
Если дебианы станут идеальными, космонавты без работы останутся.

ilovewindows ★★★★★
()

К тому же «20 лет опыта в этой сфере» и «региональный филиал международной компании» в лучшем случае обозначает «пара студентов из Житомира ищет пропитания».

Тут не раз упоминался Дилберт, как зеркало ЪнтЪрпрайзного процесса.
Люди, имеющие за плечами опыт реализации хотя бы одного более-менее серьёзного проекта, при прочтении оного обычно просто грустно кивают.

Deleted
()

shimon

Исходники программ не хотят открывать в основном не из-за патентов (таких контор, будем-ка честны, единицы), а из-за того, что код адски отвратителен, дыряв и вызывает рвоту.

Да не, просто жалко, «интеллектуальная собственность» же!

unC0Rr ★★★★★
()

Все эти прелести встречал только у полуфабрикатов которые непрерывно пишутся «учитывая пожелания» и т.д.. Гидра, Мера... У законченных продуктов от крупных контор я такого не видел.

yu-boot ★★★★★
()

Фигня. Баги, конечно, встречаются, но в тех продуктах, в разработке которых я принимаю участие, ситуация вполне под контролем. Всё зависит от квалификации разработчиков.

mv ★★★★★
()

Я освободился. Вышел из матрицы.

Хочу на запад: к капризным детям-психопатам с татуировкой дракона, к
педофилам-священникам, к бездушным людям-роботам, к патентным троллям
и копирастам, хочу в ипотечное рабство и кредитную кабалу к
растовщикам-банкирам... Хочу чтобы на моём компе был дуалбут 2 системы
-- винда и мак...


... и потреблять потреблять потреблять потреблять
потреблять потреблять потреблять потреблять
потребляяяяяяаааааааааааааааааааааааааааать.

А что выбираете вы?

// А линукс к этому - не готов

// Данный пост пришёл мне в голову, когда я вчера лежал в ванне после
дня изнурительных рыболовных марш-бросков по озёрам на надувной лодке
и подъёма в 4 утра.

// http://prostopleer.com/tracks/4495564eOqs (Ъ: Зоопарк - завтра меня здесь не будет)

Bad_ptr ★★★★★
()

Не знаю насчет пессимизма, но решил написать небольшую утилиту для своих нежд на Хаскелле. Знаешь, бывает у программиста такое чувство, когда написал большой кусок кода, компилируешь, запускаешь и если все работает как надо с первого раза, начинаешь судорожно искать, где же могут быть косяки и что напортачил. Так вот с Хаскеллем это чувство не оставляет. Фактически, действительно, если прога скомпилилась, то с большой вероятностью он работает как надо. В общем, приятно. Пойдет за пулю? (Ну, это относительно последнего пункта)

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

Да не, просто жалко, «интеллектуальная собственность» же!

Слово «интеллектуальная» здесь настолько толсто, что аж тонко.

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

Так и у меня на пайтоне для себя любимого так выходит. То есть программа работает сразу так, как я придумал. Бывает, правда, оказывается — придумал хреново, ну да это такое.

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

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

Эта портянка является сама себе подтверждением.

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

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

keyran ★★
()
Ответ на: комментарий от yu-boot

Все эти прелести встречал только у полуфабрикатов которые непрерывно пишутся «учитывая пожелания» и т.д.. Гидра, Мера... У законченных продуктов от крупных контор я такого не видел.

И в скольких конторах ты поработал, чтобы так утверждать?

ooobooontooo
()
Ответ на: комментарий от keyran

В общем, приятно. Пойдет за пулю? (Ну, это относительно последнего пункта)

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

user_undefined
()
Ответ на: комментарий от shimon

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

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

Никуда не деть, к сожалению. Так что это можно назвать пулей исключительно с технологической точки зрения. Кстати, смотрел на жабу тоже недавно ( до этого писал в основном на плюсах). Впечатление - дрянь даже по сравнению с плюсами.

keyran ★★
()

Знаешь проблема в чем? В том что ты не видишь реального мира глазами человека, а не кодеманки из-за монитора.
Вот смотри, простой пример - терминалы быстрого обслуживания. Так вот, они работают. А если «вот этот» сломался, то через 100 метров есть другой, который работает. И ведь не важно что все это крутится на в лучшем случае винде, и написано на ужасном заторможеном каком-нибуть дельфи 5 таким же специалистом.
Что есть главный критерий этого софта ? Его работоспособность и простота. И оно работает. То же могу сказать и о больших ынтырпрайзных мегасофтинах. В конечном итоге оно всеравно работает. И работает лучше чем пару сотен перловых наконочных скриптов через mod_perl.

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

Что есть главный критерий этого софта ? Его работоспособность и простота. И оно работает. То же могу сказать и о больших ынтырпрайзных мегасофтинах. В конечном итоге оно всеравно работает.
Его работоспособность и простота.

Вот только именно этого чаще всего и нет. Если после релиза из 10к пользователей по всей России, софтина работает только у 7к, то для остальных 3-х - это ппц. И у этих оставшихся есть начальство, которое требует выполнения планов - а они не могут.

В конечном итоге оно всеравно работает.

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

user_undefined
()

В общем - все верно. И ничего с этим не сделать.

zgen ★★★★★
()

Еще эти товарищи любят длиннющие циклы разработки. Минорные изменения — полгода, багфиксы — месяц. Объясняют тщательнейшим тестированием, функциональным, стресс, а также специально обученными людьми. В итоге, после выкатки в боевой режим, то dll'ки в образе не хватает (потому что, ее удалил касперский на сборочном сервере), то интерфейс остался без локализации, несчитая тупо отсутствующего функционала, который в трекере закрыт, как implemented.

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

Всегда хотел увидеть систему управления временем работы и его учета сделаным наколенке. Со стандартными критериями: георазрозненность, учет локальных законодательств, учет овертаймов, учет всех-всех жизненных ситуаций сотрудников в отношении их рабочего времени... простой ведь таск, да ? Это же не финансы, где все на несколько порядков сложнее. Тут просто «зашел» и «вышел».

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

Это же не финансы

Очень даже вижу, как в финансах гораздо более простые решения, состоящие из чуть ли не «скриптов» на жабе, работают гораздо лучше и стабильней, да и время восстановления - несколько минут. А чудесное решение на базе вебсферы, падает при увеличении нагрузки на 3-5% от среднего и поднимается после этого по часу. Хотя нет, есть несколько древних монстров под аиксом, написанных на жутком M, вот они работают, даже прекрасно работают. Но на таком за поддержку деньжат не срубишь, не интересно такое писать

user_undefined
()
Ответ на: комментарий от Jetty

Я тебя порадую, мой дорогой примат. В любой аутсорсной конторе такую штуку как раз на коленке и делают для себя. В результате получается неудобный адовый сипец, в который еще час после основной работы списываешь, что куда (по ходу дела списывать еще неудобнее). И с кучей ограничений, которые все вынуждены обходить.

Тебя это, возможно, порадует, а мне такая ситуевина только добавляет вельтшмерца.

А еще у тебя как-то

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

особенно многоточие в конце, не сходится с

простой ведь таск, да ?

и с

Тут просто «зашел» и «вышел».

Ну, за два миллиона евро предоплатой я готов считать этот таск простым, а там посмотрим — в бюджете тоже возможны многоточия ;)

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

GT.m и mumps, у нас оно в fis profile используется, скрипты, которые туда скармливают, поначалу можно и не принять за исходники. Зато на моей памяти ни одного простоя больше 5 минут. Но особо я с этим профайлом дела не имел, так, периодически поглядываю

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

А, ну, MUMPS – это такой идеал стабильности, что любой хардкорный дебианщик при его виде должен наплакать полную ванну %) Оно же ж древнее кобола даже, если я не путаю ничего. И сегодня только в торгующих воздухом окологосударственных конторах и больницах используется.

Кстати, на нем и для веба пишут (сайт gs1.org, среди прочих). Чем не убийца PHP? ;-)

P. S. Правда, назвать систему и язык названием болезни — тот еще юмор :)

shimon ★★★★★
() автор топика
Ответ на: Я освободился. Вышел из матрицы. от Bad_ptr

// Данный пост пришёл мне в голову, когда я вчера лежал в ванне после дня изнурительных рыболовных марш-бросков по озёрам на надувной лодке и подъёма в 4 утра.

следующий пост, о том что этот твой пост полная лажа, тебе придёт в голову, когда ты вместо озёр на выходных с 4 часа утра будешь одной рукой трейсить протокол обмена сообщениями с ядром, а второй срочно имплементить недостающие фичи по списку

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

в люксофте шоле работаешь ? Кажется они единственные из «больших» кто любит такой херней заниматься.

Jetty ★★★★★
()

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

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

Унизительно для человека - смиряться и чувствовать себя идиотом от того, что программа работает хреново, но считается мейнстримом и потому неприкасаема, да ещё и вендорлокинит все ЕГО ЛИЧНЫЕ БЛЕАТЬ данные и потому незаменима, как незаменим говнокодер, написавший жизненно важную утилиту.

К счастью, многомим продуктам есть альтернатива, и иногда она даже вставляет. Мне вот программирование в visual studio кажется унизительным для студента - столько ненужного в ней приходится делать в сравнении с linux + qtcreator, и так мало удовольствия в итоге. Но студенту есть из чего выбрать, а программирующему под windows brickphone профессионалу - нет.

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

ООО, да! Один из факторов, из-за которых я судорожно оттуда свалил.

DELIRIUM ☆☆☆☆☆
()

Как говорил Билли, программы должны быть с изъянами, чтобы клиенты были заинтересованы в его спонсировании. Не знаю как на Западе (похоже что как и у нас), основные проблемы заключаются в двух вещах: жадности и лени. Лень еще можно купить, скажем, новыми фичами, жадность же убивает на корню все остальное. Кто хочет платить за вылизывание уже оплаченного кода? Никто, или почти никто. Если клиенту это надо - он должен проплатить, да еще не хило так проплатить. Если платы нет, то нет и людей, нет людей нет качественного кода, ибо сколько бы хороших спецов не было их всегда не хватает. Пока не встречал людей сверху, которым была важна репутация, качество и все остальное, а не деньги в авангарде.

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

Пришел к выводу, что TDD статическую типизацию заменить не способно.

Вон оно как. А что, статической типизации нигде кроме хацкиля не встречал?

red_eyed_peguin
()
Ответ на: комментарий от keyran

Крутой язык, надо попробовать для коллекции.
А он сообразит, если вместо плюса минус поставить, где-нибудь в 123456 строке ?

ilovewindows ★★★★★
()
Ответ на: комментарий от yu-boot

У законченных продуктов от крупных контор

Оракл? Вебсфера? Глюк на глюке, баг на баге, «ждите фикспака, который починит ваши проблемы и добавит новых».

Xellos ★★★★★
()
Ответ на: добавлю от pylin

И главное ведь невидно выхода из положения

Я бы предложил решение, но криворукие гамадрилы опять на меня обидятся.

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

Всё зависит от квалификации разработчиков.

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

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

Это очень разумно, рассказывать студентам именно в такой последовательности:
visual studio, linux + qtcreator, C++ Builder, Delphi.
Тут положительная динамика должна быть, путь к совершенству, так сказать. Это особенно важно в студенческой среде, столь склонной к бунтам и революциям.

ilovewindows ★★★★★
()
Ответ на: комментарий от ilovewindows
Prelude> 5*(-5)
-25
Prelude> 5*(+5)

<interactive>:24:2:
    No instance for (Num (a0 -> a0))
      arising from a use of `*'
    Possible fix: add an instance declaration for (Num (a0 -> a0))
    In the expression: 5 * (+ 5)
    In an equation for `it': it = 5 * (+ 5)
Prelude> 
keyran ★★
()
Ответ на: комментарий от keyran

Когда сишный компилятор на простую ошибку типа забыл ";" две страницы ошибок выдавал тыщу раз видел, но штоб до плюсика перед цифрой докопаться первый раз. Несомненно человечество прогрессирует.:)

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

Мне вот программирование в visual studio кажется унизительным для студента - столько ненужного в ней приходится делать в сравнении с linux + qtcreator

нуну. И много вы видели профессионального софта, _продаваемого_, слабанного на коленке в linux + qtcreator?
Не смешите общественность.

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

Нормальная ситуация, когда капитализм начинает тормозить прогресс.

«Знаешь проблема в чем? В том что ты не видишь реального мира глазами человека, а не кодеманки из-за монитора.»(C)

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

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

pekmop1024 ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.