DRAKON.SU

Текущее время: Четверг, 28 Март, 2024 11:56

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 127 ]  На страницу Пред.  1, 2, 3, 4, 5, 6, 7  След.
Автор Сообщение
СообщениеДобавлено: Вторник, 04 Май, 2010 17:44 
Модератор
Аватара пользователя

Зарегистрирован: Понедельник, 14 Ноябрь, 2005 18:39
Сообщения: 631
Откуда: Россия, Орёл
Лично в моей текущей практике ДРАКОН занимает такое же место, ну, как скажем, НФБ-грамматики.
Описательная нотация. Хорошо соответствующая природе некоторых задач (описание поведения систем).
В этом же качестве начал применять (после долгого "сдерживания") на ранней стадии (докомпьютерной, 3-4 занятия) курса "Основ алгоритмизации и программирования", в параллель с КП-псевдокодом. Жить сразу стало легче - и себе, и студентам.

Позже тоже нашлось применение - графическое изображение сильно разгружает восприятие, когда только начинаешь объяснять доказательное построение алгоритмов. На схеме удобно помечать "разрезы", приписывать утверждения о состоянии, показывать инварианты, и т.п. В тексте сразу воспринимают трудно - слишком "сплошная" символика получается.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Вторник, 04 Май, 2010 17:45 
Аватара пользователя

Зарегистрирован: Среда, 29 Март, 2006 12:09
Сообщения: 15
Wlad2 писал(а):
Peter Almazov писал(а):
Процитирую себя:
Peter Almazov писал(а):
"Дракон - это поделка для недоучек в программировании. Причем она эффективно закрепляет их на этом уровне".

а никто не опасается, что повторится ситуация, когда критическая масса недоучек начнёт учить остальных программированию. ну, просто потому, что массе "вот так удобней" делать, а не книжки почитать?

Вы попробуйте применить те ограничения, которые налагаются на дракон-схемы, и поймете, что название не просто так выбрано ;)
Ценность дракона в том и состоит, что он накладывает "драконовские" ограничения на возможности по созданию схемы, благодаря которым "тупой предметник" (уж простите, из предыдущего обсуждения складывается такое впечатление о вашем понимании этих людей) не может просто сделать ничего лишнего и сделает схему, строго соответствующую имеющемуся у него алгоритму.

Обращаюсь ко всем участникам, перечитайте еще раз (а кто-то в первый раз!) главу 15 книги "Как улучшить работу ума" (полные реквизиты легко найти на форуме). Там приведено довольно строгое описание языка. За относительно простым внешним видом схем кроется жесткая структурность, и это важно и ценно.

"Большое видится на расстоянии" (с)


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Вторник, 04 Май, 2010 18:03 

Зарегистрирован: Воскресенье, 24 Февраль, 2008 15:32
Сообщения: 5846
Откуда: Москва
:!: ПОПУТНОЕ ЗАМЕЧАНИЕ :!:

В этой теме Илья Ермаков затронул математические вопросы.
Уместно напомнить, что на данном форуме есть тема
"Математические основы языка Дракон"
viewtopic.php?f=62&t=1757


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Вторник, 04 Май, 2010 18:45 

Зарегистрирован: Пятница, 25 Ноябрь, 2005 12:02
Сообщения: 140
Откуда: Троицк, Москва
Владимир Паронджанов писал(а):
1. Если я правильно понял ...
Нет, не правильно.
"Существенный" и "СУЩЕСТВЕННЫЙ" -- это разные вещи. Потому что существенность относительна.

В том конкретном высказывании подразумевалось сравнение алгоритмической выразительности дракон-схем и обычной структурированной программы.

Но буду рад, если, наконец, суть Дракона будет четко сформулирована в одном, пусть длинном, абзаце, и не надо будет продираться сквозь 14 глав букв.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Вторник, 04 Май, 2010 18:48 

Зарегистрирован: Пятница, 25 Ноябрь, 2005 12:02
Сообщения: 140
Откуда: Троицк, Москва
Wlad2 писал(а):
Geniepro писал(а):
Как я понял, оно работает там, где программу должны делать не программисты, а специалисты-предметники, не желающие (не имеющие возможности) тратить время на изучение языков и парадигм программирования.
и что они наработают?
Я тоже не верю, что достаточно серьезную программу непрограммист сможет разработать на Драконе, если не сможет на Обероне. Ту же быструю сотрировку.
Ни логику, ни граничные условия, ни вырожденные случаи Дракон не отменяет.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Вторник, 04 Май, 2010 18:59 
Модератор
Аватара пользователя

