Программирование компьютеров может свести с ума. Другие профессии дают Вам
прекрасные возможности наблюдать осязаемые результаты Ваших усилий. Часовщик
может смотреть на свои зубчики и колесики, швея -- на швы, ровно ложащиеся
после каждого взмаха иглы. Но программист проектирует, строит и ремонтирует
нечто воображаемое, призрачные механизмы, ускользающие от восприятия органами
чувств. Наша работа происходит не в ОЗУ, не в программе-редакторе, а внутри
нашей головы.
Построение моделей в воображении привлекает и доставляет удовольствие
программисту. Как же лучше к этому подготовиться ? Вооружиться самыми хорошими
отладчиками, декомпиляторами и дизассемблерами ? Они помогают, однако самые
существенные из технологий и инструментов -- умственные. Нам нужна
последовательная и практическая методология для `мышления` на тему задач
программирования. Это и составляет суть того, что я попытался выразить в моей
книге. "Способ мышления ..." предлагается всем, кто заинтересован в написании
программ для решения конкретных задач. Книга рассматривает вопросы
проектирования и применения: принятие решений о том, что Вам нужно сделать,
разработка компонентов системы и, наконец, построение системы.
В книге подчеркивается важность написания программ не просто работоспособных,
но и надежных, логичных и выражающих наилучшее решение проблемы самыми
простыми методами.
Несмотря на то, что описываемые здесь принципы могут быть применены к любому
языку, я представил их в контексте языка Форт. Форт -- это язык, операционная
система, набор инструментов и философия. Это -- идеальное средство для
мышления, поскольку оно соответсвует тому способу, по которому работают наши
головы. Думать на Форте значит думать просто, думать элегантно, думать гибко.
Такое мышление `не` имеет запретительного характера, `не` сложно, `не`
чрезмерно теоретизировано. Вам даже не нужно знать Форт для получения пользы
от этой книги. Книга "Способ мышления -- Форт" сочетает Форт-метод со многими
принципами, выработанными современной компьютерной наукой. Союз между
простотой Форта и традиционной дисциплиной анализа и стилистки даст Вам новый
и лучший способ подхода к задачам программирования и окажет помощь во всех
областях применения компьютеров.
Если Вы хотите узнать больше о Форте, другая моя книга -- "Начальный курс
программирования на языке Форт" -- содержит сведения об этом языке. Кроме
того, такие сведения приводятся в приложении А данной книги.
Несколько слов о плане этой книги. Первая глава посвящена основным
соображениям, далее я провел книгу по основному циклу создания программного
обеспечения: от начальных требований до внедрения. Приложения в конце включают
обзор Форта для тех, кто с ним не знаком, тексты для нескольких описанных в
книге программ, ответы на вопросы и свод соглашений по стилистике.
Многие мысли в этой книге не являются научными. Они основаны на субъективном
опыте и наблюдениях за самим собой. По этой причине я привел в книге интервью
с большим количеством профессионалов, работающих на Форте, и не все из них
полностью согласны друг с другом или со мной. Все эти мнения могут изменяться
изготовителем без специального уведомления. В книге вносятся также
предложения, называемые "советами". Подразумевается, что им следует внимать
лишь тогда, когда они соответствуют Вашей ситуации. В Форт-мышлении нет
нерушимых правил. Для обеспечения возможно большего соответствия возможным
Форт-системам все примеры программ в книге соответствуют стандарту Форт-83.
Личность, в сильной степени повлиявшая на эту книгу -- это человек,
придумавший Форт -- Чарльз Мур. В дополнение к нескольким дням, проведенным за
интервьюированием его для книги, я имел возможность понаблюдать его за
работой. Он -- хозяин своего дела, двигающийся в нем быстро и искусно так, как
будто он физически реализует концептуальные модели внутри машины -- строя,
оттачивая, обыгрывая. Он обходится минимумом инструментов (результат
продолжающейся борьбы против внутренней сложности) и немногими ограничениями,
дополняющими те, которые накладываются его собственной технологией. Я надеюсь,
что эта книга уловила что-то из его мудрости. Пользуйтесь!
Благодарности
Особая признательность всем добрым людям, которые отдали свое время и свои
идеи этой книге, среди них: д-р Марк Бернстейн, Дональд Барджисс, Кери
Кемпбелл, д-р Раймонд Десси, Том Даулинг, Майкл Хэм, Ким Харрис, Дейв Джонсон,
д-р Питер Кожж, Майкл ЛаМанна, Чарльз Х. Мур, д-р Майкл Старлинг и Джон
Телеска.
Спасибо также Джерри Бутеллю, Джеймсу Элфу, Джиму Флорною, фирме Moore
Products Co. и Карен Нельсон.
Печально, что Майкл ЛаМанна покинул этот мир в то время, когда книга еще
писалась. Его глубоко не хватает нам, тем, кто любил его.