Войти в систему

Home
    - Создать дневник
    - Написать в дневник
       - Подробный режим

LJ.Rossia.org
    - Новости сайта
    - Общие настройки
    - Sitemap
    - Оплата
    - ljr-fif

Редактировать...
    - Настройки
    - Список друзей
    - Дневник
    - Картинки
    - Пароль
    - Вид дневника

Сообщества

Настроить S2

Помощь
    - Забыли пароль?
    - FAQ
    - Тех. поддержка



Пишет chistyakov ([info]chistyakov)
@ 2007-02-26 20:42:00


Previous Entry  Add to memories!  Tell a Friend!  Next Entry
За что я ненавижу "программистов"
Где-то в конце 70-х годов - испытания амерской ЗСУ "Сержант Йорк". Для поражения вертолетов. ЗСУ была оснащена системой распознавания образов.
Во время испытаний около неё безуспешно кружил вертолет-мишень, которую она так и не смогла распознать. Зато распознала как вертолет вентилятор в туалете, расположенном метрах в 800-х от ЗСУ. И успешно его поразила.

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

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

На испытаниях Су-24 регулярно случался отказ аппаратуры бомбометания. Причем происходило это только в том случае, если на цель заходил летчик-испытатель Ильюшин. Причина оказалось тоже не сложной. Только он заходил на цель с точностью, превышавшей машинную точностью. Получался "машинный нуль", после чего шел сбой из-за попытки деления на ноль.

Этот пример тоже очень характерен, хотя, строго говоря, он и не относится напрямую к разработке ПО, но демонстирует важность тестирования. Возникла эта проблема, скорее всего, на МБР 15А30, причем уже после постановки ее на боевое дежурство. При пуске, ракета выходила из шахты и взрывалась на высоте нескольких метров над землей. Причина оказалась тоже не самой сложной. Рубашка сопла охлаждается окислителем, после чего он поступает в камеру сгорания. В спешке принятия нового комплекса на вооружение к очередной годовщине, в систему пуска двигателя внесли небольшие улучшения, которые не протестировали должным образом. В результате пироклапан срабатывал с большим запаздыванием. Окислитель не поступал в трубки охлаждения, а жаропрочности сопла хватало только на то, чтобы ракета вышла из шахты.

Причиной взрыва 4 июня 1996 г. ракеты Ариан-5, была программная ошибка. В системе управления ракеты использовалось модифицированное программное обеспечение ранее успешно работавшее на Ариан-4, но Ариан-5 ускорялась быстрее предыдущей модификации, в результате когда на 40 секунде полета одна из вспомогательных подпрограмм попыталась преобразовать длинное целое значение в короткое без проверки величины значения, и то вышло за границы типа, произошло отключение системы управления ракеты, и она была взорвана по команде на самоликвидацию. Прямой (вместе с ракетой-носителем была потерян коммуникационный спутник) и косвенный ущерб от этого программного сбоя был оценен в полмиллиарда долларов.

История о неприятностях ракетного крейсера ВМС США «Иорктаун». Это экспериментальный, так называемый «умный корабль» (smart ship), важнейшие системы жизнеобеспечения которого управляются компьютерами без участия человека. И что немаловажно – под руководством операционной системы Windows NT 4.0. Так вот, однажды вся эта махина, находясь в открытом море, на три без малого часа встала в полный ступор из-за наглухо зависшего программного обеспечения. Причем произошло это из-за совершенно пустяковой оплошности одного из операторов, занимавшегося калибровкой клапанов топливной системы и записавшего в какую-то из ячеек расчетной таблицы нулевое значение. Ну а далее пошла операция деления на этот самый нуль. С подобной ерундой справляется даже самый дешевый калькулятор, однако здесь в терминале оператора система дала ошибку переполнения памяти. Причем ошибка быстро перекинулась на другие компьютеры локальной сети корабля, началась цепная реакция, и по известному принципу домино рухнула вся бортовая система. Которую удалось восстановить и перезагрузить лишь через 2 часа 45 минут, в течение которых здоровенный боевой корабль оставался по сути дела беспомощен и неуправляем. (с)


via [info]u-96@lj путём "Ctrl-C/Ctrl-V"

Да, бывает. Я вот вспоминаю, как ракета с "распознаванием образов" сбила летящий самолёт Ан-26 с людьми вместо стоящего на земле вертолёта-мишени (Ахтубинск, 24 июня 1985 года). На следущий день я летел в Ахтубинск на таком же самолёте, надеясь, что испытания по данному типу (Ан-26) завершены. Обстановка в салоне была шутливо-нервозной:).

{+}


(Добавить комментарий)


