- •Оглавление
- •Глава 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
- •Отзывы о книге в. Паронджанова “Как улучшить работу ума”
Технологические и декларативные знания
Человеческие знания, выраженные с помощью любого письменного языка, можно разбить на две части: технологические1 и декларативные.
Технологические (императивные, процедурные, алгоритмические, операторные) знания содержат сведения о последовательности информационных или физических действий, а также о выборе пути при разветвлении процессов. Примерами являются алгоритмы, компьютерные программы, а также любые технологические процессы (промышленные, сельскохозяйственные, медицинские и т. д.).
Декларативные (дескриптивные, атрибутивные, описательные) — это знания не о действиях, а об описаниях информационных и физических объектов. Примером является типичная запись в базе данных:
Фамилия |
Имя |
Отчество |
Год рождения |
Образование |
Должность |
Семейное положение |
Иванов |
Сергей |
Петрович |
1970 |
высшее |
менеджер |
женат |
Для изложения декларативных знаний представители разных профессий нередко используют различные декларативные языки, в том числе графические (визуальные). Например, декларативные знания конструктора выражаются на языке конструкторских чертежей, электрика — на языке электрических схем, географа — на языке географических карт.
Для наших целей большой интерес представляет вопрос: можно ли создать единый универсальный язык представления профессиональных знаний, удобный для специалистов любой профессии и позволяющий улучшить взаимопонимание между ними? Для декларативных знаний ответ, очевидно, будет отрицательным. Потому что нельзя скрестить ужа с ежом и придумать разумный и полезный гибрид электрической схемы и географической карты (или конструкторского чертежа). Такой путь неизбежно ведет в тупик.
Поэтому придется смириться с выводом, что специалисты разных профессий будут и впредь использовать множество самых разнообразных декларативных языков. Унификация здесь невозможна1.
В отличие от декларативных знаний технологические знания специалистов любого профиля имеют в точности одинаковую структуру, которая нисколько не зависит от конкретной специальности и предметной области. Отсюда проистекает важный вывод: для отображения любых технологических знаний можно использовать один и тот же язык, общий для всех научных и учебных дисциплин. Это обстоятельство является существенным по трем причинам.
Во-первых, создаются благоприятные предпосылки для построения универсального технологического языка, позволяющего выражать любые технологические знания в любой предметной области в ЕДИНОЙ СТАНДАРТНОЙ ФОРМЕ.
Во-вторых, универсальный (в самом широком смысле слова) техноязык мог бы сыграть роль межотраслевого и междисциплинарного языка, содействующего решению важнейшей проблемы, — проблемы взаимопонимания между учеными и специалистами.
В-третьих, средства для описания структуры деятельности, технологические знания играют особую роль в человеческой жизни. В самом деле, человек — деятельное существо. От рождения до смерти он непрерывно действует. Деятельность выражает сущность жизни. Бездеятельность — это смерть. Поэтому знания о структуре деятельности (технологические знания) составляют важнейший компонент человеческих знаний, их основу. Можно предположить, что в системе человеческих знаний технологические знания играют фундаментальную роль — роль несущей конструкции или каркаса, который скрепляет между собой (склеивает, цементирует) отдельные фрагменты декларативных знаний. Сказанное хорошо согласуется с известным мнением, что “большинство знаний об окружающем мире можно выразить в виде процедур или последовательности действий, направленных на достижение конкретных целей” [13].
Социально-экономические успехи общества сильно зависят от разработки и внедрения новых технологий. Между тем способы описания структуры деятельности и новых технологических процессов, используемые специалистами-технологами (в широком смысле слова), недостаточно формализованы и слабо используют опыт, накопленный в алгоритмизации и программировании. С другой стороны, многие математики, алгоритмисты и программисты испытывают серьезные затруднения при необходимости наглядно и доходчиво описать сущность, структуру и содержание предлагаемых математических решений, алгоритмов и создаваемых программных комплексов и передать соответствующие знания другим людям.
В обоих случаях одна из причин этого негативного явления заключается в отсутствии подходящего формального языка, способного не только описать проблему и ее решение, но и обеспечить высокоэффективное интеллектуальное взаимопонимание и производственное взаимодействие между людьми, что особенно важно при создании крупномасштабных проектов. Нужда в таком языке весьма велика.
Изложенные соображения позволяют сделать два вывода. Во-первых, создание технологического языка является осуществимой задачей. Во-вторых, искомый язык следует строить, в первую очередь, как язык формализации именно технологических (а не декларативных) профессиональных знаний. При этом проектирование и программирование на императивных (процедурных) языках: псевдоязык, Бейсик, Паскаль, Си, язык ассемблера и т. д. можно рассматривать как частный случай более общей проблемы — формализации технологических знаний и описания структуры деятельности.