Зарегистрирован: Понедельник, 14 Ноябрь, 2005 18:39
Сообщения: 631
Откуда: Россия, Орёл
Тут другая ниша.
Дракон нацелен на алгоритм, как "скрипт", конфигурирование поведения. Инструмент, на котором предметник может написать алгоритм принятия решений (например, последовательность событий ввода-вывода и проверок при старте ракеты; либо последовательность проверок и решений в бизнес-правиле...).


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Вторник, 04 Май, 2010 19:01 
Аватара пользователя

Зарегистрирован: Среда, 29 Март, 2006 12:09
Сообщения: 15
Info21 писал(а):
Владимир Паронджанов писал(а):
1. Если я правильно понял ...
Но буду рад, если, наконец, суть Дракона будет четко сформулирована в одном, пусть длинном, абзаце, и не надо будет продираться сквозь 14 глав букв.

А для Оберона можете сформулировать такой абзац? Пусть длинный?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Вторник, 04 Май, 2010 19:07 
Модератор
Аватара пользователя

Зарегистрирован: Понедельник, 14 Ноябрь, 2005 18:39
Сообщения: 631
Откуда: Россия, Орёл
Цитата с главной страницы И21:
Цитата:
... в IT-индустрии сложился определенный консенсус относительно базового набора средств программирования общего назначения в виде синтеза «старого» процедурного программирования и «нового» объектно-ориентированного. Такой синтез впервые — и притом в наиболее чистом виде — был представлен в Системе Оберон (Н.Вирт и Ю.Гуткнехт, с 1988) и получил фактическое признание IT-индустрии в популярных системах ...
, которую продолжим (где-то на других страницах И21 в этом духе сформулировано):
... Основная новизна Оберона - в сбалансированном сочетании динамической модульности, ООП, герметичной системы типов и автоматического управления памятью в эффективно компилируемом языке - и поддержке за счёт этого высокой готовности к эволюции программных систем (парадигмы компонентно-ориентированного программирования).

Примерно так.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Вторник, 04 Май, 2010 19:24 
Аватара пользователя

Зарегистрирован: Среда, 29 Март, 2006 12:09
Сообщения: 15
Язык Дракон - строго формализованный способ представления алгоритмических знаний. Набор правил языка позволяет строить и изменять легко читаемые, быстро понимаемые алгоритмы любой сложности. К особенностям языка следует отнести учет механизмов восприятия информации человеком и учет принципов структурного программирования. Благодаря строгой формализации алгоритмы на языке Дракон легко поддаются автоматному преобразованию в произвольное представление, в том числе и в тексты на языки программирования. Область применения - описание бизнес-процессов, описание поведения систем, системы управления, отчасти - автоматное программирование.

Как-то так.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Вторник, 04 Май, 2010 19:28 

Зарегистрирован: Воскресенье, 06 Апрель, 2008 14:43
Сообщения: 1657
отсюда
Цитата:
Уважаемый Тимур.

Вы упоминаете Дракон, это язык по определению алгоритмический, не является языком программирования, здесь происходит подмена понятий.
Соответственно, говорить о типах данных и режиме отладки не приходится.

Дракон нужен тем кто создает алгоритм и пользуется алгоритмом.

Когда говорят что это и язык программирования, то "хотят сидеть на двух стульях" и вводят в заблуждение.

Об этом раньше в сообщении


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Вторник, 04 Май, 2010 20:24 

Зарегистрирован: Воскресенье, 24 Февраль, 2008 15:32
Сообщения: 5846
Откуда: Москва
Уважаемый Геннадий Николаевич!

В этом пункте у нас с Вами есть разногласие.
В отличие от Вас я понимаю Дракон как семейство языков.

В книге " Как улучшить работу ума" на стр. 101, 102 сказано:

Цитата:
СЕМЕЙСТВО ДРАКОН-ЯЗЫКОВ

ДРАКОН — не один язык, а целое семейство, все языки которого имеют одинаковый визуальный синтаксис (что зрительно делает языки семейства почти близнецами) и отличаются текстовым синтаксисом.

