DRAKON.SU https://forum.drakon.su/ |
|
Моё видение языка ДРАКОН https://forum.drakon.su/viewtopic.php?f=62&t=1613 |
Страница 3 из 3 |
Автор: | Рэйлвэй Каген [ Воскресенье, 21 Июнь, 2009 11:14 ] |
Заголовок сообщения: | Re: Моё видение языка ДРАКОН |
Рэйлвэй Каген писал(а): Ярослав Романченко писал(а): ..Необходимо же как-то декларативную часть привести имхо, не в Драконе это делать надо, а в любом субдшном кейсе. Ещё лучше - генерить для него автоматом. http://download.microsoft.com/download/D/A/B/DAB9E2D8-3A27-4BA7-BE66-8600EE4E33B0/M_Language_Specification.pdf Весьма занятна гл.13 SQL mapping. |
Автор: | nauk [ Суббота, 26 Декабрь, 2009 21:41 ] |
Заголовок сообщения: | Re: Моё видение языка ДРАКОН |
Где-то говорили что название ДРАКОН в русском сознании негативно отражается (типа в наших сказках он - зло и т.п.). Я же вижу ДРАКОН иначе, хоть я и русский. Во-первых он мне сразу понравился, особенно после прочтения книги. Во-вторых я его действительно ВИЖУ на схеме: Верхние блоки - это как бы головы Нижние блоки - это как бы лапы Все остальное варится в пузе Прикольно, да? Художники - нарисуете может? |
Автор: | Владислав Жаринов [ Воскресенье, 21 Февраль, 2010 05:22 ] |
Заголовок сообщения: | О новых возможностях техноязыка |
Затрону ещё один вопрос - о безусловных переходах. Считаю нужным расширить их употребление в техноязыке. Почему, когда по правилам структурного программирования надо вроде бы ограничить? Дело в том, что Паронджанов считает единственным достоинством ДРАКОНа силуэт; но он и построен именно на основе одного из типов БП (который я назвал разрешённым, Р-БП) - по явно указанной метке (имени ветки). По моему мнению, ещё одно достоинство техноязыка (и шампур-метода) - как раз введение БП в явном виде, что делает язык структурно законченным, целостным формализмом. Причём если построение силуэта возможно именно за счёт БП, то обратное неверно - БП может использоваться не только для построения силуэта. Именно это "не только" я стремлюсь показать, вводя для этого и новые типы БП. Тем самым техноязык становится возможно употребить более глубоко в процессе формализации импер-знаний (до машинного представления алгоритма), и притом так же широко - не только как производственный, но и как учебный и научный язык. В частности, открывается возможность при обучении программированию избежать пресловутого "семантического разрыва" между исходным текстом и программным кодом, наглядно объяснив переход между ними. Аналогичный разрыв между алгоритмом и исходным текстом вполне успешно заполняется на базе гибридного программирования. Итак, главная конструктивная идея техноязыка - то, что его создатель из возможных вариантов структуризации схем алгоритмов и программ выбрал тот, который не исключает БП, но формализует их употребление для двумерного представления схем. В то же время считается, что существуют некие операторы-заменители БП как в текстовых языках, так и в визуальных (в т.ч. в ДРАКОНе); на мой взгляд, это можно трактовать как разные случаи всё того же безусловного перехода, что и показано при описании структурных конструкций (следования, ветвления, цикла). Визуализация предполагается в Драконографике, а здесь пока общая идея текстом. В конечном счёте машинный код алгоритма не содержит типов БП, употребляемых на более высоких уровнях; скажем, разрешённый БП между шампурами смежных веток силуэта при кодировании заменяется на естественный переход. Зато сохраняются (и/или вводятся заново) другие типы БП, которые назовём машинно-ориентированными. Так, каждый условный оператор машинного языка (команда ветвления) в качестве альтернатив завершения исполнения имеет:
переход к команде, начинающей другую ветвь, в силу одномерности ОП расположенную не прямо за командой ветвления (реализуется загрузкой в СК адреса этой команды из записи команды ветвления); он как раз понимается как безусловный, т.к. по сути имеем метку (адрес) начала кода ветви. Аналогично раскладывается цикл, только БП по петле цикла (с выхода развилки или шампур-блока ПОКА) идёт против шампура (на точку слияния при входе в цикл); принцип легко понять, если "примитивизировать" силуэт с веточным циклом. В системе команд информашины переходам с концов вертикалей соответствует обычная команда БП. Можно показать такого рода переходы (называю их линейными) на дракон-схеме. При этом мы раскрываем нелинейную дракон-схему до линейной нагрузки всех вертикалей и представляем себе каждый линейный участок шампура, каждую вертикаль ветвления (тела цикла) как ветку-фрагмент; в визуал эти фрагменты объединяются как раз линейными БП. Эти переходы вводятся как в силуэт, так и в примитив; более того, они важны именно в примитиве, о чём сказано ниже.
Схема с машинно-ориентированными БП изображается без соединений одноимённых икон какими-либо линиями; по сути это есть лиоформа визуального алгоритма. Устранение разрешённых БП при машинном кодировании фактически "примитивизирует" силуэт; это несущественно, т.к. структура любой нелинейной дракон-программы одновременно по линейным БП раскладывается на фрагменты-вертикали, которые образуют некую перестановку (линейный порядок) на "ленте памяти" (в адресном пространстве информашины). Адресуемая, или основная память ОП реализуется как постоянное и/или оперативное ЗУ; последнее обычно сегментируется на блоки.
Всё сказанное и составляет суть ассемблерной модификации шампур-метода. Полученную структуру (лиоформу визуала) можно изобразить на диосцене (для человека) без пересечений, однако она будет менее наглядна, т.к. вообще-то предназначена для перевода в предметную форму (для информашины). Тем не менее, если захочется программировать в кодах, то именно так целесообразно визуализировать дракон-программу. |
Автор: | Владимир Паронджанов [ Четверг, 09 Декабрь, 2010 21:42 ] |
Заголовок сообщения: | Re: Моё видение языка ДРАКОН |
Это ответ на сообщение viewtopic.php?p=30110#p30110 TAU писал(а): Правда, с поправкой: все-таки целесообразнее генерировать не машинный код, а ассемблерный текст. Поскольку в случае крайней необходимости остается возможность "ручками" что-то подрихтовать. Кстати, по-моему, в самой исходной технологии ГРАФИТ-ФЛОКС генерируется программа именно на автокоде БЦВМ "Бисер". Может, Паронджанов прояснит. Уважаемый TAU! 1. Вы совершенно правы в исходной технологии ГРАФИТ-ФЛОКС генерируется программа именно на автокоде БЦВМ "Бисер". Точнее, не на автокоде, а на ассемблере БЦВМ Бисер. 2. Насчет ""ручками" что-то подрихтовать" у меня есть возражение. В существующем у нас Драконе (то есть в ГРАФИТ-ФЛОКСе) никогда не рихтуют в ассемблере. Все исправления и изменения делаются только в исходном Драконе. |
Автор: | Ярослав Романченко [ Пятница, 10 Декабрь, 2010 11:14 ] |
Заголовок сообщения: | Re: Моё видение языка ДРАКОН |
Владимир Паронджанов писал(а): 2. Насчет ""ручками" что-то подрихтовать" у меня есть возражение. В существующем у нас Драконе (то есть в ГРАФИТ-ФЛОКСе) никогда не рихтуют в ассемблере. Все исправления и изменения делаются только в исходном Драконе. И это правильно! "Ручками" запросто и ошибку допустить.
|
Автор: | ibnteo [ Воскресенье, 28 Февраль, 2021 20:13 ] |
Заголовок сообщения: | Re: Моё видение языка ДРАКОН |
RANUX писал(а): 1. разработчик будет сконцентрирован на диаграмках, вместо того чтобы начать реализовывать функцию 2. посчитайте сколько времени уйдёт на то, чтобы вставить икону, потом её выравнять, соединить с другими иконами, совершить лишние нажатия мышкой, вместо того чтобы сразу написать текст. 3. попробуйте убедить хотя бы часть программистов полностью отказаться от текста и перейти на чистый ДРАКОН Это проблема редактора схем, можно же сделать редактор, где работа с иконами будет возможна с клавиатуры, двигать иконы не нужно, автоматически должны располагаться наиболее оптимальным образом друг относительно друга, можно будет зато быстро менять общую структуру, причём без ошибок в коде, в тексте по ошибке можно переместить часть блока, в схемах этого не будет. В режиме навигации по иконам можно задействовать буквы в качестве команд для работы со схемой, навроде основного режима навигации в vim, причём перемещение по иконам будет быстрее, чем по тексту, переходя по шампурам, сразу попадаем в другой блок кода. Можно сделать команды для вставки заготовок из икон, в текстовых редакторах такое тоже встречается. При работе со схемой сразу видишь общую картину, и защищён от ошибок нарушения структуры кода. Программистам такое как раз должно понравиться, особенно, если можно будет работать с кодом и через схемы, и через текст. Для этого и начал разработку ДраконКод-схемы, позволяющую отобразить любой уже существующий код в виде схемы, и позволяющую формировать обычный код, без goto. |
Страница 3 из 3 | Часовой пояс: UTC + 3 часа |
Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |