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

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

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

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

Сообщества

Настроить S2

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



Пишет chistyakov ([info]chistyakov)
@ 2005-06-10 18:14:00


Previous Entry  Add to memories!  Tell a Friend!  Next Entry
Показалось важным про программирование. Выношу из комментов
Из переписки с dottedmag об объектном и прочем неестественном программировании в дискуссии "Компрачикосы от программирования".

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

Уверяю Вас, что никакие из экзотических видов программирования, перечисленных Вами, не требуются, более того вредны, при решении моих проблем. Ибо все они зиждутся на создании некоторых виртуальных слоёв архитектуры на реальном "железе" ЭВМ. Каждый такой слой, особенно когда его делали чужие люди, особенно иностранцы, является источником ненадёжности, причём принципиально непознаваемой ненадёжности.

ЭВМ --это прежде всего устройство. Мне вовсе не требуется программировать, не зная и не ведая, как это устройство работает. Это для "программистов". Я знаю ЭВМ и использую эти знания.
Я не имею в виду, что нужно программировать в машинных кодах. Отнюдь! Но язык программирования должен соответствовать тому, что и как делает ЭВМ в реальности. А она исполняет программу, команда за командой. Эта главная особенность ЭВМ как устройства наилучшим образом отражается обычными алгоритмическими процедурно-ориентированными языками. Даже языком "Си":)
Паскаль просто лучше для человека. Ведь важнейшая функция программы как текста, про которую почему-то редко вспоминают, -- это абсолютно достоверное документирование структуры самой программы, структуры данных и алгоритма того, что мы проектируем. И эта функция просто неоценима.

Господ "программистов" просят не беспокоиться.

{+}


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


[info]leonid_@lj
2005-06-10 13:01 (ссылка)
столярной ножовкой можно очень аккуратно пилить. и рез будет отменный.

но бензопила - быстрее.

так что любой технологии - свое место.

бортовой вычислитель Ваших систем, насколько я понимаю, управляет достаточно несложными формализованными операциями в условиях ограниченных ресурсов. вот эта вот штука - http://www.borland.com/resources/en/pdf/products/together/together_datasheet_tvs2005.pdf делает совершенно другое и в других условиях. сделать некоторые вещи, реализуемые с ее помощью, методами процедурного программирования невозможно - окончательно доказано было еще в середине 80-х, в том числе и на примере американской системы СОИ. могу поискать библиографию, причем даже тех же лет.

собственно, вещь как раз и предназначена для сохранения ясности в голове. точнее - в головах.

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

Я же просил господ "программистов",,,
[info]ex_chistyak@lj
2005-06-10 13:43 (ссылка)
>...столярной ножовкой можно очень аккуратно пилить. и рез будет отменный.
>...но бензопила - быстрее.

Как Вы думаете, мебедь красного дерево всегда делают бензопилой? Наверное. Это же быстрее.

Сложные комплексы, о которых идёт речь, создаются годами и десятилетиями. Здесь неуместна гонка наподобие выпусков очередных бессмысленных версий коммерческих программ. И если надо сделать комплекс ДПЛА быстро, то надо просто взять уже готовую разработку. Если у Вас она есть, конечно. А сделать быстро, особенно благодаря применению каких-то скоростных технологий программирования, невозможно. Когда делают летающие предметы, то стараются сделать не быстро, а хорошо. Иначе будет бесконечно долго.

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

Конечно. Главная проблема именно в формализации. Тогда и будет "достаточно несложно". Увы, скоростные технологии тут бессильны. Ум нужен. Кто будет "подвешивать колокольчик", в смысле формализовывать?
Кадры решают всё"(с)товарищ Сталин. Люди решают, а не примочки от Борланда.

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

Охуеть! Дайте две!

{+}

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

Re: Я же просил господ "программистов",,,
[info]rocket_surgeon@lj
2005-06-12 01:05 (ссылка)
".. Сложные комплексы, о которых идёт речь, создаются годами и десятилетиями. Здесь неуместна гонка наподобие выпусков очередных бессмысленных версий коммерческих программ. .."

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

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

Re: Я же просил господ "программистов",,,
[info]ex_chistyak@lj
2005-06-12 03:35 (ссылка)
То, что сложные, например, авиационные комплексы делаются годами и десятилетиями вовсе не означает, что они делаются по методике группы "Б". Они наоборот, делаются по методике группы "А", методом проб и ошибок, в том числе.

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

Сумбурно несколько, но Вы поймёте, я думаю.

{+}

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

Re: Я же просил господ "программистов",,,
[info]leonid_@lj
2005-06-14 11:04 (ссылка)
>>...столярной ножовкой можно очень аккуратно пилить. и рез будет отменный.
>>...но бензопила - быстрее.

>Как Вы думаете, мебедь красного дерево всегда делают бензопилой? Наверное. >Это же быстрее.

прекрасно. мне нужно напилить 5 кубометров дров (машина, на зиму надо 3 машины). Если я буду пилить ножовкой - до ноября не успею.

>Сложные комплексы, о которых идёт речь, создаются годами и десятилетиями. >Здесь неуместна гонка наподобие выпусков очередных бессмысленных версий >коммерческих программ. И если надо сделать комплекс ДПЛА быстро, то надо >просто взять уже готовую разработку. Если у Вас она есть, конечно. А >сделать быстро, особенно благодаря применению каких-то скоростных >технологий программирования, невозможно. Когда делают летающие предметы, то >стараются сделать не быстро, а хорошо. Иначе будет бесконечно долго.

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

>Конечно. Главная проблема именно в формализации. Тогда и будет "достаточно >несложно". Увы, скоростные технологии тут бессильны. Ум нужен. Кто будет >"подвешивать колокольчик", в смысле формализовывать?
>Кадры решают всё"(с)товарищ Сталин. Люди решают, а не примочки от Борланда.

Сталин вообще во многом был прав, чем больше живешь - тем больше это понимаешь. Технологии сами по себе ничего не могут решить. Однако, людям для работы нужен инструмент.

Можно пилить дрова столярной ножовкой. Но у нас есть граничное условие - дрова должны быть готовы к зиме. Если дров к зиме нет - мероприятие теряет смысл. В случае мебели граничное условие - функциональное и красивое изделие.

Разные задачи - разные инструменты.

"Примочки", кстати, как Вы это назвали, делают всего в двух местах в мире. Одно из них - С-Петербург, Финляндский 4А, где и делают описанное.

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

>Охуеть! Дайте две!

приглашаю Вас к себе на станцию Токсово. 5 кубометров леса и столярную ножовку обеспечу.

Ум нужен везде - даже при распиловке дров. Но вариант пилки и колки дров силой одного лишь чистого разума я отвергаю. Потому что видел только в кино.

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

Re: Я же просил господ "программистов",,,
[info]ex_chistyak@lj
2005-06-14 11:36 (ссылка)
Никто и не возражает против применения прогрессивных технологий. Но не надо, чтобы они свет застили. Абсолютитзировать не надо.

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

Re: Я же просил господ "программистов",,,
[info]leonid_@lj
2005-06-14 12:58 (ссылка)
это верно. если подойти к мебели с бензопилой - получатся дрова, причем плохие.

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

Re: Я же просил господ "программистов",,,
[info]ex_chistyak@lj
2005-06-14 13:31 (ссылка)
Во-во!
Дров-то я и не люблю. ("дрова" на жаргоне ДПЛАстроителей -- это ДПЛА после падения.

:)

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


[info]metaclass@lj
2005-06-10 15:45 (ссылка)
сделать некоторые вещи, реализуемые с ее помощью, методами процедурного программирования невозможно

В каком смысле невозможно - теоретически или же по причине больших затрат времени?

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


[info]ex_chistyak@lj
2005-06-10 16:02 (ссылка)
>...В каком смысле невозможно

Я думаю, что в смысле "быстрее конкурентов":). Все "программисты" чокнулись на скорости разработки. Есть вещи поважнее чем скорость, да. Капитализм - говно.

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


[info]leonid_@lj
2005-06-14 10:41 (ссылка)
при причине затрат времени, превышающих срок жизни человека, а также по причине выхода сложности системы за рамки понимаемого человеком.

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


[info]ex_chistyak@lj
2005-06-14 11:16 (ссылка)
>...причине выхода сложности системы за рамки понимаемого человеком.

Такого не бывает. Люди не те, значит. Есть специальные люди, Главные конструктора называются. Они находят пути, как сделать сложное простым, чтобы любой молодой специалист даже понял.

:)

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


[info]leonid_@lj
2005-06-14 12:54 (ссылка)
"приблуда", замечу, приедназначена именно для таких людей. которым надо держать в голове всю систему и видеть взаимодействие ее частей.

программирование в последнее время все больше и больше превращается в классический индустриальный труд, а программист - в рабочего. у форда рабочий крутил гайку ключом на 3/8 дюйма вручную ключом, а программист крутит "вртуальную гайку" мозгом.

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

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


[info]ex_chistyak@lj
2005-06-14 13:29 (ссылка)
В кои веки пришёл разумный человек. Соглашаюсь с ним.
Если бы программирование было действительно трудным делом, то "программистам" было бы не по 20 лет, как сейчас, а по 30-40.

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


[info]leonid_@lj
2005-06-15 06:57 (ссылка)
среди известных мне людей (у нас их примерно 10), которые занимаются архитектурой системы, есть только один моложе 30.

Да, забыл еще одну студентку с матмеха, которая у них в группе третий год подвизается практиканткой.

В Штатах примерно такая же ситуация, как обстоит дело в Сингапуре - не знаю.

Вменяемым программистам, кстати, в среднем по 25-35 лет. 20 - это в лучшем случае контроль качества, а скорее всего - интерн. Отклонения редки, и только подтверждают правило.

В массовом коммерческом программировании граничное условие примерно такое же, как и при заготовке дров или пошиве готового платья - сдать в срок с максимально возможным качеством. Потому что 1) все равно все ошибки не исправить и не найти и 2) дрова нужны к сезону. Естественно, когда заказчик готов платить за выполнение его специфических требований, то под него делают заказное изделие, которое доводят под тредования заказчика. но в этом случае, как мы видим, законы "дикого рынка" не действуют, уступая место практически плановой экономике.

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


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