
- •Владимир Паронджанов
- •Оглавление
- •Глава 1: На подступах к новому языку 25
- •Глава 2: Можно ли создать язык, улучшающий понимание и взаимопонимание? 29
- •Глава 3: Соображения, повлиявшие на создание языка Дракон 32
- •Глава 4: Понимание и взаимопонимание – ключевые проблемы информатики 43
- •Глава 5: Проблема улучшения работы ума: новый когнитивный подход 47
- •Глава 6: Изюминки языка Дракон 56
- •Глава 7: Эргономичные алгоритмы 77
- •Глава 8: Визуализация циклов 96
- •Глава 9: Визуализация логических формул 111
- •Глава 10: Что такое эргономичный текст? 122
- •Глава 12: Дружелюбное Программирование 142
- •Глава 17: Исчисление икон и попытка предсказать будущее 214
- •Глава 18: Место языка Дракон в системе человеческой культуры 223
- •Глава 19: Возможна ли эргономизация математики? 236
- •Глава 20: Можно ли стать интеллектуальным суперменом? 252
- •Глава 1 271
- •Легкомысленный словарик
- •Третий глаз для бизнесменови руководителей
- •Интеллектуальный терроризм: фантазия или реальность?(Вместо предисловия)
- •Почему умные люди страдают и гибнут?
- •Разве такая проблема существует?
- •Информационный стресс – зловещий спутник информационного общества
- •Камикадзе умственного труда
- •Что такое интеллектуальный терроризм?
- •Гуманитарная постановка задачи
- •Компьютерная мифология: облегчают ли компьютеры умственный труд?
- •Что такое интенсификация интеллекта?
- •Критерий Декарта и эргономизация науки
- •О чем эта книга?
- •Секреты мудрого дракона: объяснение на пальцах
- •Притча о том, как Господь Бог языки создавал
- •Смена терминов или изменение концепции?
- •Самая сложная вещь на свете
- •Зачем Дракону две головы?
- •Вы правы. Язык программирования — ваш враг. Но дракон— не язык программирования.Дракон— ваш друг
- •Справка о состоянии дел
- •Глава1: На подступах к новому языку
- •Зачем нужен язык Дракон?
- •В чем секрет Дракона? — в когнитивном подходе
- •Почему люди не интересуются собственным мозгом?
- •Станет ли Дракон чемпионом мира по критерию «понимаемость алгоритмов»?
- •На кого рассчитан язык Дракон?
- •Перечень задач, решаемых с помощью языка Дракон
- •Глава 2: Можно ли создать язык, улучшающий понимание и взаимопонимание?
- •Почему специалисты не понимают друг друга?
- •Язык Дракон как «эксперанто» делового мира
- •Что такое интеллектуальное взаимопонимание?
- •В чем особенность Дракона?
- •Глава3: Соображения, повлиявшие на создание языка Дракон
- •Что важнее: компьютеры или человеческий мозг?
- •Что такое производительность умственного труда?
- •Зависит ли производительность персонала от производительности компьютеров?
- •Можно ли увеличить скорость работы человеческого мозга?
- •Проблема формализации профессиональных знаний
- •Можно ли обойтись без когнитологов?
- •Чем отличается алгоритм от технологического процесса?
- •Что такое технологический язык?
- •Технологические и декларативные знания
- •Почему нельзя жить по-старому?
- •Социальные технологии и электронные методологии
- •Методология быстрой разработки системRad
- •Схемы действий и язык Дракон
- •Необходимость культурных изменений
- •Техноязык как элемент струкутуры
- •Глава 4: Понимание и взаимопонимание – ключевые проблемы информатики
- •Отсутствие понимания ведет к миллионным убыткам
- •Издевательство над здравым смыслом под названием «Абсолютная правильная программа»
- •Спецификации программ – вот главный «Гадючник»!
- •Спецификации программ и методология rad
- •Концепция когнитивного программирования
- •Глава 5: Проблема улучшения работы ума: новый когнитивный подход
- •Текст как зрительная сцена
- •Симультанное и сукцессивное восприятие
- •Когнитивный недостаток текстового представления знаний
- •Каким должен быть формат диосцены?
- •Когнитивные рекомендации
- •Зачем нужны психологические эксперименты?
- •Ошибка Джеймса Мартина
- •«Это чудакам-инженерам нужны большие чертежи, а мы, хитрецы-программисты, обойдемся маленькими»
- •Возможна ли стретегическая реформа мировой практики программирования
- •Глава6: Изюминки языка Дракон
- •Критика блок-схем
- •Преимущества Дракон-схем
- •Иконы и макроиконы
- •Зачем нужна ветка?
- •Как работает ветка?
- •Как следует располагать ветки в поле чертежа?
- •Что такое шапка?
- •Что лучшее: примитив или силуэт?
- •Как описать силуэт с помощью текстового языка?
- •Есть ли в алгоритме «Царская дорога»?
- •Главный маршрут силуэта
- •Пересечения линий? — боже упаси!
- •Визуальный и текстовый синтаксис Дракона
- •Семейство Дракон-языков
- •Глава 7: Эргономичные алгоритмы
- •Визуальная проверка алгоритмов
- •Что такое эргономичный алгоритм?
- •Чем отличается икона “Вопрос” от развилки?
- •Маршруты и формулы маршрутов
- •Что такое рокировка?
- •Использование рокировки для улучшения эргономичности
- •Вертикальное и горизонтальное объединение
- •Эргономичность литеральных алгоритмов
- •Что делать, если эргономические требования противоречат друг другу?
- •Икона-вставка как эргономический прием
- •Что такое подстановка?
- •Улучшение эргономичности алгоритмов с помощью цепочки эквивалентных преобразований
- •Глава8: Визуализация циклов
- •Обычный цикл
- •Переключатель и переключающий цикл
- •Цикл Для
- •Веточный цикл
- •Главный маршрут силуэта
- •Глава 9: Визуализация логических формул
- •Визуализация функции и
- •Визуализация функции или
- •Визуализация функции не
- •Визуализация сложных логических функций
- •Глава 10: Что такое эргономичный текст?
- •Можно ли сделать логические выражения эргономичными?
- •Пример для исследования эргономичности логических выражений
- •Логическое выражение с абстрактными идентификаторами
- •Логическое выражение с короткими смысловыми идентификаторами
- •Логическое выражение с длинными смысловыми идентификаторами
- •Важный момент, о котором часто забывают
- •Как присвоить значение логической переменной?
- •Правила записи рамочных логических выражений
- •Как построить эргономичный логический текст?
- •Г лава 11: Визуальные операторы реального времени
- •Список операторов реального времени
- •Операторы ввода-вывода
- •Оператор “Пауза”
- •Операторы “Пуск таймера” и “Синхронизатор”
- •Цикл Ждать
- •Оператор “Период”
- •Оператор “Параллельный процесс”
- •Особенности операторов реального времени
- •Глава 12: Дружелюбное Программирование
- •Гибридный язык программирования Дракон-Си
- •Гибридный язык программирования Дракон-Модула
- •Пример эргономической оптимизации программы
- •Диалоговые программы
- •Оператор “Сообщение”
- •Оператор “Запрос”
- •Описание данных
- •Идентификаторы
- •Примеры правильных идентификаторов
- •Примеры неправильных идентификаторов
- •Пример сокращения длины сложного понятия
- •Правила записи арифметических выражений в операторах присваивания
- •Обработка массивов
- •Абстрактные Дракон-схемы
- •Философия языка Дракон
- •Классификация знаний
- •Глава 13: Человеческая деятельность и формализация знаний: живописные примеры
- •Что такое профессиональные знания?
- •Учебные экспертные системы
- •Учебная экспертная система (программа на языке бейсик)
- •Визуализация экспертных систем
- •Визуализация описания технологических процессов
- •Что такое методология?
- •Визуализация методологий
- •Система “Человек—машина”
- •Визуализация биологических алгоритмов
- •Визуализация медицинских алгоритмов
- •Другие примеры визуализации
- •Описание структуры деятельности
- •Нужен ли стандарт для описания деятельности?
- •Глава 14: Визуальный дракон-редактор
- •Зачем нужен Дракон-редактор?
- •Заготовка-примитив и заготовка-силуэт
- •Что такое атом?
- •Пример построения Дракон-схемы «Примитив»
- •Операция «Пересадка лианы»
- •Операция “Заземление лианы”
- •Пример построения Дракон-программы «Силуэт»
- •Формирование надписей «Да» и «Нет»
- •Глава 15: Описание визуального синтаксиса языка Дракон
- •Общие понятия
- •Шампур-блок
- •Операция «Ввод атома»
- •Дополнительные сведения об атомах
- •Критические и нейтральные точки
- •Правила использования операции “ввод атома” при построении дракон-схемы
- •Операция с лианой
- •Пересадка лианы
- •Заземление лианы
- •Прочие операции
- •Основные результаты
- •Глава 16: Визуальное структурное программированиее
- •Постановка проблемы
- •Историческая справка
- •Отживающий метод?
- •Прав ли Игорь Вельбицкий?
- •Четыре принципа структуризации блок-схем, предложенные э.Дейкстрой
- •Почему научное сообщество не приняло видеоструктурную концепцию э.Дейкстры?
- •Парадокс структурного программирования
- •Плохие блокс-схемы или плохие стандарты?
- •Блок-схемы и теоретическое программирование
- •Новые цели стандартизации блок-схем
- •Чем отличаются блок-схемы от Дракон-схем?
- •В чем сходство визуального и текстового структурного программирования?
- •В чем различие визуального и текстовго структурного программирования? Структурные, лианные и адресные блоки
- •Операции с лианой и оператор goto
- •Является ли текстовое структурное программирование формальным методом?
- •Почему самолет не машет крыльями?
- •Глава 17: Исчисление икон и попытка предсказать будущее
- •Визуальное логическое исчисление
- •Общеизвестные сведения о математической логике
- •Об одном распространенном заблуждении
- •Принцип абсолютизации текста
- •Визуализация понятий математической логики
- •Исчисление икон
- •Еще раз о шампур-методе
- •Шампур-схема как абстрактная модель программы
- •Преобразование шампур-схемы в шампур-программу
- •Шампур-метод и докуазательство правильности программ
- •Возможна ли теория визуального программирования?
- •Гипотеза о будущем императивных языков программирования
- •Визуализация логики и интенсификация интеллектуальной деятельности
- •Глава 18: Место языка Дракон в системе человеческой культуры
- •Между сциллой и харибдой
- •Принцип структуризации деятельности
- •Генеральная концептуальная схема
- •Проблема деятельности в эргономике
- •Искусственный интеллект: алгоритмизация – это ночной кошмар!
- •Специалисты по ии: долой алгоритмизацию!
- •Инженерные психологи: алгоритмизация деятельности — наше спасение!
- •Работники образования: алгоритмизация — это хорошо!
- •Кто же прав: декларативисты или императивисты?
- •Эргономический анализ проектно-конструкторской деятельности
- •Подводные камни проектно-конструкторской деятельности
- •Почему взорвался Чернобыльский реактор? Традиционный подход к анализу причин чернобыльской аварии
- •Возможна ли гарантоспособная деятельность?
- •Принцип проектирования гарантоспособной деятельности
- •Гарантоспособный совокупный работник
- •Главное зло — плохо спроектированная деятельность творческого персонала
- •Сон разума рождает чудовищ
- •Интенсификация интеллекта и языки программирования
- •Улучшение работы ума — проблема номер один
- •Глава 19: Возможна ли эргономизация математики?
- •Почему Джойн фон Нейман провалился на экзамене?
- •Существует ли пропасть между математикой и эргономикой?
- •Алгебра Диофанта
- •Эргономический анализ алгебры Диофанта
- •Эргономизация алгебры после Диофанта
- •Осознание полезности эргономического поворота в математике
- •Эргономическая победа Лейбница
- •Методологическая ошибка историков математики
- •Аналогия между математической Диосценой и панелью отображения информации
- •Математическая и эргономическая эффективность
- •Как повысить производительность математического труда?
- •Два метода визуализации математики
- •Проект «Когнитивный стиль»(cognistyle)
- •Пример математической визуализации с помощью методаCognistyle
- •Глава 20: Можно ли стать интеллектуальным суперменом?
- •На пороге создания теории улучшения работы ума
- •Человеческий мозг нужно грамотно проектировать
- •Разгадка тайны человеческого интеллекта
- •Развитие и интенсификация интеллекта
- •Знаковая и предметная информация
- •Знаковое и предметное обеспечение информатики
- •Знаковая и предметная программа
- •Переломная веха в истории информатики
- •Одноглазые миссионеры, или заброшенное дитя информатики
- •Когнитивная письменность — новый способ представления знаний
- •“Кастрированный” интеллект
- •Что такое проектоника?
- •Проектоника и искусственный интеллект
- •Особенности проектоники
- •Микроинформация и микроителлект
- •Стратегическая интеллектуальная инициатива
- •Дорога в будущее(Вместо заключения) Интеллектуальные трудности как глобальная проблема
- •Вызов интеллектуального терроризма
- •Бессилия интеллекта
- •Цель — значительное улучшение интеллекта
- •Список литературы Интеллектуальный терроризм: фантазия или реальность?
- •Глава 1
- •Глава 3
- •Глава 5
- •Глава 6
- •Глава 13
- •Глава 16
- •Глава 17
- •Глава 18
- •Глава 19
- •Глава 20
- •Internet: http://www.Delo.Ane.Ru
В чем сходство визуального и текстового структурного программирования?
Можно предложить девять правил, устанавливающих соответствие между понятиями шампур-метода и классического структурного кодирования.
Понятие “функциональный атом” (рис. 122) эквивалентно понятиям “функциональный узел”, “функция” [3] и “узел обработки” [5], используемым в литературе по структурному программированию.
Макроикона “развилка” (рис. 122), в которую произведен ввод функционального атома в левую или обе критические точки, эквивалентна конструкциям if-then и if-then-elseсоответственно [3] — см. также две верхние графы на рис. 131.
Макроикона “обычный цикл” (рис. 122), в которую произведен ввод функционального атома в одну или обе критические точки, эквивалентна конструкциямdo-until,while-do,do-while-doсоответственно [3] — см. две нижние графы на рис. 131.
Непустая макроикона “переключатель” (рис. 122), в которую введено нужное число икон “вариант” с помощью операции “добавление варианта”, эквивалентна конструкции case[2] — см. рис. 131.
Непустая макроикона “цикл ДЛЯ” (рис. 122) эквивалентна циклуforязыкаСИ.
Непустая макроикона “переключающий цикл” (рис. 122), в которую введено нужное число икон “вариант”, эквивалентна циклу с вложенным оператором саse, используемым, например, при построении рекурсивных структурированных программ по методу Ашкрофта—Манны [3].
Шампур-блок — видеоструктурный эквивалент понятия “простая программа” [3].
Атом — общее понятие для основных составляющих блоков, необходимых для построения программы согласно структурной теореме Бома и Джакопини [1]. Оно охватывает также все элементарные структуры структурного кодирования, кроме последовательности [3] (последняя в шампур-методе считается неэлементарной структурой).
Операция “ввод атома” позволяет смоделировать две операции: во-первых, построить последовательность из двух и более атомов, во-вторых, методом заполнения критических точек осуществить многократное вложение составных операторов друг в друга, благодаря чему единственный функциональный блок “постепенно раскрывается в сложную структуру основных элементов”.
Воспользуемся термином “базовые операции” для обозначения операций “ввод атома”, “добавление варианта” и “боковое присоединение”. Применяя к заготовке-примитиву базовые операции любое число раз, мы всегда получим структурную дракон-схему в традиционном смысле слова.
В чем различие визуального и текстовго структурного программирования? Структурные, лианные и адресные блоки
Шампур-метод позволяет строить как структурные, так и метаструктурные (лианные) программы. Выше мы выяснили, что базовые операции моделируют классическое структурное кодирование. Чтобы смоделировать полезные функции оператора goto, в шампур-методе предусмотрены операции “пересадка лианы” и “заземление лианы”.
Введем три понятия.
Структурный блок— шампур-блок, построенный только с помощью базовых операций, без использования действий с лианой.
Лианный блок— шампур-блок, полученный из структурного блока с помощью операции “пересадка лианы”.
Адресный блок— результат преобразования структурного блока с помощью операции “заземление лианы” и, возможно, “пересадка лианы”. Адресный блок используется только в силуэте и представляет собой многоадресную ветку (или ее нижнюю часть). Он имеет один вход и не менее двух выходов, присоединенных к нижней горизонтальной линии силуэта через иконы “адрес”.
В примитиве могут использоваться только структурные и лианные блоки (рис. 133, 134), в силуэте — все три типа блоков: структурные, лианные и адресные (рис. 135, 136)24.