[info]a_50@lj
2007-02-26 15:03 (ссылка)
да чо там,
со всеми бывает.
ИстинныиПрограммист (тм) - это в моем понимании даже не чувак, которыи допускает ошибки
(их все допускают с поправкои конечно, что люди не знаюшие специфики - то есть Программисты - ошибаются много чаше) - но чувак, которыи и
после чего-то Подобного продолжает Интенсивно Втирать
про Архитектуру, Конечные Автоматы и все такое (чо у них там сеичас Модно - я не знаю).
Второи Обязательныи Атрибут - дрочерская дискуссия о
языках программирования или технологиях ("я, как Опытныи Рарзработчик" - и понеслась).
я думаю, если придут Программисты -
она и здесь непременно будет.

(Ответить) (Ветвь дискуссии)


[info]metaclass@lj
2007-02-26 17:28 (ссылка)
Я, как Опытный Программист и Системный Архитектор, могу сказать, что о технологиях и языках дискутировать бесполезно - при должном подходе на чем угодно можно делать нормальные продукты :)

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]a_50@lj
2007-02-26 17:36 (ссылка)
>о технологиях и языках дискутировать бесполезно
Не являясь ОпытнымРазработчиком в вышеизложенном смысле,
скажу , что совершенно
с Вами
согласен:)

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]ex_chistyak@lj
2007-02-26 18:09 (ссылка)
А я категорически не согласен. Язык должен быть алголоподобным. На крайняк - Фортраном.

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]a_50@lj
2007-02-26 18:49 (ссылка)
Просто не всегда есть выбор, и если нужно по каким-то причинам ,
(которые нельзя изменить) работать на Си -
то можно и на нем.
Соблюдая некоторые правила,
конечно.
Т.е. фортран предпочтительнее, но если выбора нет - то и Си не велика беда.
Дополнительные проблемы будут, но очень мало , если
сразу ввести стандарты и ограничения и
жестко требовать их исполнения.
Тут ключевые слова "при должном подходе".

(Ответить) (Уровень выше)


[info]potan@lj
2007-02-27 06:24 (ссылка)
Си как раз относится к алголоподобным :-).

А вообще очень спорно. Fort, ML, Erlang - все это не алголоподобные языки. Тем не менее гораздо лучше и C и Pascal подходят для большенства практических задач.

(Ответить) (Уровень выше)


[info]ygam@lj
2007-04-26 15:55 (ссылка)
DO 100 I = 1.100

(Ответить) (Уровень выше)

К языку всего одно требование
[info]ex_chistyak@lj
2007-02-26 18:08 (ссылка)
Чтобы инженер, знающий суть проблемы мог программу прочитать и поставить подпись. "Си" тут не катит.

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]uma_palata@lj
2007-02-26 18:21 (ссылка)
Почему не катит? На Си легко можно писать паскалевские программы.

(Ответить) (Уровень выше)

Re: К языку всего одно требование
[info]metaclass@lj
2007-02-27 06:31 (ссылка)
Такое требование на первый план выдвигает специализированные под предметную область языки. Но такие языки обычно опять же делаются программистами и опять же на языках вроде С и C++, и приходим к тому же. Хотя по логике вещей, проверить такую двухуровневую схему на отсутствие ошибок должно быть гораздо проще.

(Ответить) (Уровень выше)

Re: К языку всего одно требование
[info]potan@lj
2007-02-27 06:49 (ссылка)
Это больше от стиля зависит, чем от языка.
Ну экзотику, вроде APL, рассматривать не будем :-).

(Ответить) (Уровень выше) (Ветвь дискуссии)

Re: К языку всего одно требование
[info]ex_chistyak@lj
2007-02-27 07:46 (ссылка)
Язык определяет стиль.

(Ответить) (Уровень выше) (Ветвь дискуссии)

Re: К языку всего одно требование
[info]potan@lj
2007-02-27 08:07 (ссылка)
Нет, стиль определяет руководитель проекта.
В FreeBSD исходные коды на чистом C прекрасно читаются.
А студенческие поделья на Pascal - с больщим трудом.

Конечно, язык имеет некоторое знячение. Скажем на APL-подобных языках написать читабельно для не гуру врядли возможно. На Haskell обработка символьной информации пишется прозрачно, а задачи общего назначения - когда как. И четких рекомендаций по стилю пока выработать не удалось.
Но C и Pascal при правильно выбраном стиле кодирования практически не отличаются. На мой вкус C даже читабельнее, за счет сокращения числа слов, которые приходится анализировать читателю.

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]dr_klm@lj
2007-03-06 21:52 (ссылка)
Позвольте заступиться за APL-подобные языки... ;-) Во-первых, там более высокая концентрация информации на символ (значит, новичку прийдется читать медленно). Во вторых (как и на любом другом языке), там можно писать как читабельные, так и нечитабельные программы. В J, например, типичная "болезнь" новичка -- записывать всю программу (эквивалентную каким-нибудь двум-трем экранам плотного фортрановского кода) в одну строку да еще и в неявной (tacit) форме. Это и для гуру бывает непросто расшифровать. Если-же писать "по одной мысли на строчку" -- читается очень хорошо !

К.Л.М.

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]potan@lj
2007-03-07 06:02 (ссылка)
Возможно, хорошо читается опытным программистом или математиком. Но инжереном-механиком без специальной подготовки - врядли. А проходить подобную подготовку они не захотят.

(Ответить) (Уровень выше)


[info]thesz@lj
2007-02-26 19:17 (ссылка)
Как ОПЫТНЕЙШИЙ РАЗРАБОТЧИК и СИСТЕМНЕЙШИЙ АРХИТЕКТОР не примену добавить, что подходы при разных языках и технологиях отличаются должностью.

(Ответить) (Уровень выше)


[info]potan@lj
2007-02-27 06:21 (ссылка)
Вопрос только времени и бюджета.

(Ответить) (Уровень выше)


[info]dr_klm@lj
2007-03-06 21:35 (ссылка)
Есть такой язык Brainfuck (http://www.muppetlabs.com/~breadbox/bf/)... Рекомендую ! ;-)

К.Л.М.

(Ответить) (Уровень выше)


[info]heavywave@lj
2007-04-02 09:58 (ссылка)
напишите unix на php плиз.

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]metaclass@lj
2007-04-02 10:51 (ссылка)
И это сделает дискуссию о том, какой язык лучше, более осмысленной?

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]heavywave@lj
2007-04-02 19:24 (ссылка)
вы докажете своё неверное утверждение о том, что язык не имеет никакого значения.

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]metaclass@lj
2007-04-03 04:45 (ссылка)
Язык значение имеет, дискуссия о языках - не имеет.

(Ответить) (Уровень выше)


[info]neznaika_nalune@lj
2007-02-26 15:30 (ссылка)
Насчёт вертолёта и туалета - большие сомнения (по крайней мере в распознавании образов я кое-что понимаю)
Про переворачивание в воздухе в южном полушарии - тоже. Во всяком случае если ориентация по GPS, никакой инверсии при пересечении экватора не возникает.

А что за история с АН-26, нельзя ли поподробнее?

(Ответить) (Ветвь дискуссии)

Переворачивание в воздухе в Южном полушарии.
[info]vova_belkin@lj
2007-02-26 16:57 (ссылка)
Инверсия по-моему есть. В южном полушарии координата Z ортогональной системы координат WGS-84 (http://www.ordnancesurvey.co.uk/oswebsite/gps/information/coordinatesystemsinfo/guidecontents/guide4.html) меняет знак.
Вообще-то существуют системы которые рассчитывают углы тонгажа-крена-рысканья используя последовательность координат ЖПС (например, при обработке изображений снятых камерой установленной на самолете), но это всё НЕ системы управления ЛА в реальном времени, так что насчет того, что самолет реально может перевернуться я сомневаюсь.
Вообще, при переезде из полушария в полушарие очень много ПО глючит, правда в основном из-за неправильного подсчета времени.

Да и я сам раз на экзамене по астронавигации очень сильно затупил на эту тему.

(Ответить) (Уровень выше) (Ветвь дискуссии)

Re: Переворачивание в воздухе в Южном полушарии.
[info]ex_chistyak@lj
2007-02-26 18:06 (ссылка)
Переворачивание вполне возможно. Знак поменялся в одной компоненте какого-то вектора, и через все линейные преобразования (матрицы там всякие) прошёл. В итоге - переворот. Элементарно.

(Ответить) (Уровень выше) (Ветвь дискуссии)

Re: Переворачивание в воздухе в Южном полушарии.
[info]vova_belkin@lj
2007-02-26 18:44 (ссылка)
То что математически возможно - это очевидно.
А вот управлять креном самолета на основе данных ЖПС - по моему фундаментально неправильно, хотя бы из-за того, что сигнал ЖПС довольно легко локально глушится - наприме вот так. (http://www.x-libri.ru/elib/kashn001/00000001.htm)

(Ответить) (Уровень выше) (Ветвь дискуссии)

Re: Переворачивание в воздухе в Южном полушарии.
[info]ex_chistyak@lj
2007-02-26 18:55 (ссылка)
Я уж где-то Вам ответил на этот вопрос. Порыщите где-то рядом.

(Ответить) (Уровень выше)

Re: Переворачивание в воздухе в Южном полушарии.
[info]arcman
2012-06-24 19:17 (ссылка)
Это полная чушь - автопилот работает по данным инерциальной системы.

(Ответить) (Уровень выше) (Ветвь дискуссии)

Re: Переворачивание в воздухе в Южном полушарии.
[info]dpla
2012-06-24 19:31 (ссылка)
>...автопилот работает по данным инерциальной системы...

Ну и что? Надо знать КАК он работает.

(Ответить) (Уровень выше) (Ветвь дискуссии)

Re: Переворачивание в воздухе в Южном полушарии.
[info]arcman
2012-06-25 13:21 (ссылка)
То что качество инженерного образования существенно упало.
Инерциальная система прекрасно знает где верх, а где низ - при пересечении экватора для неё ничего не изменится.

(Ответить) (Уровень выше) (Ветвь дискуссии)

Re: Переворачивание в воздухе в Южном полушарии.
[info]dpla
2012-06-25 17:11 (ссылка)
Если инерциальная система сделана правильно, то при пересечении экватора для неё ничего не изменится. А если в ИНС содержится ошибка?

(Ответить) (Уровень выше)

Ан-26
[info]ex_chistyak@lj
2007-02-26 18:17 (ссылка)
Случай такой. Испытывали ракету "воздух-вкртолёт":) Ракета должна была распознавать вертолёт по допплеровскому эффекту от винтов (авторство "Фазотрона").
Когда проводили испытания, ответственный по полигону или как его там, дал добро на работу, а в воздухе был Ан-26 типа летающей лаборатории с народом. Ракету пустили с истребителя, а она вместо старого вертолёта-мишени захватила Ан-26 и поразила его. Народ посыпался наземь, естественно летально.
Разбиралово было долгим (годы) в итоге того, кто дал "добро", посадили. Но не надолго.

Дата 24.06.85. (июнь, я в посте ошибся, написав июль)

(+)

(Ответить) (Уровень выше) (Ветвь дискуссии)

Re: Ан-26
[info]igorbor@lj
2007-02-26 23:29 (ссылка)
Ну, а программисты-то здесь при чем? Это программист, что ли, давал "добро"?

(Ответить) (Уровень выше)


[info]mkay422@lj
2007-02-27 00:28 (ссылка)
http://it.slashdot.org/article.pl?sid=07/02/25/2038217

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]neznaika_nalune@lj
2007-02-27 03:48 (ссылка)
Это вполне возможно. Насчёт экватора - не очень верится