ДРАКОН-1 — визуальный псевдоязык, визуальный аналог обычного текстового псевдокода. Он служит для описания структуры деятель¬ности, создания технологий, алгоритмов и проектов программ, используется в методе пошаговой детализации, а также при формализации профессиональных знаний.

ДРАКОН-2 — язык визуального программирования реального времени. Он является элементом CASE-технологии для разработки программного обеспечения систем управления ракет и космических объектов, а также атомных электростанций, нефтехимических и металлургических заводов, биотехнологических производств и т. д.

Кроме того, семейство включает гибридные визуальные языки программирования: ДРАКОН-БЕЙСИК, ДРАКОН-ПАСКАЛЬ, ДРАКОН-СИ
и т. д. Чтобы получить гибридный язык, например, ДРАКОН-СИ, необходимо взять визуальный синтаксис ДРАКОНА и присоединить к нему по определенным правилам текстовый синтаксис языка СИ.

Строгое разграничение визуального и текстового синтаксиса позволяет в максимальной степени расширить сферу применения языка, обеспечивая его гибкость и универсальность. При этом единообразие правил визуального синтаксиса семейства ДРАКОН-языков обеспечивает их концептуальное единство, а разнообразие текстовых правил (т. е. возможность выбора любого текстового синтаксиса) определяет гибкость языка и легкую настройку на различные проблемные и предметные области.

В настоящей книге основное внимание уделяется визуальному псевдоязыку ДРАКОН-1. Что касается остальных языков ДРАКОН-семейства, даются лишь краткие пояснения.


Вы трактуете вопрос по-другому (это Ваше право). И это хорошо.
По-моему, Ваша концепция вписывается в идею "Дракон -- семейство языков",
если брать этот термин в расширительной трактовке.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Вторник, 04 Май, 2010 20:25 

Зарегистрирован: Воскресенье, 28 Май, 2006 22:12
Сообщения: 33
Info21 писал(а):
Wlad2 писал(а):
Geniepro писал(а):
Как я понял, оно работает там, где программу должны делать не программисты, а специалисты-предметники, не желающие (не имеющие возможности) тратить время на изучение языков и парадигм программирования.
и что они наработают?
Я тоже не верю, что достаточно серьезную программу непрограммист сможет разработать на Драконе, если не сможет на Обероне. Ту же быструю сотрировку.
Ни логику, ни граничные условия, ни вырожденные случаи Дракон не отменяет.

я - немножко не о том.
есть ситуации, когда я сознательно иду на нарушения структурности.
не потому, что "извратно-прикольно", а потому, что - "к стенке приперает".
например, вот:

Код:
switch( groupSymbolI )
{
case 1:
   if( isInserting_ )
   {
default:
      needUpdate = MoveCursorToThisGroupPrevIndex();
break;
   }
   else // ! isInserting_
case 0:
   needUpdate = MoveCursorToPrevGroupLastIndex();
}


уверяю вас, что этот ужас получен "свёрткой" из вполне себе "приличной" записи конструкций с логикой обработки. но, в память оно не влезало. в микронотроллер это надо было пихнуть и нельзя было на ассемблере.
так вот "по-правильному" - не влезало. а так - ещё и под восемь констант место осталось.

но! свёртка потребовала "напряжения ума". пример приведён по-проще. "в пять строк". а есть - на три страницы. тоже - "с извратами". приходится "крутиться".
так вот. может дракон такие изоморфизмы на "1-2-3" находить? способствует?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Вторник, 04 Май, 2010 20:29 
Модератор
Аватара пользователя

Зарегистрирован: Понедельник, 14 Ноябрь, 2005 18:39
Сообщения: 631
Откуда: Россия, Орёл
Вот такие свитчи хитрые, которые приходится во встроенке воротить, как раз хорошо выражаются "силуэтом" - конструкцией верхнего уровня в ДРАКОНе. Которая позволяет показывать такие безусловные переходы между состояниями.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Вторник, 04 Май, 2010 20:32 

Зарегистрирован: Воскресенье, 24 Февраль, 2008 15:32
Сообщения: 5846
Откуда: Москва
Продолжу мысль.
Не так давно на форуме Компьютерры я писал:
Цитата:
Уважаемый Тимур!

Вопрос. Дракон - это язык программирования
или алгоритмический?

Ответ. И то, и то.

