Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

Язык программирования (и ОС) ФОРТ (FORTH) Лео Броуди перевод Thinking FORTH в html


Информационный Канал Subscribe.Ru

Лео Броуди

Способ мышления -- Форт

Язык и философия для решения задач

Leo Brodie

Thinking FORTH

A Language and Philosophy for Solving Problems

Englewood Cliffs, N.J., Prentice-Hall, Inc., 1984

Перевод с английского С.Н.Дмитренко (Москва, 1993 г.)


Лео Броуди -- писатель, программист и консультант, авторитет мирового масштаба в области языка программирования Форт. Он был техническим программистом в фирме FORTH, Inc. а с 1981 года стал независимым консультантом для фирм IBM, NCR и Lockheed. Он является также автором книги Starting FORTH, Prentice-Hall, 1981 (перевод: "Начальный курс программирования на языке Форт", M: Финансы и статистика, 1990).
Посвящается Стефани, Брэндому и Раяну.
"Невозможно отделить язык от науки или науку от языка, поскольку любая естественная наука всегда использует три вещи: последовательность феноменов, на которые она опирается, краткие описания -- концепции этих феноменов, которыми они представляются в мышлении, и слова, в которых выражаются концепции. Для движения к концепции необходимо слово; для описания явления необходима концепция. Все три отражают одну и ту же реальность."

Антони Лавуазье, 1789.


От переводчика

Предисловие

Глава 1. Философия Форта

   Сказание об истории элегантности программ ......... 1
   Поверхностность структуры ......................... 16
   Взгляд назад, вперед и на Форт .................... 17
   Программирование на уровне компонентов ............ 19
   От кого прятать? .................................. 23
   Упрятывание конструкции структур данных ........... 24
   Но высокоуровневый ли это язык? ................... 26
   Язык проектирования ............................... 28
   Производительный язык ............................. 29
   Итоги ............................................. 31
   Литература ........................................ 32

  Глава 2. Анализ .................................... 33
   Девять фаз цикла программирования ................. 33
   Итеративный подход ................................ 34
   Объем планирования ................................ 36
   Ограничения планирования .......................... 39
   Фаза анализа ...................................... 42
   Определение интерфейсов ........................... 45
   Определение правил ................................ 50
   Определение структур данных ....................... 59
   Достижение простоты ............................... 59
   Соблюдение бюджета и графика ...................... 64
   Смотрины для концептуальной модели ................ 66
   Литература ........................................ 66

  Глава 3. Предварительный проект / декомпозиция ..... 67
   Декомпозиция по компонентам ....................... 67
   Пример: Крошечный Редактор ........................ 70
   Поддержка задачи, основанной на компонентах ....... 74
   Проектирование и поддержка задачи
     при традиционном подходе ........................ 76
   Интерфейсный компонент ............................ 81
   Разбиение по последовательным уровням сложности ... 85
   Ограниченность мышления по уровням ................ 87
   Резюме ............................................ 92
   Для дальнейшего размышления ....................... 93

  Глава 4. Детализированная разработка/решение задачи  96
   Техника решения задач ............................. 97
   Интервью с изобретателем-программистом ............ 103
   Детализированная разработка ....................... 105
   Синтаксис Форта ................................... 106
   Алгоритмы и структуры данных ...................... 115
   Расчеты или структуры данных или логика ........... 116
   Решение задачи: вычисление римских цифр ........... 118
   Итоги ............................................. 132
   Литература ........................................ 132

  Глава 5. Разработка: элементы Форт-стиля ........... 133
   Организация листингов ............................. 134
   Оформление блока .................................. 144
   Соглашения по комментариям ........................ 149
   Вертикальный формат записи против горизонтального . 161
   Выбор имен: искусство ............................. 164
   Стандарты при выборе имен: наука .................. 170
   Еще советы по читабельности ....................... 171
   Итоги ............................................. 173
   Литература ........................................ 173

  Глава 6. Фрагментация .............................. 174
   Техника факторизации .............................. 174
   Критерии для фрагментации ......................... 181
   Факторизация при компиляции ....................... 193
   Итеративный подход при реализации ................. 198
   Итоги ............................................. 202
   Литература ........................................ 202

  Глава 7. Работа с данными: стеки и состояния ....... 203
   Шикарный стек ..................................... 203
   Шикарный стек возвратов ........................... 213
   Проблема переменных ............................... 214
   Локальные и глобальные переменные / инициализация . 217
   Сохранение и восстановление состояния ............. 218
   Внутренние стеки программ ......................... 220
   Совместное использование компонентов .............. 221
   Таблица состояния ................................. 223
   Векторизованное исполнение ........................ 228
   Использование DOER/MAKE ........................... 232
   Итоги ............................................. 235
   Литература ........................................ 236

  Глава 8. Минимизация структур управления ........... 237
   Что же такого плохого в структурах управления ..... 237
   Как устранять структуры управления ................ 242
   Выбор структур управления ......................... 248
   Итоги ............................................. 275
   Литература ........................................ 275

  Эпилог: Воздействие Форта на мышление .............. 276

  Приложение А: Обзор Форта (для новичков) ........... 279
  Приложение Б: Определение DOER/MAKE ................ 283
  Приложение В: Другие утилиты, описанные в этой книге 289
  Приложение Г: Ответы на задачи
    "для дальнейшего размышления" .................... 291
  Приложение Д: Свод стилистических соглашений ....... 293

Subscribe.Ru
Поддержка подписчиков
Другие рассылки этой тематики
Другие рассылки этого автора
Подписан адрес:
Код этой рассылки: comp.soft.prog.forth
Отписаться
Вспомнить пароль

В избранное