(Ответить) (Уровень выше)


[info]ygam@lj
2007-04-26 15:59 (ссылка)
У Литтлвуда в "Математической смеси" рассказывается о дуэли английского и немецкого линкоров в Южной Атлантике в Первую Мировую; снаряды не попадали в цель из-за силы Кориолиса, в Южном полушарии действующей не туда.

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]ex_chistyak@lj
2007-04-26 17:42 (ссылка)
Интересный факт. Так и должно быть, если пристрелка была проведена на севере.

(Ответить) (Уровень выше)


[info]lazyreader@lj
2007-02-26 16:03 (ссылка)
Что-то уж больно сильное чувство - "ненавижу" :)

Назовём всех горе-инженеров "программистами" и будем их ненавидеть.

(Ответить) (Ветвь дискуссии)


[info]ex_chistyak@lj
2007-02-26 18:00 (ссылка)
Я ещё разводчиков плат ненавижу. И конструкторов механики. И Чувство это очень сильное и неизбывное.

(Ответить) (Уровень выше)


[info]ex_project_d682@lj
2007-02-27 06:07 (ссылка)
Я сам - программист-архитектор, но очень много программистов люто, бешено ненавижу. Особенно когда приходится ковыряться в написанном ими коде, чтоб вылавливать дебильные до ужаса ошибки и ляпы.

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]ex_chistyak@lj
2007-02-27 06:23 (ссылка)
Понимаю Вас. Поэтому считаю, что лучше программистам вообще ничего не доверять. Машине объяснить проще, чем идиоту.

(Ответить) (Уровень выше)


(Анонимно)
2007-02-26 16:34 (ссылка)
Был несколько лет назад случай у японцев: ракета выводившая спутник в космос взорвалась. В новой версии ПО были незначительные улучшпения

НАСА послало к МАрсу автоматический аппарат, который должен был обогнуть планету. ЧАсть работ были сделаны в НАСА с использованием единиц СИ,чсть - в Локхиде, кажется, где использовали имперские меры, в астности давление газов двгателя было в фунтах на квадратный дюйм.
Пока он летел в открытом пространстве, периодические коррекции раз в сутки срабатывали; зайдя за планету, он ошибся больше чем на сотню миль и сгорел в атмосфере

(Ответить) (Ветвь дискуссии)


[info]ex_chistyak@lj
2007-02-26 18:03 (ссылка)
Англосаксов только за ихние "инчи" надо всех утопить нах. А водоём заморозить, чтоб не вылезли.

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]a_50@lj
2007-02-27 00:08 (ссылка)
Инчи это не самое страшное
Чемпионская единица измерения - psi - Pound-force per square inch

(Ответить) (Уровень выше)


[info]metaclass@lj
2007-02-27 05:41 (ссылка)
Точно. Они еще и протестовали, когда у них хотели систему си ввести.

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]ex_project_d682@lj
2007-02-27 06:12 (ссылка)
Да чего с обезьян взять... Убогие.