В программе DRAKON, созданной Геннадием Тышовым (спасибо ему), -
это алгоритмический язык.

Но в языке ДРОН = ДРАКОН + Оберон -
это язык программирования
http://sage.com.ua/ru.shtml?e6l0

У нас на работе (Федеральное ксмическое агентство)
ДРАКОН - это язык программирования для бортового компьютера
БИСЕР, установленного на целом ряде ракет-носителей и
разгонных блоков космических аппаратов

Язык ДРАКОН лежит в основе Технологии разработки алгоритмов и программ
(CASE-технологии) ГРАФИТ-ФЛОКС
http://store.oberoncore.ru/lib/paper/grafit_A4.pdf

Моя задача - превратить космический ДРАКОН (точнее, его процедурную часть),
используемый для специализированного компьютера БИСЕР,
в универсальный язык , пригодный для персональных компьютеров,
ноутбуков и т. д.

Общая схема такова.

ДРАКОН + "язык" Х (описание данных) = целевой язык Z

В качестве языка Z можно попытаться использовать почти любой язык:
Перл, Питон, С, С# и т.д.

Важная мысль. Дракон - это не один язык, а СЕМЕЙСТВО ЯЗЫКОВ.
Семейство может включать:
Дракон-Оберон;
Дракон-си;
Дракон-Перл;
Дракон-Питон;
Дракон-си;
Дракон-С#
и т.д.

Речь идет об открытой разработке, осуществляемой силами
добровольцев-энтузиастов. Координация добровольцев осуществляется
на сайте OberonCore

Моя цель - привлечь энтуазиастов и заинтересовать их (если получится)
в реализации намеченной программы.
Например, Дмитрий_ВБ задумал сделать язык Дракон-си
viewtopic.php?f=79&t=2203

Я от всей души желаю ему успеха.
Разумеется, это очень сложная задача.
Получится или нет? -- покажет время.

Я приношу искреннюю благодарность всем, кто заинтересовался идеей Дракона
и внес свой вклад в ее осуществление.

На всякий случай напоминаю. Дракон - это не розовая мечта, а
ПРАКТИЧЕСКИ РАБОТАЮЩАЯ СИСТЕМА.

ДРАКОН используется в следующих ракетно-космических проектах
(при разработке систем управления ракет-носителей и разгонных
блоков космических аппаратов):

-- разгонный блок космических аппаратов ДМ-SL
(в рамках международного проекта «Морской старт» —
участники Россия, США, Украина, Норвегия);

-- разгонный блок космических аппаратов Фрегат (Российско-европейский проект);

-- модернизированная ракета-носитель тяжелого класса Протон-М;

-- разгонный блок космических аппаратов ДМ-03;

-- разгонный блок космических аппаратов «Наземный старт»;

-- ракета-носитель легкого класса Ангара 1,2;

-- ракета-носитель тяжелого класса Ангара-А5;

-- и др.

http://www.computerra.ru/forum/index.ph ... age1064266
http://www.computerra.ru/forum/index.ph ... age1064164
см. стр 77, сообщение 1920


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Вторник, 04 Май, 2010 21:04 

Зарегистрирован: Пятница, 24 Апрель, 2009 16:28
Сообщения: 66
Откуда: Москва
Димыч писал(а):
Язык Дракон - строго формализованный способ представления алгоритмических знаний. Набор правил языка позволяет строить и изменять легко читаемые, быстро понимаемые алгоритмы любой сложности. К особенностям языка следует отнести учет механизмов восприятия информации человеком и учет принципов структурного программирования. Благодаря строгой формализации алгоритмы на языке Дракон легко поддаются автоматному преобразованию в произвольное представление, в том числе и в тексты на языки программирования. Область применения - описание бизнес-процессов, описание поведения систем, системы управления, отчасти - автоматное программирование.
Вот, кстати, яркий пример эффективного закрепления на уровне недоучки. Человек искренне верует в то, что он написал, и больше ему ничего не надо.
Какой смысл его оспоривать?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Вторник, 04 Май, 2010 21:05 
Модератор
Аватара пользователя

Зарегистрирован: Понедельник, 14 Ноябрь, 2005 18:39
Сообщения: 631
Откуда: Россия, Орёл
И что там не так? Я бы внёс пару стилистических правок, типа убрать "любых алгоритмов", ибо ставить квантор A в утверждениях без крайней уверенности нельзя.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Вторник, 04 Май, 2010 22:08 

