Владимир Паронджанов писал(а):
Илья Ермаков проводит показательную интеллектуаальную дуэль
о культуре программирования со своими оппонентами.
Да, интересно. Только эта полемика в принципе может продолжаться неопределённо долго - т.к. проблема лежит не в научно-технической сфере, а в вере - покоящейся у каждой стороны на вполне конкретных морально-этических, политико-правовых и организационно-экономических основаниях (имея в виду иерархию системной организации по В.А. Герасименко, представленную в выдержке из
этого сообщения). Далее попробую пояснить сказанное.
На Компьютерре привёл конкретный пример, к чему приводит "недоказательное" программирование. Представим себе теперь, что из этого выйдет по мере расширения подобных случаев. Пострадавшие в "правовом обществе потребления" теоретически могут обратиться в суд за взысканием ущерба и наказанием виновных. Допустим, что суд беспристрастен, как ему и следует (коррупция - это отдельное дело). Однако именно в этом случае, т.к. судья не специалист - он должен запросить (и запросит) экспертизу у ИТ-шников. При этом всплывёт и конкретный вопрос - а всё ли было сделано при разработке, чтобы изделие работало эффективно и безопасно - в частности, вот тут есть сведения о передовых методах разработки и производства - как они применялись в данном случае, если не применялись, то почему?
Что эксперты ответят, исходя из того "снимка" социально-психологического состояния, который даёт дискуссия на Компьютерре? Увы, большинство голосов будет оправдывать "свободное неверифицируемое творчество" подсудимых разработчиков - потенциальные аргументы мы в этой дискуссии видели во множестве. Мотивы будут разные - одинаковая с подсудимыми инерция профессионального мышления; противопоставление себя заказчикам (или вообще "другим" по разным основаниям - вплоть до ксенофобии); "рука руку моет"; "самость" в чистом виде - "я крутой, потому что программирую"... Как следствие, с высокой вероятностью подсудимые будут оправданы. Пусть это повторится во всех судебных инстанциях, вплоть до высшей, приговор которой обжалованию не подлежит - и тем самым с т.зр. ИТ-сообщества в таком его состоянии проблема будет закрыта - можно спокойно продолжать "творить по техзаданиям" как кому привычнее/вздумалось.
При этом в основе-то (уровнем ниже) лежит оргэкономическая концепция, в данном случае "примитивная" - главное сэкономить на разработке/внедрении, обеспечив внешнюю привлекательность результата, а если что там при применении/утилизации не так пойдёт - то это уже не наше дело... Как это происходит в науке - хорошо написал Ю.П. Петров в одной из работ (Новые главы теории управления и компьютерных вычислений. – СПб.: БХВ-Петербург, 2004. - Приложение "Об этике научного сообщества").
Однако наивно полагать, что это и правда решение проблемы "по жизни" - высшим-то уровнем по-прежнему остаётся морально-этический... А закон (и практика правоприменения) только оформляют сложившиеся в обществе нормы морали (какие вопросы и насколько настоятельно обращены к твоему поведению от других) и этики (какие вопросы касательно своего поведения ты задаёшь сам себе и насколько настоятельно требуешь ответа - и насколько способен его дать). Для тех, кто видит в этом нечто новое и небывалое, отмечу, что такое понимание сформулировано ещё в Писании - "закон не сделал совершенным никого" (Евр., 7:19). И что получится, если "специалисты" навязывают свою этику и мораль через правосудие? Правильно - начнутся "внесудебные решения"... Тут недавно на Кавказе суд оправдал женщину, которая убила преступника, надругавшегося над её дочерью - потому что он ушёл от наказания - и суд её оправдал - признав фактически беспомощность правосудия в предыдущем случае. Очень не хотелось бы такого вообще, и в частности - чтобы ещё и ИТ-продукция становилась источником таких ситуаций - но для этого сами ИТ-шники должны "поставить вопросы к своему поведению и поведению коллег" (не всех касается, конечно)...
Каковы же мотивы делать максимально нормально? Ответ очевиден из человеческой истории и теории оргдеятельности (то и другое можно найти у тех же Грабина и Герасименко, но не только). Высший вид мотивов - побуждение - в данном случае находить и/или нарабатывать самому самый передовой опыт и теорию в своей "предметке" и использовать их своевременно в текущей работе (тот же скоростной метод Грабина). А если этого нет (что и показывают во многом оппоненты Ермакова) - то уровнем ниже лежит, извините, принуждение... И чтобы оно не оформлялось как "суд Линча" над разработчиками и производителями или иным экстремистским образом - нужно регулирование деятельности не на словах, а на деле - само- и государственное. И чтобы экономика разработки включала оценку последствий - к чему уже приходят (см.
в этом сообщении о Гл.14 обсуждаемой работы М. Орлова).
Пока разработчик, как правило, может уходить от ответственности за качество разработки - та же МС может "отбрехаться на правовом поле" от претензий к последствиям "избыточной сложности" своих средств и технологий - никто о переходе на гарантоспособные по определению методы и средства проектирования не задумается. А вот там, где будет поставлено условие "ты, творец того, что служит конкретным целям, зафиксированным в техтребованиях, отвечаешь всем - не только имуществом, но и свободой, и может быть, жизнью (в гуманизированном, исключающем смертную казнь обществе это выражается в пожзаке без права помилования вообще или в течение длительного срока и/или в существенных материальных обязательствах, также пожизненных, невыполнение которых автоматически влечёт ограничение свободы, по крайней мере, выбора профессии - в порядке исполнака поставят на такую работу, чтоб отрабатывались эти обязательства) - перед обществом и перед конкретными потерпевшими от того, ЧТО ты сотворил - включая случаи, когда ты не сделал всего для предотвращения неблагоприятных последствий" - там разработчик сразу задумается, КАК делать гарантоспособно... а не как "отбрехиваться", чтобы работать, как привык... Конечно, это "делание" не м.б. идеальным - но д.б. максимальным в конкретный момент времени разработки.
Так уже было в "оборонке" - но в реалиях централизованной экономики. Однако и в нынешних это происходит. То, что высказывает М. Орлов в упомянутой работе, тому свидетельство - но есть и отечественные примеры. Скажем, определённое понимание этой ситуации уже проявляется в той же медицинской "предметке". Так, у нас доктор Рошаль инициировал создание СРО медиков - и при этом подчеркнул, что в своей работе она должна не конфликтовать, а взаимодействовать с защитниками прав пациентов - потому, что иначе отрасль не сможет работать нормально.
В то же время фактически соответствующие "процессы" в обществе идут, решения "выносятся" и "приводятся в исполнение" и другим образом - чисто экономическим. Речь идёт об отказе явочным порядком оплачивать "избыточно-негарантоспособную сложность" ИТ-продукции. Здесь тоже два направления. Первое исторически - это "пиратство". Конечно, принцип его (не лежащий в чисто криминальной плоскости - тяги к воровству по определению) понятен - почему это нужно платить за программу, то и дело "выполняющую недопустимые операции", имеющую кучу часто избыточных (но накручивающих цену) "фич", да и в других отношениях часто неидеальную? - но также не м.б. оправдан морально. Наверное, в силу этого и появилось второе направление - свободного ПО.