(Ответить) (Уровень выше)


[info]ex_project_d682@lj
2007-02-27 06:12 (ссылка)
Не заморозить, лучше стеклом залить.

(Ответить) (Уровень выше)


[info]metaclass@lj
2007-02-26 16:36 (ссылка)
Не хватает классики программистского маразма - системы управления ускорителем для радиационной терапии Therac-25. Дауны в нем убрали механическую защиту, а в программе управления была ошибка, при определенной комбинации действий оператора приводящая к мрачному переоблучению пациента. Несколько смертельных случаев, насколько я помню.

(Ответить) (Ветвь дискуссии)


[info]ex_szhap_o_@lj
2007-02-26 17:11 (ссылка)
5 смертельных случаев

(Ответить) (Уровень выше)

Угу
[info]ex_chistyak@lj
2007-02-26 18:04 (ссылка)
Весьма известный случай.

(Ответить) (Уровень выше)

Рассказ очевидцца
[info]ros_sea_ru@lj
2007-02-26 17:54 (ссылка)
Когда в СССР испытывали лазерное оружие,
была создана система , которая могла вычислять глаз,
а также находить в поле зрения оптику
и целенаправленно бить по ним,
с целью (временного) ослепления противника
и его визуальных средств контроля.
Очень полезно против танков, снайперов,
смотрящих в бинокли и средства наведения и т. д.

Рушили испытать это дело на кроликах,
так как у них большие глаза, стрелять удобно.
Всётки система в режиме отладки.
И тут в поле зрения прибора попадает
неизвестно как попавший в зону стрельбы пьяный прапорщик ...
Система немедленно перенацеливается с кроликов на него
и бъёт ему прямо в налитые глаза ...

Слава Богу, зрение не потерял ...

(Ответить) (Ветвь дискуссии)

Re: Рассказ очевидцца
[info]ex_chistyak@lj
2007-02-26 18:20 (ссылка)
Говорят, что потом от этой системы отказались, потому что если поражаемый смотрел в другую сторону, то поражения не получалось. А заблуждались по этому поводу несколько лет по началу.

(Ответить) (Уровень выше) (Ветвь дискуссии)

Re: Рассказ очевидцца
[info]ros_sea_ru@lj
2007-02-26 18:28 (ссылка)
Я в курсе, знаком с разработчиками.
Тут дело в мощности в пучке.
Им хотелось сделать систему мобильной,
чтоб не требовала постройки электростанции на поле боя.
Но против всякой танковой/вертолётной оптики
и вообще оптики поля боя
подобные системы весьма перспективны.
Главное - при достаточной мощности в пучке
от таких систем пока не существует никаких средств защиты.
Просто время срабатывания защиты
должно быть короче поражающего импульса, а это нереально.
Ни сейчас , ни в перспективе.

А прапор, как подозревают испытатели -
смотрел на кроликоффф ...

Мош, закуску увидел ?

(Ответить) (Уровень выше) (Ветвь дискуссии)

Re: Рассказ очевидцца
[info]ex_chistyak@lj
2007-02-26 18:41 (ссылка)
Прапор-то по-своему всё видит. А вдруг кролик от лазера поджарится? Надо съесть сразу, а то унесут в лабораторию.

(Ответить) (Уровень выше)

Re: Рассказ очевидцца
[info]dbaev@lj
2007-02-26 19:44 (ссылка)
Дык, Spiritus Vini basis vitas est :)

(Ответить) (Уровень выше) (Ветвь дискуссии)

Re: Рассказ очевидцца
[info]ros_sea_ru@lj
2007-02-26 21:12 (ссылка)
Знамо, есть жизнь ..
Ктож спорит ..
Глотнул, дыхнул,
и дорогая оптика
покрывается микронным слоем растворителя ...

(Ответить) (Уровень выше)

(Комментарий удалён)
Вы правы
[info]ex_chistyak@lj
2007-02-26 18:53 (ссылка)
Конечно, управлять креном по ЖПС - безумие. Для этого только "программистм" надо быть:)
Однако, изначальное управление самолётом на траекторном уровне идёт-таки по навигации. Далее вектор заданного направления пропорционально идёт на заданный крен. Далее, см. про линейные преобразования. Переворот возможен элементарно.

(Ответить) (Уровень выше) (Ветвь дискуссии)

Re: Вы правы
[info]vova_belkin@lj
2007-02-26 19:02 (ссылка)
Не сообразил, что так тоже может быть. Наверное потому что сам - по большей части программист.

(Ответить) (Уровень выше) (Ветвь дискуссии)

Re: Вы правы
[info]ex_chistyak@lj
2007-02-26 19:28 (ссылка)
Кайтесь, кайтесь:)

(Ответить) (Уровень выше)