Зарегистрирован: Понедельник, 05 Июнь, 2006 09:49
Сообщения: 28
Откуда: Ленинград, Емельянов Алексей Николаевич
Возможно не в тему, но мне кажется пригодится. 1985 - 1992 я работал в НПО "Импульс", комплексником (нас не без иронии называли идеологами :) ). Кроме всего прочего, в наши обязанности входило формулирование алгоритмов поведения системы, для последующего утверждения заказчиком. "Дракона" тогда еще не было, а очень похожий SDL уже был. Я честно пытался его применить, но мало того, что пришлось на несовершенном редакторе рисовать, так потом еще на скрипучем матричном принтере самому печатать, одним словом кошмар :D .
А вот псевдокод на основе Алгола-68 меня очень даже вручал, быстро изобразишь на черновике (и на Алголе-68), затем перепишешь на канцелярите в секретный блокнот и ву-а-ля (сдаешь в машбюро :D ) и ни каких проблем.
Тем не менее попытки внедрения единого формализованного представления у нас тоже предпринимались. За основу была взята семиуровневая модель протоколов (были там и какие-то графические средства, временные диаграммы точно были). Короче основной упор на всякое согласование по протоколам, а алгоритмы это так, само собой, постольку - поскольку, как наиболее простое и понятное, в котором разработчики и сами в случае чего разберутся.
По моему разумению системы подобные Дракону могут дать эффект только при мощной технологической корпоративной поддержке. Когда твой твою схему у тебя без дополнительных усилий возьмут, зарегистрируют, передадут, распечатают, протестируют и т.д., и без всего этого - просто дополнительная нагрузка. При этом, хороший редактор схем и "правильный" генератор кода всего лишь необходимые, но совершенно не достаточные элементы.


Последний раз редактировалось Axcel Вторник, 04 Май, 2010 22:13, всего редактировалось 1 раз.

Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Вторник, 04 Май, 2010 22:10 

Зарегистрирован: Пятница, 25 Ноябрь, 2005 12:02
Сообщения: 140
Откуда: Троицк, Москва
Димыч писал(а):
Язык Дракон - строго формализованный способ ...
Но не описана специфика, сущность. Этого хотелось.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Вторник, 04 Май, 2010 22:16 
Модератор
Аватара пользователя

Зарегистрирован: Понедельник, 14 Ноябрь, 2005 18:39
Сообщения: 631
Откуда: Россия, Орёл
Axcel писал(а):
Возможно не в тему, но мне кажется пригодится. 1985 - 1992 я работал в НПО "Импульс", комплексником (нас не без иронии называли идеологами :) ). Кроме всего прочего, в наши обязанности входило формулирование алгоритмов поведения системы, для последующего утверждения заказчиком. "Дракона" тогда еще не было, а очень похожий SDL уже был. Я честно пытался его применить


У А.Н. Терехова в ЗАО "Ланит-Терком" SDL используется - и на базе его CASE-технология и процесс коллективной разработки ПО для встроенных систем (системы связи).
В его книжке "Технология программирования" рассказывается.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Вторник, 04 Май, 2010 22:21 

Зарегистрирован: Понедельник, 05 Июнь, 2006 09:49
Сообщения: 28
Откуда: Ленинград, Емельянов Алексей Николаевич
Так я у них технологию SDL и брал. У них вроде работало (университет), а у нас (НПО "Импульс") нет. Кроме того, у меня есть подозрения в некоторой искусственности или "парадности" этой их технологии. Просто наши предпочитали (имели возможность) держать специальный отдел для работы с заказчиком, а те им блок схемы рисовали, но внимания этому они действительно уделяли много. Как пример http://www.sysprog.info/2004/18.pdf


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 127 ]  На страницу Пред.  1, 2, 3, 4, 5, 6, 7  След.

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 9


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
cron
Вся информация, размещаемая участниками на конференции (тексты сообщений, вложения и пр.) © 2008-2024, участники конференции «DRAKON.SU», если специально не оговорено иное.
Администрация не несет ответственности за мнения, стиль и достоверность высказываний участников, равно как и за безопасность материалов, предоставляемых участниками во вложениях.
Powered by phpBB® Forum Software © phpBB Group
Русская поддержка phpBB