DRAKON.SU https://forum.drakon.su/ |
|
Прогопедия https://forum.drakon.su/viewtopic.php?f=62&t=3823 |
Страница 1 из 2 |
Автор: | TAU [ Вторник, 07 Февраль, 2012 14:01 ] |
Заголовок сообщения: | Прогопедия |
Уважаемые коллеги, Возможно, Вы знаете о существовании в Интернете "энциклопедии языков программирования" - "прогопедии". Увы, но в разделе "Визуальные языки" она ограничивается лишь G и Sanscript - с весьма сомнительным комментарием: http://progopedia.ru/paradigm/visual/ Не считаете ли нужным/полезным восполнить недостающее? |
Автор: | Владимир Паронджанов [ Пятница, 05 Апрель, 2013 18:37 ] |
Заголовок сообщения: | Re: Прогопедия |
Присоединяюсь к предложению Андрея Александровича. |
Автор: | igor [ Понедельник, 08 Апрель, 2013 14:01 ] |
Заголовок сообщения: | Re: Прогопедия |
Компилятор Дракона - в студию! После этого можно будет дальше разговаривать. |
Автор: | Alexey_Donskoy [ Понедельник, 08 Апрель, 2013 14:17 ] |
Заголовок сообщения: | Re: Прогопедия |
igor писал(а): Компилятор Дракона - в студию! А что, язык программирования обязательно должен иметь на выходе исполняемый код?!
|
Автор: | Владимир Паронджанов [ Понедельник, 08 Апрель, 2013 16:10 ] |
Заголовок сообщения: | Re: Прогопедия |
igor писал(а): Компилятор Дракона - в студию! После этого можно будет дальше разговаривать. Уважаемый Игорь! Как всегда, Вы ставите законный и интересный вопрос. Отвечаю. Часть 1 Вы задали вопрос о спецификациях ДРАКОНа здесь: viewtopic.php?f=62&t=3797 Я ответил Вам здесь: viewtopic.php?p=74832#p74832 Кроме того, в теме есть ответ от Эдуарда Ильченко и др: viewtopic.php?p=70155#p70155 Вывод. Язык ДРАКОН имеет строгую спецификацию, описанную в книге «Учись писать, читать и понимать алгоритм», 2012. Часть 2 Вы задали вопрос о компиляторе (Компилятор Дракона - в студию!). Вопрос можно переформулировать: позволяет ли ДРАКОН создать исполняемый код? Ответ. Да, позволяет. Но. Исполняемый код ДРАКОНа создается не так, как это делается в других языках программирования. Часть 3 Вы исходите из того, что понятие «язык программирования» является неизменным и не подлежит развитию. В случае ДРАКОНа это не так. В случае ДРАКОНа понятие "язык программирования" отличается от классического образца. Суть отличия в том, что ДРАКОН — это не один язык, а семейство языков. Что значит семейство языков? Поясняю. Цитата: ДРАКОН можно определить как общедоступный визуальный язык, предназначенный для описания структуры человеческой деятельности, для систематизации, структуризации, наглядного представления и формализации императивных знаний, а также для проектирования, программирования, моделирования и обучения[12].
Разработчики языка полагают, что правила языка ДРАКОН по созданию диаграмм оптимизированы для восприятия алгоритмов человеком. Таким образом, язык предлагается разработчиками в качестве инструмента усиления интеллекта. На втором этапе разработки была предложена концепция гибридных языков программирования. В рамках этой концепции созданы инструментальные средства языка ДРАКОН для гражданских нужд широкого применения в несекретном варианте для эксплуатации на персональных компьютерах: интегрированная среда разработки алгоритмов и программ под названием «ИС Дракон»[2] и ДРАКОН-редактор[3]. В результате ДРАКОН превратился в семейство языков моделирования и программирования. Программа ИС Дракон поддерживает работу с гибридными языками программирования Дракон-С, Дракон-Delphi, Дракон-1С, Дракон-ASM, Дракон-Oberon. ДРАКОН-редактор обеспечивает работу с гибридными языками Дракон-Java, Дракон-C#, Дракон-C, Дракон-Python, Дракон-Tcl, Дракон-Javascript, Дракон-Lua, Дракон-Erlang. Аналогом семейства языков ДРАКОН является «R-технология производства программ, или технология двумерного программирования»[13], созданная в Институте кибернетики имени В. М. Глушкова[14], причем графика дракон-схем в ДРАКОН-семействе служит аналогом графики Р-схем[15] в R-технологии. В технологическом комплексе программиста RТК[16] принцип обработки информации в компьютере подразумевает деление на R-машину[17], R-язык[18] и R-технологию[19]. ДРАКОН использует тот же принцип, выраженный с помощью другого понятийного аппарата. Аналогом дракон-схем (как алгоритмического языка моделирования) являются диаграммы поведения языка UML, в частности, диаграмма деятельности[20], диаграмма состояний[21] и некоторые диаграммы взаимодействия, например, диаграмма синхронизации[22]. Другими аналогами дракон-схем являются блок-схема, диаграмма Насси-Шнейдермана, псевдокод (язык описания алгоритмов) и др. В отличие от блок-схем, дракон-схемы имеют средства для описания работы в реальном времени[22]. |
Автор: | igor [ Среда, 10 Апрель, 2013 08:21 ] |
Заголовок сообщения: | Re: Прогопедия |
Alexey_Donskoy писал(а): А что, язык программирования обязательно должен иметь на выходе исполняемый код?! Кто кого должен иметь? ![]() На самом деле Ваш вопрос мне понятен, хоть он и задан некорректно. Мой ответ: "Обязательно". |
Автор: | igor [ Среда, 10 Апрель, 2013 08:45 ] |
Заголовок сообщения: | Re: Прогопедия |
Уважаемый Владимир Даниелович! Термин "язык программирования" является устоявшимся, и язык ДРАКОН, по моему мнению, в него не вписывается. Возможно, более точным был бы термин "язык моделирования алгоритмов" или "язык описания алгоритмов", но я не настаиваю на этом. |
Автор: | Alexey_Donskoy [ Среда, 10 Апрель, 2013 09:01 ] |
Заголовок сообщения: | Re: Прогопедия |
igor писал(а): Alexey_Donskoy писал(а): А что, язык программирования обязательно должен иметь на выходе исполняемый код?! Кто кого должен иметь? ![]() На самом деле Ваш вопрос мне понятен, хоть он и задан некорректно. Мой ответ: "Обязательно". Язык - это всего лишь язык. Формальная система с алфавитом и правилами. Транслятор - это инструмент, который преобразует текст из одного языка в другой. Компилятор - частный случай транслятора, где выходной язык - код конкретного исполнителя. Сайт "Прогопедии" вроде бы посвящён всё-таки языкам, а не инструментам. Другое дело, если Вы хотите отметить прагматическую ценность языка. Тогда именно об этом и надо говорить. Но, оказывается, что прагматическую ценность имеют даже "неполноценные" языки (то есть не доводимые до исполнения на конкретном исполнителе). Яркий пример - естественный человеческий язык (хотя бы русский). Хотя компилятора для него тоже нет, но программы на нём писать таки можно! ![]() Upd: Цитата: Термин "язык программирования" является устоявшимся [url=http://slovari.yandex.ru/язык%20программирования/БСЭ/Язык%20программирования/]Посмотрим[/url]:БСЭ писал(а): Язык программирования, формальная знаковая система, используемая для связи человека с ЦВМ; предназначена для описания данных (информации) и алгоритмов (программ) их обработки на вычислительной машине. Так что даже в этом определении вписывается.
|
Автор: | igor [ Среда, 10 Апрель, 2013 13:27 ] |
Заголовок сообщения: | Re: Прогопедия |
БСЭ писал(а): Язык программирования, формальная знаковая система, используемая для связи человека с ЦВМ; предназначена для описания данных (информации) и алгоритмов (программ) их обработки на вычислительной машине. 1. Если компилятора нет, то "связь человека с ЦВМ" оказывается разорванной. 2. ДРАКОН, вроде, не позволяет описывать "данные (информацию)". |
Автор: | Alexey_Donskoy [ Среда, 10 Апрель, 2013 13:48 ] |
Заголовок сообщения: | Re: Прогопедия |
igor писал(а): 1. Если компилятора нет, то "связь человека с ЦВМ" оказывается разорванной. "ЦВМ" может быть и виртуальной. Никто не запрещает! ![]() igor писал(а): 2. ДРАКОН, вроде, не позволяет описывать "данные (информацию)". Нет. Но это ни к чему не обязывает.Конечно, "язык описания алгоритмов" точнее. Но остаётся подмножеством языков программирования. |
Автор: | Ярослав Романченко [ Среда, 10 Апрель, 2013 13:51 ] |
Заголовок сообщения: | Re: Прогопедия |
igor писал(а): 1. Если компилятора нет, то "связь человека с ЦВМ" оказывается разорванной. Трансляторы в промежуточный язык программирования естьigor писал(а): 2. ДРАКОН, вроде, не позволяет описывать "данные (информацию)". ДРАКОН прекрасно описывает маршрутную (алгоритмическую) часть.
|
Автор: | igor [ Четверг, 11 Апрель, 2013 09:05 ] |
Заголовок сообщения: | Re: Прогопедия |
Скажите, пожалуйста, есть ли принципиальная возможность создания исполняемого программного модуля исключительно при помощи ДРАКОНА (и его компилятора), не прибегая к помощи настоящих (!) языков программирования? То есть не применяя гибридных языков, про которые говорил Владимир Даниелович. |
Автор: | Ярослав Романченко [ Четверг, 11 Апрель, 2013 09:23 ] |
Заголовок сообщения: | Re: Прогопедия |
Язык Си в Вашем понимании - настоящий язык? Так, вот, в чистом (настоящем) языке Си Вы ничего не смогли-бы написать сложнее чем Hello world! не будь у Си мощного препроцессора. По аналогии с Си можно ДРАКОН тоже рассматривать как мощный алгоритмический препроцессор для любого настоящего языка программирования. А если прикрутить к ДРАКОН-редактору кодогенератор можно получать на выходе и исполнимые модули. но зачем-же ограничивать Вашу свободу выбора? Выбирайте любой Ваш любимый настоящий язык программирования и пишите на гибридном языке ДРАКОН-"настоящий язык". Что-бы не быть голословным, привожу ссылку на свой проект. Проект транслятора гибридного языка ДРОН (ДРакон-активный оберОН). http://sage.com.ua/ru.shtml?e6l0 После трансляции ДРАКОН-схемы на выходе получается практически гарантированно (если не было допущено ошибок при вводе) компилируемый модуль на Активном Обероне. А поскольку компилятор Активного Оберона работает молниеносно быстро (как и компиляторы всего Оберон симейства), то через несколько миллисекунд можно получить и исполнимый модуль. Если в транслятор добавить вызов компилятора, это будет ещё быстрее. Микро- милли- секунды это критичное время? |
Автор: | Ярослав Романченко [ Четверг, 11 Апрель, 2013 09:56 ] |
Заголовок сообщения: | Re: Прогопедия |
Из одной переписки: Цитата: Navaro (15:39:15 22/04/2007) ЗЫ. Год тогда был 2009-й а не 2007-й Ярослав, добрый день! Navaro (15:39:48 22/04/2007) Вам пишет участник форума под ником iron_man. Navaro (15:40:26 22/04/2007) Форум на сайте Компьютерры, обсуждение статьи http://www.computerra.ru/readitorial/418507/ Navaro (15:41:23 22/04/2007) Ваша разработка - единственный работающий продукт, который почему-то Паронджанов и Со постеснялись показать сразу. Navaro (15:42:27 22/04/2007) Мне бы очень хотелось пообщаться с Вами на эту тему. ![]() |
Автор: | Alexey_Donskoy [ Четверг, 11 Апрель, 2013 11:05 ] |
Заголовок сообщения: | Re: Прогопедия |
igor писал(а): Скажите, пожалуйста, есть ли принципиальная возможность создания исполняемого программного модуля исключительно при помощи ДРАКОНА (и его компилятора) Конечно, есть.Просто сейчас никому не было нужно. Да, вероятно, и не будет. Многие среды визуального проектирования, да и обычные IDE используют генерацию в промежуточный текст и его компиляцию сторонними компиляторами... |
Автор: | Владимир Паронджанов [ Четверг, 11 Апрель, 2013 11:29 ] |
Заголовок сообщения: | Re: Прогопедия |
Ярослав Романченко писал(а): Navaro (15:39:48 22/04/2007) Вам пишет участник форума под ником iron_man. Насколько я понимаю, iron_man — это Альберт Адиятуллин. Если на форуме Компьютерры щелкнуть на Альберт Адиятуллин, попадаем в профиль iron_man |
Автор: | Ярослав Романченко [ Четверг, 11 Апрель, 2013 12:10 ] |
Заголовок сообщения: | Re: Прогопедия |
Владимир Паронджанов писал(а): Если на форуме Компьютерры щелкнуть на Альберт Адиятуллин, попадаем в профиль iron_man По вполне понятным причинам он так резко высказывался на форуме...
|
Автор: | igor [ Четверг, 11 Апрель, 2013 12:49 ] |
Заголовок сообщения: | Re: Прогопедия |
Ярослав Романченко писал(а): После трансляции ДРАКОН-схемы на выходе получается практически гарантированно (если не было допущено ошибок при вводе) компилируемый модуль на Активном Обероне. В таком случае промежуточное представление в виде исходного текста на Активном Обероне (полученное автоматически, ведь так?) можно в принципе исключить, - это дело техники. Настораживает другое: Цитата: На первых порах пришлось "приспособить" под декларативную часть блок "комметнарий", с разделением соответсвующих секций, собственно: комментариев, импорта, констант, типов и переменных. принадлежность той или инной секции определяется первым считанным из блока элементом, соответственно (*, IMPORT, CONST, TYPE и VAR. Комментарий не должен нести никакой смысловой нагрузки. Видимо, поэтому Вы такое решение обозначили как временное ("на первых порах"). Далее, в качестве развития идеи Вы предлагаете для описания декларативной части использовать табличные формы. Это работает, но это уже не ДРАКОН! Программирование - это не только программная логика, но и сложные структуры данных. Как там у Вирта? "Программы = алгоритмы + данные". Правда, однако, очень проста: в ДРАКОНЕ не было и нет средств для описания (или рисования) декларативной части, и ничего не предлагается в замен. Получается, что ДРАКОН - недоязык программирования. В этом нет ничего плохого или страшного. Сам по себе ДРАКОН очень ценен. Просто не нужно его выдавать в качестве того, чем он не является. |
Автор: | igor [ Четверг, 11 Апрель, 2013 12:53 ] |
Заголовок сообщения: | Re: Прогопедия |
Владимир Паронджанов писал(а): Насколько я понимаю, iron_man — это Альберт Адиятуллин. Вероятно, этот ник происходит от названия одного известного хита 1971 года группы "Black Sabbath". |
Автор: | Ярослав Романченко [ Четверг, 11 Апрель, 2013 13:22 ] |
Заголовок сообщения: | Re: Прогопедия |
igor писал(а): Комментарий не должен нести никакой смысловой нагрузки. Видимо, поэтому Вы такое решение обозначили как временное ("на первых порах"). Именно. Это было временным решением.igor писал(а): Далее, в качестве развития идеи Вы предлагаете для описания декларативной части использовать табличные формы. Это работает, но это уже не ДРАКОН! Ну, не совсем не ДРАКОН. ДРАКОН там всё-же останется, в императивной части модуля.igor писал(а): Программирование - это не только программная логика, но и сложные структуры данных. Как там у Вирта? "Программы = алгоритмы + данные". Правда, однако, очень проста: в ДРАКОНЕ не было и нет средств для описания (или рисования) декларативной части, и ничего не предлагается в замен. Есть ещё другая вполне жизненная идея.Представьте, что у Вас есть обычный модуль на любом языке программирования. В модуле традиционным способом описаны различные типы данных, реализованы какие-то процедуры... И где-то в тексте в закоментированном блоке находится ДРАКОН-схема в компактном текстовом представлении (XML, JSON). В IDE естественно должен быть установлен плагин, "понимающий", что в подобных закоментированных блоках хранятся ДРАКОН-схемы. Плагин должен обеспечивать возможность просмотра, редактирования этих "вшитых" ДРАКОН-схем и обеспечивать генерацию из них исходного кода. т.е. схему открыли, подредактировали, закрыли и автоматически под блоком коментария получили обновлённый код процедуры. Такой плагин был-бы очень полезен даже профессиональным программистам для реализации очень сложных алгоритмов, различных сетевых протоколов и т.д. Для этого нужен легковесный компонент ДРАКОН-редактор который можно было-бы компилировать под разные платформы, собирать в виде ActiveX, .Net компонентов, собирать в виде законченных приложений ДРАКОН-редакторов (такие редакторы были-бы полезны на стадии составления технических заданий при общении с заказчиком, при продумывании архитектуры систем), и т.д. Ничего этого как Вы понимаете нет. Есть только неповоротливая "и.с. Дракон" Тышова и странный редактор Митькина. igor писал(а): Получается, что ДРАКОН - недоязык программирования. В этом нет ничего плохого или страшного. Сам по себе ДРАКОН очень ценен. Просто не нужно его выдавать в качестве того, чем он не является. Получается, что так. ДРАКОН слишком преждевременно стали пиарить, что и показало обсуждение на форуме Компьютерры. На сегодня король голый!PS. ДРАКОН полезен в первую очередь для сложных алгоритмов, для мелких процедур использовать его не имеет никакого смысла. |
Страница 1 из 2 | Часовой пояс: UTC + 3 часа |
Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |