Вынесу из комментариев к закрытому посту. Уж больно хорошо получилось.
Программисты во главе с профессорами и консультантами громко хвастаются, что индустрия молодая и ещё не выработала подходов инженерных дисциплин, которые такие правильные, потому что развивались многие века. При этом элементарнейшие знания в этой "молодой индустрии" забываются с эффективностью прогрессирующего склероза, приправленного старческим маразмом и детской непосредственностью.
Да, ключевые слова от
akuklev для желающих:
vit_r
- ... чтоб не появлялось багов, спроектированное должно прямо генериться в код. Плюс должны быть тесты и проверки моделей. Я знаю отдельные случаи, где так и делается. Но методики не прижились. Потому что людей, способных мыслить абстрактно, очень мало.
...
xtUML, но его применяют только в embedded. Там сложности с выходом на GUI. Да и компиляторы моделей стоят столько, что проще нанять десять индусов.
Впрочем, будет работать любая методика, которая использует сообщения, конечные автоматы и таблицы переходов. Этот трюк изобретают вновь и вновь, потому что книжки старые никто не читает.akuklev
- Мы такое с
sorhed'ом лет 7 назад изобрели и были феерически горды собой... пока в процессе имплементации не обнаружили книжку 1956 года ("Automatal models of multiagent systems", емнип), где это уже описано. :-)
Про подход при этом не знала ни университетская профессура, с которой я бурно обсуждал доказательства корректности, ни "старшие товарищи" из индустрии.
Программисты во главе с профессорами и консультантами громко хвастаются, что индустрия молодая и ещё не выработала подходов инженерных дисциплин, которые такие правильные, потому что развивались многие века. При этом элементарнейшие знания в этой "молодой индустрии" забываются с эффективностью прогрессирующего склероза, приправленного старческим маразмом и детской непосредственностью.
Да, ключевые слова от
- von Neumann multiagent formalism
- Robin Milner
- C.A.R. Hoare
- Sally Shlaer и Stephen Mellor [сейчас идёт под маркой Executable UML (xtUML и xUML) - vit_r]
- A. J. H. Simons
- W. M. L. Holcombe
- Complete functional testing using object machines
- A theory of regression testing for behaviourally compatible object types
no subject
Date: 2013-06-12 01:35 am (UTC)no subject
Date: 2013-06-12 04:33 am (UTC)Ага. Конечно.
Ну что за фигня - построить какой-нибудь небоскрёб или танк. Вот сайт с тремя кнопочками - это сложная, почти нерешимая задача. Потому небоскрёб стоит, а сайт постоянно падает.
Ну и на автомобиль, "где всё просто делается в пару раз толще" я бы тоже посмотрел.
no subject
Date: 2013-06-12 04:40 am (UTC)no subject
Date: 2013-06-12 04:53 am (UTC)no subject
Date: 2013-06-12 04:59 am (UTC)no subject
Date: 2013-06-12 05:19 am (UTC)Просто люди не от мира сего.
no subject
Date: 2013-06-12 09:09 am (UTC)Если бы танки строили под такие претензии как обычно к программам,
это была бы океанская_суперкрепость_с_вертикальным_взлетом_и_подводо-надводными_крыльями :)))
\\Ну и на автомобиль, "где всё просто делается в пару раз толще" я бы тоже посмотрел.
А-я-яй, так подставлятся.
Авто 50-ых или каких там, до перехода на тонколистовые кузова, какраз под это подходят.
no subject
Date: 2013-06-12 11:16 am (UTC)Другое дело, что техники комбинирования и сочленения узлов, если можно так сказать, прямолинейные. Реальная стальная техника не располагает к тому, чтобы пытаться делать универсальные интерфейсы, на конец каждого вала ставить XML-сериализатор, а на начало следующего XML-парсилку, рассуждать с коллегами до хрипоты, использовать ли винты системы SOAP, разработанной производителем китайских одноразовых самокатов, внезапно переквалифицировавшимся на военные вертолеты, или системы CORBA, сразу разработанной консорциумом строителей ядерных реакторов на специальном междисциплинарном конвенте-семинаре, длившемся 30 лет, за которые часть участников померли, а часть родились. Там как-то проще и прагматичней на это смотрят и рациональней.
no subject
Date: 2013-06-12 12:18 pm (UTC)no subject
Date: 2013-06-12 12:31 pm (UTC)no subject
Date: 2013-06-12 01:08 pm (UTC)Вот именно. ;)
no subject
Date: 2013-06-12 01:32 pm (UTC)Шестеренки изобрел Архемед в районе 2200 лет назад, первые нетривиальные механизмы, основанные на сочленении шестеренок, были построены его учениками (т.н. александрийская школа) между 2100 и 2150 гг, так оно плавно и развивалось без особых прорывов: делались разные автоматы и часы; иногда весьма остроумные, но "слабые" в инженерном плане: не рациональные, сложносопровождаемые, не копируемые, слабо ремонтопригодные. Уже в позднем Риме и современном ему Китае стали делать часы (в основном водяные), использующие механические сочленения, в основном как раз шестерни. Но развития с первых экземпляров и то 12ого века почти никакого не было. "Индустрия" не накапливала знания.
Все начало менятсья в 13ом веке мода привела к массовому строительству часов на соборах и ратушах. Именно тогда гиревые часы стали вытеснять водяные и механизм очень усложнился, стали делать всякие выкрутасы с боем и даже фигурками. Необходимость в массовом строительстве часов привела к возникновению какой-никакой стандартизации, начали думать о сопровождаемости, ремонтопригодности и копируемости. Но тогда шестерёнки были ещё кривые, большие, страшные и ржавочугуниевые, их делали молотом и напильником, и все они были разные. Но прогресс начался: немецкие и итальянские мастера начали соревноваться и уровень рос от десятилетия к десятилетию. В раннем 14 веке появились первые настольные, а в раннем 15ом веке появились первые карманные часы. Все, дальше это уже была развитая индустрия, ко временам Галилео Галилея уже можно было найти мастеров, которые под руководством опытного ученого соберут сложный арифмометр из типовых ровных, искусно сделанных блестящих маленьких шестеренок. До этого уровня разработка ПО давно дошла.
А не дошла она до влияния на точную механику индустриальной революции, точнее её достижений 19ого века: систематизации процесса разработки, повальной стандартизации, технологического конвейера.
no subject
Date: 2013-06-12 01:34 pm (UTC)Зацени резюме: http://smoking-room.ru/data/pnp/vinci_rezume.html
Что-то оно мне напоминает. ;)
no subject
Date: 2013-06-12 01:44 pm (UTC)no subject
Date: 2013-06-12 05:47 pm (UTC)Так ить дейтсивтельно фигня. И то регулярно падают и глючат.
Вот, про самолеты мне недавно попадалось на глаза, C-5 Galaxy: все ничего, только крылья отваливаются.
> Вот сайт с тремя кнопочками - это сложная, почти нерешимая задача. Потому небоскрёб стоит, а сайт постоянно падает.
Строитель сайта с тремя кнопочками - это ипа как строитель сортира у себя на даче. И да, сортиры эти запросто падают.
> Ну и на автомобиль, "где всё просто делается в пару раз толще" я бы тоже посмотрел.
В окно выгляньте. Их там полно.
no subject
Date: 2013-06-12 05:49 pm (UTC)Это всетаки начало 20-го, когда и началось массовое производство.
А индустрия инженерных разработок (а не производства),
с которым только и можно сравнивать, так до этого уровня и не дошла.
А так, какраз "систематизация и повальная стандартизация" там очень и подсобила,
до уровня, что достаточно широкий набор устройств можно собрать из стандартных запчастей,
причем не самых мелких... и оно будет работать.
В программировани тоже пробовали этот очевидный путь -- но не работает оно.
А вот почему?
no subject
Date: 2013-06-12 05:57 pm (UTC)no subject
Date: 2013-06-12 06:01 pm (UTC)no subject
Date: 2013-06-12 06:03 pm (UTC)А процесс сейчас больше напоминает деградацию. По крайней мере по тому, что видно вокруг в массах.
no subject
Date: 2013-06-12 06:05 pm (UTC)Если брать не конвейер, который в ИТ заменён простым копированием с носителя на носитель, а разработку, то со стандартизацией большие проблемы.
no subject
Date: 2013-06-12 06:06 pm (UTC)no subject
Date: 2013-06-12 06:09 pm (UTC)да и мощной отлаженой индустрии исходников и запчастей.
no subject
Date: 2013-06-12 06:09 pm (UTC)no subject
Date: 2013-06-12 06:10 pm (UTC)а ракеты и ядренка... скажем так, не видно в них каких-то принципиальных сдвигов
реактор -- до сих пор та же паровая машина.
no subject
Date: 2013-06-12 06:11 pm (UTC)Я, в частности, работал и на автомотив (не софт или не только софт). Так что теоретизирование лучше отрабатывать на каком-нибудь другом объекте.