Про CG Yorktown -лажа...
[info]dbaev@lj
2007-02-26 19:43 (ссылка)
...в том смысле, что когда сей орабль проходил испытания, не то, что WinNT, еще и Win 3.11 в природе не существовало.
Это ж Ticonderoga CG Batch 1.

P.S Про F-16ADF- тоже. Не самолет развернуло- а цифровую карту. Горизонтальную. :)

(Ответить)

А про наших чтож молчите?
[info]hydrargentum@lj
2007-02-27 02:16 (ссылка)
Самая страшная по моему мнению ошибка программы.

Которую допустил не программист правда а зам генерального конструктора, и байконуре погибло более 120 человек в течении нескольких секунд, включая тогдашнего главкома РВСН.

Сам Челомей остался жив только потому что отошел в этот момент покурить.

Просто все спешили, и впопыхах забыли что батареи системы управления уже подключены - запустили проверку полетной программы, щелк-щелк-щелк, и в результате проверки, у ракеты стоящей на стартовом столе включился двигатель второй ступени. А вокруг шла доводка сырой, УЖЕ ЗАПРАВЛЕНОЙ ракеты, генеральный гнал вперед, копошились люди, гражданские из КБ, военные из космодромных.

http://www.youtube.com/watch?v=PUuuWv2YXt4

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

(Ответить) (Ветвь дискуссии)

Re: А про наших чтож молчите?
[info]ex_project_d682@lj
2007-02-27 06:18 (ссылка)
"А уж обвинять во всем Программистов"

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

(Ответить) (Уровень выше) (Ветвь дискуссии)

Re: А про наших чтож молчите?
[info]hydrargentum@lj
2007-02-27 08:43 (ссылка)
Я вам тут отвечу как программист,

>>Большинство программистов не удосуживаются свои поделки проводить сквозь комплексные тесты.

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

Коль скоро под вашим руководством есть программисты или инженеры которые выполняют задачи программирования - в чем проблема корректно поставить задачу, обрисовать в спецификации что система должна учитывать обязательно, обязать разработчиков тестировать код на уровне функций (благо сейчас Unit Test Frameworks есть для любого языка программирования, даже для микроконтроллеров) - а про научное доказательство корректности, так это простите значит что те программеры которые работают на вас просто крайне далеки от предметной области, если они не могут представить критерий правильности работы их программ.

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

Вы простите сами, на все руки мастер - одинаково хорошо можете посчитать уравнения аэродинамики, и дипольные моменты для молекулы например бензопиррола? Я думаю врядли.

И чтож если вы не сможете вычислить значение дипольного момента мне вас записать в лохи ливерные?

(Ответить) (Уровень выше) (Ветвь дискуссии)

Re: А про наших чтож молчите?
[info]ex_chistyak@lj
2007-02-27 10:26 (ссылка)
Я вот как-то без программистов обхожусь. Одни несчастья от них. Лучше уж самому.

(Ответить) (Уровень выше) (Ветвь дискуссии)

Re: А про наших чтож молчите?
[info]hydrargentum@lj
2007-02-27 12:00 (ссылка)
Вы вообще Титан, обнаружив ваш журнал удивился невероятно.

А скажите, есть ли на постсоветском пространстве ктонить кто занимается созданием подводных беспилотников? Есть ли ресурсы в сети профильные?

(Ответить) (Уровень выше) (Ветвь дискуссии)

Re: А про наших чтож молчите?
[info]ex_chistyak@lj
2007-02-27 13:40 (ссылка)
Такие люди, что занимаются подводными беспилотниками, есть, по крайней мере, были в СССР в Краснодаре. Но я их не встречал с 1991 года, увы.
Надо узнать, кто делал подводную станцию "Мир", с которой снимали подводные кадры в "Титанике". Искать надо, наверное, в Калининграде или в Ленинграде.

(Ответить) (Уровень выше)

Re: А про наших чтож молчите?
[info]a_50@lj
2007-02-27 21:37 (ссылка)
> мне вас записать в лохи ливерные?
В лохи да еще и ливерные, лучше не надо:).
Рецепт простой: пусть аэродинамику считают аэродинамики,
а молекулы, соответственно,
химики.

(Ответить) (Уровень выше) (Ветвь дискуссии)

Re: А про наших чтож молчите?
[info]ex_chistyak@lj
2007-02-28 03:47 (ссылка)
ВО! О необходимости чего всё время и говорят большевики!

(Ответить) (Уровень выше)

О, пальцегнутик пургена объелся...
[info]ex_project_d682@lj
2007-03-01 00:33 (ссылка)
"Это целиком и полностью вина не программиста, а организатора производственного процесса"

1. Отнюдь. Может быть, ещё менеджер по кадрам во всяких фирмах будет строить техничек на предмет правильного мытия полов? В тестировании программист _должен_ понимать больше любого другого.

