OberonCore https://forum.oberoncore.ru/ |
|
Структурное программирование https://forum.oberoncore.ru/viewtopic.php?f=27&t=1219 |
Страница 1 из 2 |
Автор: | Neplul [ Воскресенье, 26 Октябрь, 2008 11:20 ] |
Заголовок сообщения: | Структурное программирование |
"...Необходимо помнить, что структурное программирование, как правило, плохо подходит для описания систем глобальных действий. Это выявилось уже в теории. А именно, в теореме о структурировании схем программ, до- казанной Бемом и Джакопини, вводились дополнительные локальные булев- ские переменные, в совокупности которых, по сути дела, запоминалось со- стояние программы. Без введения дополнительных переменных невозможно структурировать даже следующий цикл с двумя выходами (см. рис. 3.4). В общее употребление структурное программирование вошло после по- пуляризировавшей его работы Э. Дейкстры, в которой, к сожалению, на ука- занные нами ограничения не было даже намека, так же, как и на ограничения, вытекающие из самой теоремы Бема-Джакопини...." Что это за теорема такая Бема-Джакопини? |
Автор: | AVC [ Воскресенье, 26 Октябрь, 2008 11:54 ] |
Заголовок сообщения: | Re: Структурное программирование |
Neplul писал(а): Что это за теорема такая Бема-Джакопини? Точную формулировку не помню, но смысл в том, что для формулировки любого алгоритма достаточно последовательности (операторов), ветвления (if ... then ... else) и циклов (с одним входом и одним выходом). В неструктурном goto нет необходимости.
|
Автор: | AVC [ Воскресенье, 26 Октябрь, 2008 12:21 ] |
Заголовок сообщения: | Re: Структурное программирование |
Neplul писал(а): "<...>В общее употребление структурное программирование вошло после по- Вот именно.пуляризировавшей его работы Э. Дейкстры, в которой, к сожалению, на ука- занные нами ограничения не было даже намека, так же, как и на ограничения, вытекающие из самой теоремы Бема-Джакопини...." Дейкстра - жуликоватый популяризатор?.. ой... |
Автор: | AVC [ Воскресенье, 26 Октябрь, 2008 12:41 ] |
Заголовок сообщения: | Re: Структурное программирование |
Дональд Кнут в защиту goto: html и pdf. |
Автор: | Илья Ермаков [ Воскресенье, 26 Октябрь, 2008 16:02 ] |
Заголовок сообщения: | Re: Структурное программирование |
Эти проблемы уже обсуждались в разделе ДРАКОНа. Да, для управляющей, событийной логики классическое структурное программирование (один выход из конструкции) может быть неудобным. Но в одномерном пространстве текста другого выбора нет, только так можно внести ясность. Чертёж - другая ситуация. Там уже возможно некое "двумерное структурное программирование", где выходы не стягиваются вновь в одну линию. |
Автор: | Info21 [ Воскресенье, 26 Октябрь, 2008 17:32 ] |
Заголовок сообщения: | Re: Структурное программирование |
AVC писал(а): Дональд Кнут в защиту goto: Дейкстра сделал простую и понятную вещь:прояснил логическую/математическую структуру императивного программирования и вывел свой формализм из первых принципов. Мое обдуманное мнение: Дональд Кнут -- "рукосуй", как все ярко выраженные комбинаторные типы. Обобщения его -- кривые или тривиальные. Его утверждение (в тексте, указанном AVC) насчет того, что классические математики выиграли (won) у конструктивистов -- просто неверно. Он элементарно не понимает этого своего простенького и привлекательного лозунга. Дейкстра, повторюсь, вывел свою теорию построения программ из первых принципов. Разумеется, в идеальных предположениях. (Кто, окончив ун-т по соотв. специальностям, не понимает таких вещей?) Что ради оптимизации приходится отступать от строгой структурности -- тривиально, и что в дурно спроектированных языках вызов процедур дорог и т.п., и может стать необходимым отказаться от структурности -- тоже тривиально. Но, например, Вирт минимизировал сей оверхед именно чтобы поддерживать структурность -- а, следовательно, в конечном счете и надежность программ. Принял "статистическое решение" и дальше читать Кнута не стал....... |
Автор: | Valery Solovey [ Воскресенье, 26 Октябрь, 2008 17:41 ] |
Заголовок сообщения: | Re: Структурное программирование |
AVC писал(а): А на русском есть?. А то я со своим английским, наверное, больше суток на перевод потрачу.
|
Автор: | Neplul [ Воскресенье, 26 Октябрь, 2008 19:47 ] |
Заголовок сообщения: | Re: Структурное программирование |
AVC писал(а): Neplul писал(а): Что это за теорема такая Бема-Джакопини? Точную формулировку не помню, но смысл в том, что для формулировки любого алгоритма достаточно последовательности (операторов), ветвления (if ... then ... else) и циклов (с одним входом и одним выходом). В неструктурном goto нет необходимости.Спасибо, учили такое только нам не говорили что она так называется. На счет go to то я считаю что его можно использовать в программировании, только при условии правильного применения (схемы Янова) , но так как многие программисты не пользуются даже методами Дейкстры, то лучше его вообще убрать из языка(что бы руки не чесались). |
Автор: | Wlad [ Воскресенье, 26 Октябрь, 2008 20:24 ] |
Заголовок сообщения: | Re: Структурное программирование |
Neplul писал(а): ...только при условии правильного применения (схемы Янова) , но так как многие программисты не пользуются даже методами Дейкстры, то лучше его вообще убрать из языка(что бы руки не чесались). Простое провозглашение принципов без поддержки формализма - пустое занятие. Проговаривание (даже на повышенных тонах, вплоть до визга и слюн) лозунгов и конкретное запретительство с непременным битиём ручек - совершенно разные по эффективности действия... Си++ - богатейший язык. Одно "но" - поддерживать-то он разныя парадигмы поддерживает, но нет мер по обеспечению объяснений компилятору каких именно... А так получается, что синтаксис с семантикой разруливания типов и использования переменных (на самом низком уровне - представления в и использования памяти) мы делаем, а "парадигмы поддерживать" - опять на самый ненадёжный элемент оставили - ЧЕЛОВЕКА (сиречь ПРОГРАММИСТА)... Остаётся только смеяться. Посему ломание копий по поводу "лучшести" языкофф - клоунада. Всё опять сводится к выявлению отдельных талантов, мастерски отображающих предметные области на средства реализации, и УМЕЮЩИХ организовать "формализмы" поддержки своих систем понятий... А есть "идтина" , нету ли его - КАКАЯ РАЗНИЦА? Любой человек и так понимает, что существует некий порог понимания собственного навороченного кода, если начинаешь отходить от апробированных схем и подходов. А - не понимает - тогда он сам себе злобный буратино! |
Автор: | Info21 [ Воскресенье, 26 Октябрь, 2008 21:17 ] |
Заголовок сообщения: | Re: Структурное программирование |
Владимир Лось писал(а): ... А - не понимает - тогда он сам себе злобный буратино! Хорошо, а что делать пенсионерам в очереди в регистратуру в поликлинике, когда в регистратуре "опять зависла система"? (Опять с этим столкнулся на прошлой неделе.)
|
Автор: | Wlad [ Воскресенье, 26 Октябрь, 2008 21:33 ] |
Заголовок сообщения: | Re: Структурное программирование |
Info21 писал(а): Владимир Лось писал(а): ... А - не понимает - тогда он сам себе злобный буратино! Хорошо, а что делать пенсионерам в очереди в регистратуру в поликлинике, когда в регистратуре "опять зависла система"? (Опять с этим столкнулся на прошлой неделе.)Носить с собой валидол. Потому, как 99% из этих хомосапиенсов жутко желает, что бы их детки и внучкИ "харашо устроились", а уразуметь, что зависшая система, как раз одним из таких "харашоустроившихся" унуков и написана - мозгов не хватает! И мне их НЕ ЖАЛКО. Просто начинают работать хаотично установившиеся обратные связи в Системе. "Ото ж мы жилЫ погано, не хай наши диточкЫ краще поживуть!" А - НЕ ХАЙ! Вот так и будут дедушки с внучками собственное дерьмо разгребать! Потому, как когда полученный диплом - не свидетельство обретённых знаний и показатель общего уровня культуры, а просто - пропуск на "место" - погани справы у цьому суспильстве! Но именно так мы захлёбываемся. И отношение к "оберонам" - только малая часть всеобщего захлёбывания в дерьме текучки и погони за мэйнстримом. Правила уже установлены: остановился (хотя бы, что бы в покое поразмыслить) - ЗНАЧИТ ОТСТАЛ!!! Только вот вопрос: ОТ ЧЕГО? И ЧТО ПОТЕРЯЛ? |
Автор: | Borg [ Воскресенье, 26 Октябрь, 2008 21:39 ] |
Заголовок сообщения: | Re: Структурное программирование |
Info21 писал(а): Владимир Лось писал(а): ... А - не понимает - тогда он сам себе злобный буратино! Хорошо, а что делать пенсионерам в очереди в регистратуру в поликлинике, когда в регистратуре "опять зависла система"? (Опять с этим столкнулся на прошлой неделе.) |
Автор: | Info21 [ Воскресенье, 26 Октябрь, 2008 21:44 ] |
Заголовок сообщения: | Re: Структурное программирование |
Владимир Лось писал(а): ... "Ото ж мы жилЫ погано, не хай наши диточкЫ краще поживуть!" Живописна мова Где-то был у меня учебник... надо бы подучить Только в этом случае я бы писал вместе: нехай. А в другом случае -- отдельно: не хай. Владимир Лось писал(а): ... И отношение к "оберонам" - только малая часть всеобщего захлёбывания в дерьме текучки и погони за мэйнстримом. ... Я бы сказал "захлёбывания в дерьмовом потоке мейнстрима". |
Автор: | AVC [ Воскресенье, 26 Октябрь, 2008 22:22 ] |
Заголовок сообщения: | Re: Структурное программирование |
Valery Solovey писал(а): AVC писал(а): А на русском есть?. А то я со своим английским, наверное, больше суток на перевод потрачу.Чтобы не тратить сейчас много времени на перевод (вдруг скоро найдётся на русском), можно сосредоточиться исключительно на программных кусках (на коде). Всё же подброшу русских ссылок. http://ru.wikipedia.org/wiki/GOTO (попытка объективного перечисления pro et contra) Дейкстра. Доводы против оператора goto (с чего всё началось) http://phpclub.ru/faq/goto (сайт посвящен PHP, но много ссылок на сайт info21) Владимир Юнев. Точки выхода или немного о структурном программировании ("разделяй и властвуй"; любопытны также комментарии) |
Автор: | Valery Solovey [ Понедельник, 27 Октябрь, 2008 15:10 ] |
Заголовок сообщения: | Re: Структурное программирование |
Спасибо. |
Автор: | Neplul [ Вторник, 02 Декабрь, 2008 12:42 ] |
Заголовок сообщения: | Re: Структурное программирование |
Господа у кого есть хорошая литература на русском языке про формальную верификацию(логику Хоара, работы Флойда, детонационная семантика и др.) Заранее спасибо! |
Автор: | Info21 [ Вторник, 02 Декабрь, 2008 12:55 ] |
Заголовок сообщения: | Re: Структурное программирование |
Neplul писал(а): детонационная семантика денотационная, от нотация >> денотат |
Автор: | Neplul [ Вторник, 02 Декабрь, 2008 13:01 ] |
Заголовок сообщения: | Re: Структурное программирование |
Info21 писал(а): Neplul писал(а): детонационная семантика денотационная, от нотация >> денотат Спасибо! Извиняюсь первоначально так и писалось но я его с дуру исправил с помощью встроенного орфографического словаря. |
Автор: | Илья Ермаков [ Вторник, 02 Декабрь, 2008 18:47 ] | |||
Заголовок сообщения: | Re: Структурное программирование | |||
Первоисточников по верификации на ЖД не нашёл. Попробуйте поискать на EuroProg.ru и на Infanata.org. Вот есть пара книжек-учебников по методам верификации софта (темпоральные логики и чё-то ещё), но сам не смотрел.
|
Автор: | Илья Ермаков [ Вторник, 02 Декабрь, 2008 18:48 ] |
Заголовок сообщения: | Re: Структурное программирование |
А, ещё можно глянуть на сайте у А.А. Шалыто (ИТМО). У него там точно были материалы (и его, и другие) по этим вопросам, хотя больше с уклоном в верификацию автоматных программ. |
Страница 1 из 2 | Часовой пояс: UTC + 3 часа |
Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |