- •Оглавление
- •Глава 1. На подступах к новому языку 28
- •Глава 2. Можно ли создать язык, улучшающий понимание и взаимопонимание? 35
- •Глава 3. Соображения, повлиявшие на создание языка дракон 39
- •Глава 4. Понимание и взаимопонимание — ключевые проблемы информатики 58
- •Глава 5. Проблема улучшения работы ума: новый когнитивный подход 65
- •Глава 6. Изюминки языка дракон 80
- •Глава 7. Эргономичные алгоритмы 104
- •Глава 8. Визуализация циклов 126
- •Глава 9. Визуализация логических формул 143
- •Глава 10. Что такое эргономичный текст? 154
- •Глава 11. Визуальные операторы реального времени 165
- •Глава 12. Дружелюбное программирование 177
- •Глава 13. Человеческая деятельность и формализация знаний: живописные примеры 194
- •Глава 14. Визуальный дракон-редактор 226
- •Глава 15. Описание визуального синтаксиса языка дракон 236
- •Глава 16. Визуальное структурное программирование 245
- •Глава 17. Исчисление икон и попытка предсказать будущее 267
- •Глава 18. Место языка дракон в системе человеческой культуры 282
- •Глава 19. Возможна ли эргономизация математики? 302
- •Глава 20. Можно ли стать интеллектуальным суперменом? 326
- •Маленькая увертюра
- •Легкомысленный словарик
- •Третий глаз для бизнесменов и руководителей
- •Интеллектуальный терроризм: фантазия или реальность?
- •Почему умные люди страдают и гибнут?
- •Разве такая проблема существует?
- •Информационный стресс — зловещий спутник информационного общества
- •Камикадзе умственного труда
- •Что такое интеллектуальный терроризм?
- •Гуманитарная постановка задачи
- •Компьютерная мифология: облегчают ли компьютеры умственный труд?
- •Что такое интенсификация интеллекта?
- •Критерий декарта и эргономизация науки
- •О чем эта книга?
- •Секреты мудрого дракона: объяснение на пальцах
- •Притча о том, как Господь Бог языки создавал
- •Смена терминов или изменение концепции?
- •Самая сложная вещь на свете
- •Зачем дракону две головы?
- •Справка о состоянии дел
- •На подступах к новому языку
- •Зачем нужен язык дракон?
- •В чем секрет дракона? — в когнитивном подходе
- •Почему люди не интересуются собственным мозгом?
- •Станет ли дракон чемпионом мира по критерию “понимаемость алгоритмов”?
- •На кого рассчитан язык дракон?
- •Перечень задач, решаемых с помощью языка дракон
- •Можно ли создать язык, улучшающий понимание и взаимопонимание?
- •Почему специалисты не понимают друг друга?
- •Язык дракон как “эсперанто” делового мира
- •Что такое интеллектуальное взаимопонимание?
- •В чем особенность дракона?
- •Соображения, повлиявшие на создание языка дракон
- •Что важнее: компьютеры или человеческий мозг?
- •Что такое производительность умственного труда?
- •Зависит ли производительность персонала от производительности компьютеров?
- •Можно ли увеличить скорость работы человеческого мозга?
- •Проблема формализации профессиональных знаний
- •Можно ли обойтись без когнитологов?
- •Чем отличается алгоритм от технологического процесса?
- •Что такое технологический язык?
- •Технологические и декларативные знания
- •Почему нельзя жить по-старому?
- •Социальные технологии и электронные методологии
- •Методология быстрой разработки систем rad
- •Схемы действий и язык дракон
- •Необходимость культурных изменений
- •Техноязык как элемент культуры
- •Понимание и взаимопонимание — ключевые проблемы информатики
- •Отсутствие понимания ведет к миллионным убыткам
- •Издевательство над здравым смыслом под названием “абсолютно правильная программа”
- •Спецификации программ — вот главный “гадючник”!
- •Спецификации программ и методология rad
- •Концепция когнитивного программирования
- •Проблема улучшения работы ума: новый когнитивный подход
- •Текст как зрительная сцена
- •Симультанное и сукцессивное восприятие
- •Как повысить продуктивность человеческого мозга?
- •Когнитивный недостаток текстового представления знаний
- •Каким должен быть формат диосцены?
- •Когнитивные рекомендации
- •Зачем нужны психологические эксперименты?
- •Ошибка джеймса мартина
- •Возможна ли стратегическая реформа мировой практики программирования
- •Изюминки языка дракон
- •Критика блок-схем
- •Преимущества дракон-схем
- •Иконы и макроиконы
- •Зачем нужна ветка?
- •Как работает ветка?
- •Как следует располагать ветки в поле чертежа?
- •Что такое шапка?
- •Что лучше: примитив или силуэт?
- •Как описать силуэт с помощью текстового языка?
- •Есть ли в алгоритме “царская дорога”?
- •Главный маршрут силуэта
- •Пересечения линий? — боже упаси!
- •Визуальный и текстовый синтаксис дракона
- •Семейство дракон-языков
- •Эргономичные алгоритмы
- •Визуальная проверка алгоритмов
- •Что такое эргономичный алгоритм?
- •Чем отличается икона “вопрос” от развилки?
- •Маршруты и формулы маршрутов
- •Что такое рокировка?
- •Использование рокировки для улучшения эргономичности
- •Вертикальное и горизонтальное объединение
- •Эргономичность литеральных алгоритмов
- •Что делать, если эргономические требования противоречат друг другу?
- •Икона-вставка как эргономический прием
- •Что такое подстановка?
- •Улучшение эргономичности алгоритмов с помощью цепочки эквивалентных преобразований
- •В Рис. 33. Эквивалентные преобразования алгоритмов ыводы
- •Визуализация циклов
- •Обычный цикл
- •Переключатель и переключающий цикл
- •Цикл для
- •Веточный цикл
- •Главный маршрут силуэта
- •Визуализация логических формул
- •Визуализация функции и
- •Визуализация функции или
- •Визуализация функции не
- •Визуализация сложных логических функций
- •Что такое эргономичный текст?
- •Можно ли сделать логические выражения эргономичными?
- •Пример для исследования эргономичности логических выражений
- •Логическое выражение с абстрактными идентификаторами
- •Логическое выражение с короткими смысловыми идентификаторами
- •Логическое выражение с длинными смысловыми идентификаторами
- •Важный момент, о котором часто забывают
- •Как присвоить значение логической переменной?
- •Правила записи рамочных логических выражений
- •Как построить эргономичный логический текст?
- •Визуальные операторы реального времени
- •Список операторов реального времени
- •Операторы ввода-вывода
- •Оператор “пауза”
- •Операторы “пуск таймера” и “синхронизатор”
- •Цикл ждать
- •Оператор “период”
- •Оператор “параллельный процесс”
- •Особенности операторов реального времени
- •Дружелюбное Программирование
- •Гибридный язык программирования дракон-си
- •Гибридный язык программирования дракон-модула
- •Пример эргономической оптимизации программы
- •Диалоговые программы
- •Оператор “Сообщение”
- •Оператор “Запрос”
- •Описание данных
- •Идентификаторы
- •Примеры правильных идентификаторов
- •Примеры неправильных идентификаторов
- •Пример сокращения длины сложного понятия
- •Правила записи арифметических выражений в операторах присваивания
- •Обработка массивов
- •Абстрактные дракон-схемы
- •Философия языка дракон
- •Классификация знаний
- •Человеческая деятельность и формализация знаний: живописные примеры
- •Что такое профессиональные знания?
- •Учебные экспертные системы
- •Учебная экспертная система (программа на языке бейсик)
- •Визуализация экспертных систем
- •Визуализация описания технологических процессов
- •Что такое методология?
- •Визуализация методологий
- •Система “человек—машина”
- •Визуализация биологических алгоритмов
- •Визуализация медицинских алгоритмов
- •Другие примеры визуализации
- •Описание структуры деятельности
- •Нужен ли стандарт для описания деятельности?
- •Визуальный дракон-редактор
- •Зачем нужен дракон-редактор?
- •Заготовка-примитив и заготовка-силуэт
- •Что такое атом?
- •Пример построения дракон-схемы “примитив”
- •Операция “пересадка лианы”
- •Операция “заземление лианы”
- •Пример построения дракон-программы “силуэт”
- •Формирование надписей “да” и “нет”
- •Описание визуального синтаксиса языка дракон
- •Общие понятия
- •Шампур-блок
- •Операция “ввод атома”
- •Дополнительные сведения об атомах
- •Критические и нейтральные точки
- •Правила использования операции “ввод атома” при построении дракон-схемы
- •Операции с лианой
- •Пересадка лианы
- •Заземление лианы
- •Прочие операции
- •Основные результаты
- •Визуальное структурное программирование
- •Постановка проблемы
- •Историческая справка
- •Отживающий метод?
- •Прав ли игорь вельбицкий?
- •Четыре принципа структуризации блок-схем, предложенные э. Дейкстрой
- •Почему научное сообщество не приняло видеоструктурную концепцию э. Дейкстры?
- •Парадокс структурного программирования
- •Плохие блок-схемы или плохие стандарты?
- •Блок-схемы и теоретическое программирование
- •Новые цели стандартизации блок-схем
- •Чем отличаются блок-схемы от дракон-схем?
- •В чем сходство визуального и текстового структурного программирования?
- •В чем различие визуального и текстового структурного программирования? Структурные, лианные и адресные блоки
- •Операции с лианой и оператор goto
- •Является ли текстовое структурное программирование формальным методом?
- •Почему самолет не машет крыльями?
- •Исчисление икон и попытка предсказать будущее
- •Визуальное логическое исчисление
- •Общеизвестные сведения о математической логике
- •Об одном распространенном заблуждении
- •Принцип абсолютизации текста
- •Визуализация понятий математической логики
- •Исчисление икон
- •Еще раз о шампур-методе
- •Шампур-схема как абстрактная модель программы
- •Преобразование шампур-схемы в шампур-программу
- •Шампур-метод и доказательство правильности программ
- •Возможна ли теория визуального программирования?
- •Гипотеза о будущем императивных языков программирования
- •Визуализация логики и интенсификация интеллектуальной деятельности
- •Место языка дракон в системе человеческой культуры
- •Между сциллой и харибдой
- •Принцип структуризации деятельности
- •Генеральная концептуальная схема
- •Проблема деятельности в эргономике
- •Искусственный интеллект: алгоритмизация — это ночной кошмар!
- •Специалисты по ии: долой алгоритмизацию!
- •Инженерные психологи: алгоритмизация деятельности — наше спасение!
- •Работники образования: алгоритмизация — это хорошо!
- •Кто же прав: декларативисты или императивисты?
- •Эргономический анализ проектно-конструкторской деятельности
- •Подводные камни проектно-конструкторской деятельности
- •Почему взорвался чернобыльский реактор? Традиционный подход к анализу причин чернобыльской аварии
- •Возможна ли гарантоспособная деятельность?
- •Принцип проектирования гарантоспособной деятельности
- •Гарантоспособный совокупный работник
- •Главное зло — плохо спроектированная деятельность творческого персонала
- •Сон разума рождает чудовищ
- •Интенсификация интеллекта и языки программирования
- •Улучшение работы ума — проблема номер один
- •Возможна ли эргономизация математики?
- •Почему джон фон нейман провалился на экзамене?
- •Существует ли пропасть между математикой и эргономикой?
- •Алгебра диофанта
- •Эргономический анализ алгебры диофанта
- •Эргономизация алгебры после диофанта
- •Осознание полезности эргономического поворота в математике
- •Эргономическая победа лейбница
- •Методологическая ошибка историков математики
- •Аналогия между математической диосценой и панелью отображения информации
- •Математическая и эргономическая эффективность
- •Как повысить производительность математического труда?
- •Два метода визуализации математики
- •Проект “когнитивный стиль” (cognistyle)
- •Пример математической визуализации с помощью метода cognistyle
- •Можно ли стать интеллектуальным суперменом?
- •На пороге создания теории улучшения работы ума
- •Человеческий мозг нужно грамотно проектировать
- •Разгадка тайны человеческого интеллекта
- •Развитие и интенсификация интеллекта
- •Знаковая и предметная информация
- •Знаковое и предметное обеспечение информатики
- •Знаковая и предметная программа
- •Переломная веха в истории информатики
- •Одноглазые миссионеры, или заброшенное дитя информатики
- •Когнитивная письменность — новый способ представления знаний
- •Что такое проектоника?
- •Проектоника и искусственный интеллект
- •Особенности проектоники
- •Мироинформация и мироинтеллект
- •Стратегическая интеллектуальная инициатива
- •Дорога в будущее
- •Интеллектуальные трудности как глобальная проблема
- •Вызов интеллектуального терроризма
- •Бессилие интеллекта
- •ЦЕль — значительное улучшение интеллекта
- •Список литературы интеллектуальный терроризм: фантазия или реальность?
- •Глава 1
- •Глава 3
- •Глава 5
- •Глава 6
- •Глава 13
- •Глава 16
- •Глава 17
- •Глава 18
- •Глава 19
- •Глава 20
- •Отзывы о книге в. Паронджанова “Как улучшить работу ума”
Блок-схемы и теоретическое программирование
Наш интерес к структуризации и формализации блок-схем имеет и другую, не менее серьезную причину. Дело в том, что теоретическое программирование, в частности, теория схем программ (схематология) [11] и теория оптимизирующих преобразований программ [12] тесно связаны с теорией графов. По словам А. Ершова, “графы являются основной конструкцией для программиста”, так как они “обладают огромной, неисчерпаемой изобразительной силой, соразмерной масштабу задачи программирования” [13].
Для наших целей особенно важным является тот факт, что “графовая форма схем программ” [11] или, что одно и то же, “графовая схема” [14] (короче, граф-схема) аналогична блок-схеме [11, 12]. Более того, как убедительно показал А. Ершов, использовавший блок-схемы в качестве граф-схем [15], разграничение этих понятий является в некотором смысле условным. Различия в начертании (топологии) блок-схем и граф-схем несущественны, а наличие двух терминов оправдывается скорее разными сферами применения, так как термин “блок-схема” используется преимущественно в практическом, а “граф-схема” — в теоретическом программировании.
Новые цели стандартизации блок-схем
Изложенная выше постановка проблемы нуждается в обобщении и уточнении, что мы и сделаем в форме шести тезисов.
-
Существуют три сферы применения блок-схем:
1) практическое программирование;
2) теоретическое программирование;
3) учебная и научно-техническая литература1.
Во всех трех сферах используется различная топология блок-схем, унификация отсутствует. Имеющиеся стандарты на блок-схемы относятся только к первой сфере и не касаются двух других. Но главный недостаток состоит в том, что во всех случаях доминируют неформальные блок-схемы.
-
Дальнейшее использование неформальных блок-схем во всех случаях следует признать нецелесообразным. С появлением языка SDL и его модификаций началась эра формальных блок-схем. Однако графический синтаксис известных попыток формализации блок-схем не согласуется с видеоструктурными принципами Дейкстры, а также развитым на их основе шампур-методом и по этой причине нуждается в улучшении.
-
Желательно разработать единый стандарт, регламентирующий визуальный (но не текстовый) синтаксис формальных блок-схем, который должен применяться во всех трех сферах использования блок-схем, обеспечивая тем самым унификацию блок-схем, граф-схем и органиграмм как полезного в познавательном отношении социокультурного феномена, являющегося универсальным инструментом для визуального представления императивных и технологических знаний любой природы, для решения проблемы автоформализации знаний, описания структуры деятельности и т. д.
-
Теоретическое обоснование предполагаемого стандарта должно подразумевать два момента. Во-первых, в основу концепции формализации блок-схем следует положить математический (теоретико-графовый, алгебраический и логический) взгляд на проблему блок-схем. Во-вторых, следует учесть, что в терминах инженерной психологии блок-схемы относятся к классу абстрактных систем отображения информации, которые “служат сенсорной опорой для выполнения человеком логических или математических операций” [16]. Поэтому синтаксис формальных блок-схем следует проектировать с учетом рекомендаций когнитивной эргономики. Поскольку формальные блок-схемы предназначены не только для автоматической обработки в компьютере, но и для зрительного восприятия человеком, постольку их синтаксис следует строить с учетом характеристик зрительного анализатора, учитывать системную организацию человеческого зрения (принцип эргономизации).
-
В эпоху массовой компьютеризации блок-схемы должны создаваться автоматизированным методом с помощью специального графического редактора, в алгоритмах которого будет “спрятан” упомянутый выше стандарт и который, таким образом, станет де-факто гарантом принудительного соблюдения стандарта всеми пользователями. Ручное вычерчивание блок-схем может использоваться лишь как исключение (для набросков, черновиков и эскизов).
-
Правила визуального структурного программирования (или, что одно и то же, визуальный синтаксис языка ДРАКОН) удовлетворяют перечисленным требованиям и, следовательно, могут быть положены в основу проекта упомянутого стандарта, а гарантом его выполнения и единого понимания может стать визуальный ДРАКОН-редактор.