2. _Модульные_ тесты - это даже не половина дела, это только самое начало. Впрочем, похоже, Вам про это неизвестно.

"а про научное доказательство корректности, так это простите значит что те программеры которые работают на вас просто крайне далеки от предметной области"

Ну-ну. Про доказательство корректности Вы, похоже, не слышали ничего. Подсказка: оно не имеет НИКАКОГО отношения к предметной области.

"но и вас в первую очередь что вы поставили некомпетентных людей"

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

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

(Ответить) (Уровень выше) (Ветвь дискуссии)

Re: О, пальцегнутик пургена объелся...
[info]hydrargentum@lj
2007-03-01 03:22 (ссылка)
Нуну....

Я то думал - кто это.... А это аказывается Архитектор, Архитектор это наверняка ПриМат за плечами, и в частном случае даже круче чем "Программист" :))) Вы сами то програмируете что либо практически, или вашу архитектуру воплощать в живой код вы тоже не уполномочены?

1. Тестирование это часть рабочего процесса, а то как идет рабочий процесс в первую очередь зависит от того кто этот процесс ставит, и имеет возможность влиять не на исполнение а на архитектуру процесса - исполнитель играет роль инструмента - если правильно поставлен рабочий процесс, то инструменты сами точатся, и даже самая разп.. техничка будет качественно мыть полы - у нее выбора не будет. Если процесс ставят дилетанты - то имея гениальные инструменты в результате будет в 70% лажа.

2. Я знаю как обстоит дело с тестированием, и в теории и на практике, так как мне помимо совдеп стиль компаний, давелось поработать и на буржуйские корпорации - вы читать умеете? Даже модульные тесты компании оказались не нужны - а это как вы сами заметили не половина даже дела, в теории. На практике теперь - ничего кроме модульных тестов и GIGO программист делать НЕ ДОЛЖЕН. В случае если програмист сам себя тестирует - это нетолько не полезно, это крайне вредно - приемные ТЕСТЫ И ПРОГРАММЫ должны писать РАЗНЫЕ люди - это результат личной практики.

Доказательство корректности - каюсь ваша правда, я не примат не разу - мне ближе всюдорогу органолептический метод и статистика :)

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

Найдите нам хороших программистов, заказчиков которые знают что им надо и способны писать спеки которые к концу проекта не изменятся на 95%, и чтобы еще до обеда пузо чесать можно было, и бюджеты как у рекламных компаний - и будет нам царство божие где жратва. Фантастика - на третьем этаже, отдел "Ы".

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

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

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

(Ответить) (Уровень выше) (Ветвь дискуссии)

Re: О, пальцегнутик пургена объелся...
[info]ex_project_d682@lj
2007-03-01 03:37 (ссылка)
0. У нас тут специалистов мало, аспиранты в основном, поэтому, кроме построения архитектуры, и кодировать приходиться (да даже фреймворки писать), и проектировать, и анализ предметной области... И при этом огромная часть времени и сил тратится на исправление той пурги, что понаписали другие.

1. Управление процессом - это внешний уровень для кодера, а что там у него внутри, известно только ему (модуль для всех, кто его не разрабатывает, представляет собой чёрный ящик, к нему только интерфейсы на внешнем уровне специфицируются).

2. Сам делать не должен, но он должен свой модуль сделать таким, чтоб его можно было протестировать, а не отрефакторить (трудоёмкий и долгий процесс) перед этим грёбаным тестированием. Сколько раз приходилось втыкать в код, логика работы которого непостижима без стакана, а отловить без дебаггера ошибки почти нереально (да за такое пальцы отрубать мало!)... Да и вообще, кодерам, которые процедуру не могут уместить в один экран, убивать надо. Так что всё же тестирование в первую очередь зависит от кодера, при этом первичное тестирование модуля - исключительно его задача, как на корректность работы, так и на реакцию в экстремальных ситуациях. А кто сейчас это делает? Да никто почти. "Работает? Ну и ладно, на остальное - плевать". Сами потом локти кусают, когда код приходится менять (сопровождение и развитие), но продолжают делать дерьмо.

Насчёт резкости: да просто задрало говорить об одном и том же, особенно когда ещё и обидки какие-то появляются. Некоторым хоть кол на голове теши. Правильно товарищ Чистяков говорит: в нормальном обществе программисту нельзя доверять НИЧЕГО.

(Ответить) (Уровень выше)

Re: А про наших чтож молчите?
[info]ex_chistyak@lj
2007-02-27 06:19 (ссылка)
Но программисты всех опасней. Ладно, про батареи помнить можно. От графика работы можно не отклоняться. Дисциплина. А программист напишет там чего-то, и кирдык. Никто и не в курсе.

(Ответить) (Уровень выше)


