DRAKON.SU https://forum.drakon.su/ |
|
Комментарии на Хабре https://forum.drakon.su/viewtopic.php?f=198&t=6615 |
Страница 1 из 1 |
Автор: | Владимир Паронджанов [ Среда, 26 Июнь, 2019 16:46 ] |
Заголовок сообщения: | Комментарии на Хабре |
https://habr.com/ru/company/embox/blog/ ... t_20326758 abondarev писал(а): Автор языка Оберон Николаус Вирт, вложил идею внесения ограничений, что существенно уменьшает риск написания небезопасного ПО. При этом с помощью доработки компилятора автор доклада, предлагает создавать образы, нацеленные на различные задачи и платформы. Доклад был мне очень близок, поскольку мы в Embox пришли к похожим идеям по ограничениям. Parondzhanov писал(а): Вы правы. Продуманные ограничения уменьшают риск написания небезопасного ПО. Вспомним. Эдсгер Дейкстра ввел ограничение, указав на опасность goto. Затем Бертран Мейер ввел ограничение, указав на опасность break и continue. Развивая линию Дейкстры-Мейера, можно ввести дополнительные ограничения, указав на небезопасность служебных слов, организующих поток управления: goto, break, continue, if, then, else, case, of, switch, while, do, repeat, until, for, foreach, loop, exit, when, last и их аналогов. Исходя из этих соображений, в визуальном языке ДРАКОН (во имя безопасности потока управления) исключены опасные служебные слова, организующие поток управления: goto, break, continue, if, then, else, case, of, switch, while, do, repeat, until, for, foreach, loop, exit, when, last и т.д. Вместо них используется математически строгая графика управления, которая реализует ту же самую функцию, что и перечисленные служебные слова. В чем идея? Наибольшую вероятность появления ошибок создают разветвления и циклы. То есть конструкции, описываемые указанными служебными словами. При использовании языка ДРАКОН функции, реализуемые указанными служебными словами, не записываются вручную, а формируются автоматически. Поэтому вероятность ошибок, вызванных разветвлениями и циклами, уменьшается или сводится к нулю. Таким образом, при использовании ДРАКОНа (при описании потока управления) остаются лишь опечатки и ошибки, появляющиеся на ЛИНЕЙНЫХ участках программ. Однако такие ошибки можно сравнительно легко выявить и устранить. bit.ly/2Mlg4Ou bit.ly/1UQ4zuU habr.com/ru/post/345320 drakonhub.com/files/pe_drakon_automata_mitkin_2019.pdf С уважением, Владимир Данилович Паронджанов Mobile: +7-916-111-91-57 Viber: +7-916-111-91-57 E-mail: vdp2007@bk.ru Skype: vdp2007@bk.ru Website: drakon.su Webforum: forum.drakon.su abondarev писал(а): Да, про Дейкстру и Мейера тоже было в контексте Оберона. А в кулуарах даже рассуждали об использовании графических языков в АСУ для АЭС. Но лично мое мнение, что графические языки имеют достаточно узкую сферу применения. Для определенных задач они действительно хороши, но например для написания ядра ОС, точно не подходят.
|
Страница 1 из 1 | Часовой пояс: UTC + 3 часа |
Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |