Некоторая критика языка Форт
Оппонентами языка Форт чаще всего бывают программисты, не сумевшие понять его общие идеи и большие возможности. Форт устроен так, чтобы обеспечить максимальную мощь и гибкость языка высокого уровня. Это подразумевает, что функции, которые заранее определены в других языках, в минимальных реализациях языка Форт могут отсутствовать. Например, стандарт языка Форт описывает только простейшие методы обращения с символьными строками, не содержит процедур для работы с матрицами и векторами, не обеспечивает чтение данных из файлов, простейшие реализации не могут обращаться с числами с плавающей запятой (как, например, число 293.45, которое имеет целую и дробную части). Кроме того, считается, что Форт-программу трудно читать и понимать, потому что слова в определениях могут быть названы короткими и загадочными именами. Ни одно из этих критических замечаний в действительности не обосновано, поскольку они относятся к конкретным реализациям и версиям Форта или к программистам, работающим на этом языке.
Поскольку Форт допускает определение слов на языке ассемблера, буквально все, что можно запрограммировать на других языках, может быть сделано и на Форте. Можно даже написать на языке Форт другие языки программирования. А так как на языке Форт легко определяются новые слова, то нетрудно написать процедуры либо на языке ассемблера, либо с помощью других слов Форта, которые отсутствуют в стандарте, т.е., например, слова для работы с символьными строками или матрицами. Работая на языке Форт, вы можете сами определить новые слова, которые нужны для вашей конкретной задачи. Например, если вы однажды определите слово для вычисления определителя матрицы, то в дальнейшем вам не потребуется проделывать это снова. Оно станет частью вашего варианта языка. Различные версии (диалекты) языка можно развивать для удовлетворения потребностей каждого программиста. Форт не очень удобен для сложных действий с числами, если не расширить его специальными словами, то же относится и к работе с символьными строками.
Но если уж вы введете эти расширения, то они будут как раз тем, что вам нужно, поскольку вы сделали их сами. В некоторых поставляемых версиях языка Форт заранее определено больше слов, в других -- меньше. Основная цель этой книги состоит в том, чтобы показать вам, как можно приспособить версию языка, с которой вы работаете, к вашим задачам, например, к обработке символьных строк. Чтобы использовать всю мощь языка Форт, вам необходимо сделать впрок некоторый программный вклад, зато потом вы получите единственный в своем роде язык, который лучше всего подходит для ваших задач. Верно, что читать чужую Форт-программу может быть трудно. Но в этом вина программиста, а не Форта. Если вы применяете загадочные имена для своих слов или записываете их определения очень плотно, не предусматривая пробелов для выделения строк, подчеркивающих логический поток программы, или слишком ленивы, чтобы включать комментарии, то можно гарантировать, что ни вы и никто другой не сможет понять то, что написано. Но если вы стараетесь дать каждому слову общепонятное имя, записываете определения, применяя, где нужно, пробелы, отступы и разбиение по строкам для улучшения удобочитаемости, и, кроме того, побеспокоились о включении в программу комментариев, то вашу Форт-программу можно будет прочитать так же просто, как обычную английскую прозу.
Форт -- это язык, который имеет огромную мощь и гибкость. От программиста же ожидается готовность приспособить язык к своим индивидуальным потребностям, а также глубокое продумывание и тщательное программирование, чтобы написанное вами имело смысл.