[info]ex_ob_zor@lj
2007-02-27 05:59 (ссылка)
очень похоже на лекции которые наш грпа читала абитурентам на "днях открытых дверей" каждый год. за вычетом "ненавижу" разумеется :))

(Ответить) (Ветвь дискуссии)

Но всё-таки ненавидел, наверное:)
[info]ex_chistyak@lj
2007-02-27 06:21 (ссылка)
Молча.

(Ответить) (Уровень выше)


[info]goshen@lj
2007-02-27 06:17 (ссылка)
Вот еще одна до кучи (http://www.dailytech.com/Lockheeds+F22+Raptor+Gets+Zapped+by+International+Date+Line/article6225.htm).

И чего? Ошибки в таких системах были, есть и будут -- слишком много дискретных состояний, все не проверишь и не предусмотришь. Большинство перечисленных ошибок, что характерно, на уровне спецификаций, а не кода. И неизменная дискуссия на тему "Чем Плох С" здесь совершенно не в кассу. Если у тебя один компонент считает в дюймах, а другой в сантиметрах, то что паскаль им, что ада -- это мертвому припарки.

(Ответить) (Ветвь дискуссии)


[info]potan@lj
2007-02-27 06:31 (ссылка)
При желании в C++ можно ввести coding style и требовать использование физических типов, которые элементарно делаются с помощью шаблонов. Дюймы с метрами не перепутаются.

Но это, конечно, от всех ошибой не спасет.

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]metaclass@lj
2007-02-27 06:33 (ссылка)
Кстати да, заставить программу соблюдать физические размерности величин при расчетах это идея хорошая.

(Ответить) (Уровень выше)


[info]ony10@lj
2007-02-27 07:51 (ссылка)
> В Афганистане двое наводчиков-наблюдателей (канадцы) подсвечивали цель для наведения на нее бомбы. После сброса бомбы в GPS приемнике закончились батарейки. Расчет их быстро заменил. В результате ракета прилетела не туда. Причина проста. После подачи питания в прибор, переменные, отвечающие за координаты цели, автоматически инициализировались координатами текущего местоположения.

Хмм, не понял. Народ подсвечивал цель - те, навели перекрестие, включили лучик и ждем когда прилетит бомба. Каким краем здесь замешан GPS?

(Ответить) (Ветвь дискуссии)


[info]ex_chistyak@lj
2007-02-27 10:34 (ссылка)
В этом эпизоде вообще мутно ВСЁ. Тем не менее, бомбы часто падают на самих испытателей.

(Ответить) (Уровень выше)

В копилку - об одной из ошибок в F-22
(Анонимно)
2007-02-28 18:49 (ссылка)
http://www.defensetech.org/
(по тексту ниже можно найти и другие источники)

Из интервью:

SHEPPERD: You got it right, John. You want everything to go right with your frontline fighter, $125, $135 million to copy. The F-22 Raptor is our frontline fighter, air defense, air superiority. It also can drop bombs. It is stealthy. It's fast and you want it all to go right on your first deployment to the Pacific and it didn't. At the international date line, whoops, all systems dumped and when I say all systems, I mean all systems, their navigation, part of their communications, their fuel systems. They were -- they could have been in real trouble. They were with their tankers. The tankers - they tried to reset their systems, couldn't get them reset. The tankers brought them back to Hawaii. This could have been real serious. It certainly could have been real serious if the weather had been bad. It turned out OK. It was fixed in 48 hours. It was a computer glitch in the millions of lines of code, somebody made an error in a couple lines of the code and everything goes.

--------------
А еще в свое время в "Зарубежном военном обозрении" писали (во второй половине 1990х), что в бомбандировщике стелс (я в этом не специалист, поэтому забыл название) на тот момент существовало около 690 ошибок ПО, из-за которых нельзя было использовать часть боевых режимов.

(Ответить) (Ветвь дискуссии)

Угу
[info]ex_chistyak@lj
2007-02-28 20:03 (ссылка)
Я тоже читал про этот случай с линией перемены дат. Это вообще удивляет. Как будто ребята не подозревают о способах счёта времени, никак не связанных с датой. Не удивлюсь, если они и координаты считают в широте/долготе, а не в геоцентрических. Слишком много "программистов" задействовано. Всем же не объяснишь.

(Ответить) (Уровень выше)


[info]b_my@lj
2007-05-15 13:50 (ссылка)
Да ладно... самолет перевернулся, корабль постоял - фигня какая...
http://www.osp.ru/os/1998/06/179592/#part_2

(Ответить)

Это всё байки!
[info]arcman
2012-06-24 19:31 (ссылка)
ненавидить нужно идиотов, которые данные байки придумали.
головой думать надо и мат. часть изучать, а не верить во всё подряд.
на поверку большая часть описанного невозможна и просто выдуманна.

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

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

при работе с вещественными числами деление на ноль получить практически невозможно.

(Ответить)