Info21 писал(а):
Драконограф писал(а):
Кстати, исходная посылка Ваша прямо противоположная, что видно из предисловия к Вирту - и с таким "догматом информатики" (что не д.б. "избыточной сложности") я как раз полностью согласен.
Прямо противоположная чему?
Я ссылался на первую страницу Информатики-21, где первая выделенная жирным фраза -- о необходимости систематического обучения программистов-непрофессионалов.
Пониманию программирования как "жречества"
- что превращается, как Вами верно подмечено, в "снятие кое-кем ренты за избыточную сложность". А систематическое обучение, видимо, может содействовать преодолению этого - но нужно ещё подумать о сокращении усилий ума в этом процессе, чего и хочет Паронджанов.
Info21 писал(а):
Преимущество текстов в плане технологичности, масштабируемости и универсальности перед графическими системами коммуникации -- как я уже когда-то тут говорил -- давно доказано практикой человечества. Трудности создания полноценной среды разработки для Дракона только подтверждает это.
Разумеется, GUI очень-очень полезны в своих специальных нишах, при условии тщательной разработки.
Но эти ниши -- как опять же показывает практика -- всегда довольно узкие.
Я не вижу, какие преимущества может дать блок-схемо-образный инструмент по сравнению со структурированным текстом с отступами при разработке быстрой сортировки.
Быстрая сортировка -- некоторая удобная точка отсчета. Где-то примерно до этого уровня сложности должны доходить основные курсы подготовки программистов-непрофессионалов.
Я не уверен, что при создании техноязыка ставилась цель превзойти все существующие способы разработки для всех имеющих место задач - по-моему, задача ставилась сократить в среднем умственные усилия сочинителя - см. /Паронджанов, 2001, Введение, Гл.1-5/.
Картинка - удобная форма для передачи смысла (в т.ч. и её же сочинителю спустя некоторое время - о чём тут уже говорили конкретно в отношении дракон-схем). Именно в этом преимущество визуализации - а не в том, что можно найти какие-то особые способы разработки по сравнению с разработкой в текстовой форме. Способы остаются прежними - думать надо, как сказать нужное на используемом языке
- но именно непрофессионалу м.б. удобнее думать графически над формальной знаковой моделью, включая доказательство её правильности (и усваивать язык, когда он на графической основе).
Непрофессионалов в ИТ много (фактически все, кроме ИТ-профессионалов
) - и у многих из них, в соответствии с делением по типам мышления, ведущим представлением смысла является образное (а в общем-то имеет место синтез - это показано в /
Орлов М.А., Гл. 20-21/). В связи с этим ограничение только текстовой формой алгоритма и программы мне представляется как раз разновидностью "избыточной сложности" - причём и для части программистов, они ведь тоже люди
)...
О трудностях же создания среды дракон-программирования пока видел лишь "приступочные" обсуждения - "вот, обнаружилось ещё что-то, что не обеспечивает ДРАКОН в исходном своём виде, ну и ладно" - не увидел в целом детального разбора, который бы привёл либо к введению этой возможности в техноязык, либо к доказательству, что это ну никак туда не ввести.
Не кажется ли уважаемым участникам, что это напоминает ситуацию известной басни "Лиса и виноград" - не получается достать виноград из терновника, и говорят "а виноград-то зелен"
)? При этом роль терновника, конечно, играет не недостаток знаний говорящих - думаю, просто времени и сил нехватает либо сосредоточиться на прояснении вопроса, либо полученный результат оформить и донести в понятном виде - конечно, всем профессионалам есть ещё чем заняться
. Однако это же не аргументы по существу дела - либо изыскиваем время и силы и даём полноценное законченное мнение по вопросу, либо не делаем окончательных публичных утверждений - даже если внутренне всё ясно...
Отсюда вновь "к нашим баранам" - какие трудности возникают при попытке отразить на техноязыке:
* логику (для начала - какую?);
* исключения (для начала - точное определение термина с примером);
* граничные условия и вырожденные случаи;
* структуру дракон-маршрутов без Оберон-оператора goto (и почему нельзя там, где это не получается, всё таки допустить его употребление);
* ещё что-то из программирования, известное Вам и другим специалистам.
Ещё могу вспомнить:
* необходимость визуализации прерывания (кстати, а в Бисере как они реализованы? или их нет?);
* устранение маршрутных операторов типа continue и break и циклов LOOP-EXIT (можно посмотреть это сообщение).
Прошу давать свои точки зрения.
Смысл в том, чтобы вот эту формулировку:
Info21 писал(а):
Я тоже не верю, что достаточно серьезную программу непрограммист сможет разработать на Драконе, если не сможет на Обероне.
рассматривать не как "догмат веры", а в научном аспекте - как противоречие, разрешаемое путём формирования стандарта гибридного техноязыка (ДРАКОН-Оберон) до следующего состояния:
Я. Романченко писал(а):
...имеет смысл говорить о ДРАКОНе как о семействе языков. Языки семейства представляют собой языки с отброшенной маршрутной частью (полностью заменяется графическими конструкциями ДРАКОНа), остаются только части языков служащие описанию структур данных и выражений.
Тогда кто хочет - пользуется Обероном, а кому проще не с чистым текстом работать - пользуется гибридным техноязыком (из которого в среде сочинения должен автоматически генерироваться Оберон-текст).
При этом не забываем, что в семейство входит и деклар-язык, взаимосвязанный с ДРАКОНом и также имеющий визуальную основу - он и "служит описанию структур данных", т.е. типов величин, используемых в выражениях (текстах дракон-икон). Без этого говорить о визуальном програмировании и правда не приходится...