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

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

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

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

Сообщества

Настроить S2

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



Пишет chistyakov ([info]chistyakov)
@ 2004-09-18 22:26:00


Previous Entry  Add to memories!  Tell a Friend!  Next Entry
Настроение:кипение замысла БРАТа-фоторобота
Музыка:Итальянская 60-х

ГрАНТ. О программировании и инженерах
ИЗ-ЗА ПЕРЕГРУЗКИ ТЕМЫ ОБСУЖДЕНИЕ ЗДЕСЬ ЗАКРЫТО, СВОИ КОММЕНТАРИИ ОСТАВЛЯЙТЕ ЗДЕСЬ (у меня всё и всегда открывается в новом окне. Давите, это окно не пропадёт, почитаете ещё)

ГрАНТ привлёк внимание ЛЖюзеров. Многим понравился этот ДПЛА:



В дискуссиях по ГрАНТу появились какие-то странные люди, позиционирующие себя как "программисты". Мне удивительно.

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

Профессия "программист" -- это нечто типа секретарь-машинистка, что ли? Чертёжник? Что это за односторонне развитый специалист, который может только программировать? Главное, ведь ЧТО программировать, правда? Задача -- главное.

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

Меня поучают какими языками программирования пользоваться. Это удивляет. Возникает ощущение, что молодые люди думают, что до их появления на свет никто ничего не знал, не умел делать, или вообще никого и ничего не было. Слава Богу, с появлением этих людей на свет всё встало на свои места. Русская техника спасена, наконец-то!

Для меня важнейшим свойством программы является её понятность для ЧЕЛОВЕКА. А вовсе не какая-то надуманная "эффективность кода". Программа -- это прежде всего конструкторский документ, на основании которого можно и через годы, когда уже не будет в живых автора программы, понять, по какому алгоритму всё это на самом деле работает. Ни один документ, кроме текста программы, не обладает достаточной для этой цели достоверностью. В наглядности и алгоритмичности нет равных языку Паскаль. Поэтому я и пользуюсь им. Когда надо что-то посчитать действительно быстро, то нет труда написать критический кусок на Ассемблере. Таких кусков набирается совсем немного.

Дополнение (навеяно комментарием [info]ob_zor@lj:

Известны 10 преимуществ Паскаля перед Си:)
Я приведу только одно, но самое важное:

10. На Си Вы можете написать:

for(;P("\n").R-;P("|"))for(e=3DC;e-;P("_"+(*u++/8)%2))P("| "+(*u/4)%2);

На Паскале Вы НЕ МОЖЕТЕ написать:

for(;P("\n").R-;P("|"))for(e=3DC;e-;P("_"+(*u++/8)%2))P("| "+(*u/4)%2);

Кстати, может кто-нибудь перевести эту абракадабру на Паскаль?
_______________________________________________________________________









Для тех, кто не посмотрел ранее выложенные фотки ГрАНТа:

ГрАНТ. Эвакуация с места посадки. Зима 2002 года
ГрАНТ в полёте. Зима 2002 года
Старт ГрАНТа. Зима 2002 года
Комплекс ДПЛА ГрАНТа -- венец советского тактического ДПЛАстроения

{+}



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

Мы говорим несколько о разных вещах
[info]ex_chistyak@lj
2004-09-18 12:45 (ссылка)
Я говорю о программах сложных технических комплексов, например, о программах для комплекса ДПЛА. Мне как Главному конструктору гораздо проще самому ЛИЧНО написать некоторые программы, чем разговаривать с Вами в качестве "клиента". А потом, на лётных испытаниях обнаружить, что Вы ни фига не поняли, и всё работает совсем не так, как я хочу.
Проблема формулировки технических заданий -- главнейшая и коварнейшая проблема сложных технических систем.

Умоляю Вас не обижаться, если мой текст покажется Вам резким. Эта резкость адресована не Вам:).

{+}

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

Re: Мы говорим несколько о разных вещах
[info]lazyreader@lj
2004-09-19 01:04 (ссылка)
Вы уверены, что сложность именно программ Вашего комплекса велика? Комплекс сложный, спору нет; а программы?

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

Re: Мы говорим несколько о разных вещах
[info]ex_chistyak@lj
2004-09-19 02:53 (ссылка)
Так комплекс -- это и есть программы. В программах вся логика, мозги комплекса. Аппаратура только перегоняет данные. Я умышленно отвлекаюсь сейчас от механики и аналоговой электроники: мотора, транспортно-пусковой установки, следящей антенны, ТВ тракта, самого самолёта...
Программы комплекса по своей сути являются кладезем наших знаний о том, как комплекс должен работать в той или иной ситуации. По мере проведения новых и новых исытаний программы уточняются и проверяются вновь, c уточнёнными алгоритмами. ПОэтому читабельность программ исключительно важна.
С точки зрения программирования программы, наверное, несложные. Условия, циклы, вычисления... Сортировок, поисков данных в больших объёмах, естественно, нету. Кнуту с его "Искусством..." не разгуляться:)
Если программы сложны, то именно большим количеством разнородных одновременно решаемых задач, взаимосвязями между программами, в том числе между наземными ЭВМ и бортовыми ЭВМ. Эта сложность характерна тем, что человек просто не может предсказать подчас, а что сейчас сделает комплекс? Куда повернёт ДПЛА? Откуда зайдёт на цель? Есть только уверенность, что он всё сделает правильно и оптимально. Человек, естественно, может выразить свою волю, и она будет безоговорочно Исполнена (за исключением абсурдных действий, ведущих к катастрофе)... Да ещё одна сложность! Это диапазон уровней, так сказать. Программа занимается большой задачей проводки самолёта (характерное время десятки минут) и в то же время занимается формированием управляюжщего сигнала на рулевые машики (характерное время 1 мс). Ну, и много таких штучек.
Примерно так. Программы простые. Но их много и связей много. Человеку не под силу удержать в голове все связи и реальные текущие условия. Если что-то пошло неправильно, надо разобраться, почему, и что-то поправить, уточнить, запретить... Ну, я уже повтроряюсь. Коротко: сложность как проблема.
Ну, и дороговизна лётных экспериментов, то есть отладки.

{+]

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

Re: Мы говорим несколько о разных вещах
[info]gnuzzz@lj
2004-09-20 09:27 (ссылка)
>Человеку не под силу удержать в голове все связи и реальные текущие условия.
Одновременно все удерживать, имхо, и не надо. Надо писать побольше юнит-тестов
>Ну, и дороговизна лётных экспериментов, то есть отладки.
Отладка на стенде чем не вариант?

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

Отладка на стенде чем не вариант?
[info]ex_chistyak@lj
2004-09-20 09:43 (ссылка)
Это не вариант. Это необходимый этап. Но недостаточный.
Комплекс полностью работает только в полёте. Например, траекторный алгоритм и автопилот ГрАНТа могут работать только при реальном движении. Есть и другие алгоритмы, которые невозможно полностью сыграть на полунатурной модели. Типа, как нельзя на Земле смоделировать невесомость в течение длительного времени. Во многом по тем же причинам.

{+}

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

Re: Мы говорим несколько о разных вещах
[info]golosptic@lj
2004-09-19 21:58 (ссылка)
Проблема ТЗ действительно тяжёлая, но вполне решаемая.
Особенно, если действовать в рамках технических стандартов.

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

Re: Мы говорим несколько о разных вещах
[info]ex_chistyak@lj
2004-09-19 22:12 (ссылка)
Конечно, проблема ТЗ решаемая. Я всю жизнь этим занимаюсь. И стандарты помогают, только обжествлять их не надо.

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

Re: Мы говорим несколько о разных вещах
[info]krlz@lj
2005-03-12 14:34 (ссылка)
Есть хорошая книжка по теме :
http://www.amazon.com/exec/obidos/ASIN/0321125215/qid=1110648839/sr=2-1/ref=pd_bbs_b_2_1/002-2302719-5049641

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

Re: Мы говорим несколько о разных вещах
[info]ex_chistyak@lj
2005-03-12 16:42 (ссылка)
Спасибо

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


(Читать комментарии) -