anpspb писал(а):
Дракон, ревизионизм и эмпириокритицизм
Хороший зачин - в духе незабвенного Ильича.
Ревизионизм - не в бровь, а в глаз.
Этим мы все здесь, фактически, только и занимаемся - ревизуем бесценный Дракон
(порой норовим раздраконить его на свои любимые лакомые куски и направления).
А почему?
А потому, что не укладывается огромный потенциал Дракона в скромные прокрустовы рамки:
научить необученных до того читать и пользовать блок-схемы алгоритмов,
и как облегчить такое пользование.
Актуально.
Но не только это актуально.
anpspb писал(а):
"ЭМПИРИОКРИТИЦИ́ЗМ (муж. род) - философское направление, отрицающее объективное существование материального мира и рассматривающее его как явление сознания и сочетания ощущений."
Кто там отрицает и рассматривает? Ату его в болото.
anpspb писал(а):
andr писал(а):
Владимир Паронджанов писал(а):
Каждая мелочь в отдельности не имеет большого значения.
Эти мелочи называются "интеллектуальные затруднения". Для кого? Для читателей, для студентов, для ученых, для юзеров, для всех у кого есть глаза и мозг.
Согласен, бывают большие последствия малых причин - и в позитив и в негатив.
Особенно если их много.
Короче говоря, надо начинать читать (очень вдумчиво) дракон-концепцию - от начала и до конца.
Цитата:
Еще от andr:
1) ...И здесь надо, фактически, уже более гибко трактовать основной принцип Дракона:
посмотрел и сразу понял.
Надо уже, наверное, классифицировать, что сразу - сходу (и не сразу) видно:
с учетом позиций, целей и задач разных категорий пользователей и разработчиков алгоритмов.
2) ...Нужно будет конкретно разобраться с конкретными принципами Дракон-эргономики
(но надо время, которого у нас нет).
3) ... В частном теоретическом примере с тремя простыми блок-схемами в одном квадранте таблицы
используется комбинированный подход - сверху (в основном) и снизу.
Ничто не мешает быстро разобраться, что к чему относится.
От В.Д. Паронджанова:
4) Моя цель — создать интеллектуальные средства и инструменты, которые позволяют устранить или уменьшить интеллектуальные трудности. Язык ДРАКОН — одно из таких средств.
В отношении
интеллектуальных трудностей.
Есть вот такая реальная ситуация -
в порядке обследования конкретного объекта приложения(на предмет обоснования предполагаемого внедрения системы Дракон+Фабула)
1
Первый курс студентов - в большом потоке несколько специальностей (по старой номенклатуре):
-- вычислительные машины, комплексы, системы и сети;
-- системотехники АСУ;
-- системы автоматизированного проектирования;
-- программное обеспечение АСУ и САПР
(здесь были даже спец.группы после техникума механизации учета).
На первом курсе нормальная аудитория, соображают в общем по компьютерам и гаджетам, особых интеллектуальных проблем начального понимания, в принципе, нет.
С блок-схемами знакомы по курсу школьной информатики,
программировали в школе на "Васике", Паскале - разном и т.п.
Все изучают С++ (с блок-схемами, надо полагать).
В кратком вводном курсе прикладной (структурной) теории параллельных (и последовательных) алгоритмов
(наряду с постоянными демонстрация разных технических параллельных моделей):
-- короткие индуктивные определения типа:
(Zi) =. Ak, (Ai1->Ai2) =. Ai, (Ai1 || Ai2) =. Ai и т.п. и к ним простые блок-схемы;
-- простые абстрактные примеры и
интерпретированные примеры вычислительных и технических алгоритмов - с блок схемами,
типа:
http://forum.oberoncore.ru/viewtopic.php?p=93650#p93650Вложение:
ТА-20.PNG [ 10.13 КБ | Просмотров: 16845 ]
(и посложнее, конечно).
Посещаемость хорошая на практике и на лабораторных:
не ругаюсь за прогулы и опоздания - каждый раз выдается по рядам распечатка
накопительной бальной системы по присутствию на занятиях и разным другим пунктам.
Очень стимулирует.
На лекция такого учета нет (если большие потоки),
но если есть много демонстраций на экране проектора - ходят дружно
(хотя параллельно могут заниматься другими делами,
тем более что надиктовок сейчас очень мало).
Все схемы, выставляемые на экране проектора, всегда разъясняются, обсасываются с разных сторон, с периодическими повторами и т.п.
Ну
нет проблемы понимания блок-схем.
2
Есть проблемы с расчетно-графическими работами, однако:
там идут
абстрактные теоретические схемы нарастающей структурной сложности,
и надо уже
немного соображать по той минимальной теории, что успевается.
Если не сачкуют, делают и поэтапно проносят по частям, то
все всё понимают.
Если приносят готовые на заказ (по черным платным услугам),
да еще "вываливают" сразу все задания - обычно ничего толком не понимают.
Но тут предпринимаются другие меры (вне концепции Дракона).
3
Большие проблемы появляются, если эта вводная теория читается
на 2-м курсе.
Появляются "хвостатые" студенты - на занятия не ходят:
в рабочее учебное время сдают хвосты и долги после 1-го курса.
Появляются (уже в большом количестве) крутые двоечники:
где-нибудь подрабатывают или занимаются какими-то своими делами и т.п.
Например, на ключевой первой установочной практике на занятия приходит менее половины состава
(да и потом тоже много отсутствующих):
и все летит к чертям (по принятой технологии), хоть реви.
Пока это не индивидуальное дистанционное обучение в любое удобное для студента время.
То есть пока это
нерешенная проблема - и вне концепции Дракона.
4
Есть еще такая проблема -
отсутствуют примеры достаточно сложных реальных блок-схем.
До этого дело еще не доходило - даже в курсовых и дипломных проектах
(там отрабатывались изложенные выше вопросы).
А вот теперь, когда снова появится учебный процесс по совместительству (сейчас пока нет),
буду "шарить"
на этом Форуме и в файлах книг автора Дракона:
специально
подбирать сложные схемы, включая многостраничные.
Пока планируются демонстрации на лекциях и практике на экране проектора.
С сопутствующими комментариями, разъяснениями, ответами на вопросы и т.п.
Проблем
трудностей понимания не предвидится.
В смысле классических дракон-проблем:
"устранить или уменьшить интеллектуальные трудности" - для новичков, имеется в виду.
Итого:
пока стоят совсем другие проблемы.
Правда автору этого поста еще нужно прокачать эргономику Дракон-концепции.
Но об этом будет далее.
anpspb писал(а):
Ряд тезисов для обсуждения.
1) Складывается впечатление, что описания типа "понятный", "сверхпонятный", "легко для понимания", "взглянул и сразу понял" - близки к "явлениям сознания и сочетаниям ощущений" - всяк понимает по-своему.
2) ИМХО, подобный субъективизм - слабое место Дракон-подхода и по этому поводу можно спорить бесконечно.
3) С чем можно сравнить степень "понимаемости"? от чего она зависит? Как ее оценить "в числах"?
Вот это очень хорошая постановка и неожиданная:
но обязательно - с позиций разных категорий пользователей и разработчиков алгоритмов.
Не замыкать задачу на первичные проблемы людей, незнакомых со схемами алгоритмов и программ.
-------------------------------------
anpspb писал(а):
Давайте сравним с субъективизмом в другой "визуальной области" - в фотографии. Являясь членом СПб фотообщества, знаю, что наш Председатель Д.В.Кораблев в свое время проводил специальные исследования в содружестве с учеными-физиологами с целью определить - что такое "хорошая" и что такое "плохая" композиция кадра (см. открытый форум-школу "Фотокомпозиция и визуальное восприятие (1)".
http://spbfo.ru/index.php?topic=1618.0 ):
--цитата---
А что же такое фотокомпозиция?
Как ни странно, очень мало людей могут сформулировать это понятие, хотя смысл его можно прочитать в любых словарях. Проще говоря - это компоновка, взаимное расположение, объектов и некоторых визуальных эффектов на снимке. Из этого следует, что важно всегда оценивать фотографию в целом, как произведение искусства, а не по частям. Будем отталкиваться от этого постулата, так как только так можно создать на фотоизображении образ, который не оставит зрителя равнодушным. А вот насколько гармонично будут скомпонованы элементы изображения - это уже дело интуиции и художественного вкуса фотографа.
Чтобы найти ответ на поставленный вопрос: что же действительно влияет на создание художественной фотографии и как это нечто применить на практике, была проведена большая исследовательская работа по изучению воздействия как мнимых (надуманных), так и реальных закономерностей восприятия фотоизображений.
Для того чтобы сделать эту работу, нужно было найти точки отсчета, базу, от которой можно было бы «построить» стройную и понятную систему.
После долгих многолетних поисков и перебора различных вариантов, за основу была взята природа человека, а именно механизмы физиологии зрения и психологии восприятия. В основу легли разработки Лаборатории физиологии зрения Института физиологии им. И. П. Павлова РАН.
--- конец цитаты---
Наконец, было выяснено (в т.ч. с использованием социологических опросов и стат. обработки), что подчас основополагающим является т. наз. "смысловой центр" (Фотокомпозиция и визуальное восприятие (2):
http://spbfo.ru/index.php?topic=1659.0 ): "... то, что изображено на снимке, гораздо важнее для зрителя, чем как все это изображено. Причем, для разных людей приоритеты могут самыми разными, вплоть до противоположных. У всех неодинаковое воспитание, образование, круг общения и интересов."
В т.ч. было выяснено, что повернутое изображение мозг "возвращает" его в нормальное (вертикальное) состояние (с целью более четкого опознания) со скоростью примерно 60 градусов в секунду. С другими "числовыми" характеристиками работы мозга, исследованными Кораблевым, пока не знаком.
Тем не менее, уверен, что и при оценке "понятности" схем (блок-, Дракон-, UML-... и т.п.) следует опираться на четкие критерии, которые следует знать (или исследовать и сформулировать, если их еще нет).
4) В готовящейся сейчас статье я постарался начать это делать, задавшись вопросом: что является "интеллектуальным затруднением" для понимания блок-схемы (начал с нее).
Пока рассмотрел главное - пространственно-временное позиционирование элементов схемы (время - чисто "условное", согласно "протеканию" процесса), что ведет к затруднениям "понимаемости". определяемой как скорость интуитивного "предсказания" дальнейшего развития событий (отметим, что любой читающий текст, в т.ч. программный, разбирающийся в схемах, слушающий музыку, смотрящий фильм и т.п. не является пассивным, а активно "проживает" ситуацию, предсказывая для себя ее исходы и оценивающий их.
Итак, блок-схемы затрудняют понимание в связи с наличием в них:
- сложностей пространственного позиционирования из-за проблем с взаимным расположением элементов: близко - далеко, "естественно" (слева направо, сверху вниз и т.п. - зависит в т.ч. от национального менталитета) или нет, переход с листа на лист, и т.п.);
- сложностей временнОго позиционирования: какая вершина/блок/узел ожидается в данном месте в рамках "протекающего" процесса; кстати, остроумные решения (и не только - в т.ч. анекдоты) связаны именно с контрастом - наблюдается ли ожидаемое!
Дополнительную сложность создает "визуальная грязь", т.е. "шум": помарки, избыточность обозначений, пересечения и т.п., на которые приходится обращать внимание и анализировать их; этот аспект пока для себя по аналогии с "проклятием размерности" обозначил как "множественность" элементов (а известно правило 5 плюс/минус 2, связанное с объемом сверхоперативной памяти человека).
Наконец, важен и предшествующий опыт, т.е. знакомство, например, с конструкциями структурного программирования, семантика которых либо предполагается известной, либо интуитивно понятна. (Вспомним также известное из психологии, что время реакции на ожидаемое событие всегда меньше)
Если оценивать с этоих позиций отношение к "goto", то становится понятным, что его ликвидация (и появление ряда "замен" типа "break", "continue") является стремлением облегчить именно временнОе позиционирование (которое моделируется посредством двумерного пространственного).
Закончим рассмотрение (традиционных) блок-схем утверждением о том, что в зависимости от способностей человека (объема сверхоперативной памяти), размера схемы и предшествующего опыта ее "понимаемость" будет различной.
5) Если просмотреть ветку, то бросается в глаза, что описание ДЕЙСТВИЙ, появившихся в блок-схемах в давние времена, пытаются применить НА ПРАКТИКЕ к событийному программированию, появившемуся позже. Так что должна, по мнению "ревизионистов", описывать Дракон-схема: действия, состояния, события, данные? Или всю эту мешанину в "одном флаконе"? И причем внутри программной системы, которая еще и вырабатывает программыный код?
6) Если отделить способность ясно видеть (глазами) и опознавать графические обозначения Дракона (как бы "синтаксис" языка) от их функции ("семантики"), следует признать, что эта семантика ориентирована на человека "с улицы", знакомого с ограниченным множеством понятий, пришедших из окружающей жизни (быта). и ориентированная на _действия_ (сесть в автобус, купить билет, повторить предыдущее действие и т.п.). И потому Дракон-схемы понятны большинству людей - не надо учиться чему-то заново, элементарные действия описаны на естественном языке, не перегружены семантикой, следуют в естественном порядке (заданном Правилами Дракона). Как здесь не вспомнить подход ТРИЗа при решении подчас сложных технических (изобретательских) задач: опиши задачу, не употребляя специальных терминов, напр. "дырка" вместо "отверстие".
7) Если говорить о продолжении ТРИЗовского подхода применительно к Дракону, то стоит, видимо, говорить о выращивании "куста" надстроек в виде специализированных языков (над некоторой общезначимой "базой"). Тогда - "каждой сестре по серьге": школьникам, которых надо научить алгоритмически мыслить - бязовый Дракон, специалистам - свой надязык, обогащенный, в зависимости от предметной области, новыми конструкциями. Одним словом - "разделяй и властвуй"!
Все это интересно конкретно обсудить по пунктам - в привязке к Дракон-системе.
Предлагаю все это включить в такую общую конфигурацию, типа:
сопоставление и взаимосвязь логики и психологии понятийного (или вербального) и образного мышления.
anpspb писал(а):
Важное замечание. Прошу не считать обозначение "ревизионист" (как когда-то) чем-то уничижительным, т.к. я также смотрю на Дракон и ищу, что можно было бы улучшить, чем дополнить и т.п. - сам в какой-то степени "ревизионист
Да, этим мы здесь и заняты.
anpspb писал(а):
Но представляется, что более конструктивным было бы не спорить о том, как бы сделать универсальный язык-оболочку (по типу PL/1), вмещающий всё-всё-всё, а сосредоточится, как давным-давно опробовали на примере Алгол-68, на базовом языке-ядре и возможностях его предметно-специфических расширений.
1
Алгол-68 - очень хорошо, тем более, что это классика, которая заложена (по минимум) в школьный (учебный) алгоритмический язык:
для последовательных алгоритмов
(и просто расширяется на простые параллельные алгоритмы).
2
"
на базовом языке-ядре" - хорошая идея - явно определить ядро Дракон-системы:
-- оно уже есть?
-- его надо выделить из наличного общего состава?
-- его нужно дополнить?
3
"
возможностях его предметно-специфических расширений".
Тоже не худо.
Есть над чем подумать.
-----------------------------
Вот по этой схеме можно будет, в частности, поработать с книгами по Дракон-тематике,
то есть не просто внимательно читать от корки до корки.
В частности, в ядро дракон-системы включается последовательная схемная алгоритмика.
А параллельная схемная алгоритмика идет в расширение этого ядра.