Язык Форт и его реализации [Сергей Николаевич Баранов] (docx) читать постранично

-  Язык Форт и его реализации  (и.с. ЭВМ в производстве) 226 Кб скачать: (docx) - (docx+fbd)  читать: (полностью) - (постранично) - Сергей Николаевич Баранов - Николай Романович Ноздрунов

Книга в формате docx! Изображения и текст могут не отображаться!


 [Настройки текста]  [Cбросить фильтры]

ПРЕДИСЛОВИЕ
 
Язык программирования Форт (англ. forth - вперед и одновременно сокращение от fourth - четвертый), которому посвящена эта книга, появился в начале 1970-х гг. в США. Его изобретатель Чарльз Мур первоначально применил его для разработки программного обеспечения микроЭВМ, управляющей работой радиотелескопа [27]. Преимущества работы с языком Форт вместо применявшегося ранее Ассемблера были настолько велики, что вскоре он стал использоваться и на других специализированных ЭВМ.
 
Быстрый рост популярности языка Форт начался с середины 1970-х гг., когда появились персональные ЭВМ. Оказалось, что этот язык позволяет обходиться сравнительно небольшим набором возможностей первых персональных ЭВМ, превращая их в удобный и эффективный инструмент для самой разной работы. К середине 1980-х гг. Форт выдвинулся на третье место после языков Бейсик и Паскаль в качестве средства программирования для персональных ЭВМ, и рост его применения продолжается [7, с.54]. Широкое распространение получили коммерческие программные продукты, написанные на Форте: системы обработки текстов, пакеты машинной графики, трансляторы, видеоигры [24, 30]. Стихийно быстрое распространение Форта и его практический успех обусловили необходимость стандартизации языка. В 1983 г. был опубликован стандарт "Форт-83" [3, 23, 26], в соответствии с которым ведется изложение материала в этой книге.
 
Едва появившись, Форт вызвал ожесточенные споры среди профессионалов-программистов, обсуждавших, в частности, является ли Форт еще одним языком (если языком, то какого уровня - высокого или низкого), операционной системой, интерпретатором или компилятором. Одни считали Форт шагом вперед в развитии программирования, другие - ошибочным выбросом в сторону. К настоящему времени становится ясным, что Форт представляет собой самостоятельный унифицированный подход к разработке программного обеспечения, который действительно позволяет решать практические задачи - от небольших игровых программ до больших систем программного обеспечения, работающих в реальном времени [21; 7, с.56]. Унификация состоит в том, что Форт предполагает последовательное и систематическое использование очень небольшого числа "правил". Например, "мостом" между аппаратурой и прикладной задачей служит всего один язык программирования (Форт), в то время как при традиционном подходе этот разрыв заполняется в несколько приемов разнородными инструментальными средствами (ассемблер, универсальные языки высокого уровня, проблемно-ориентированные языки, средства операционной системы).
 
Система программирования на Форте (форт-система) обычно обеспечивает полный набор средств поддержки для разработки и исполнения программ: операционную систему, интерпретатор для диалогового исполнения, компилятор, ассемблер, текстовый редактор и обслуживающие программы. Все эти компоненты являются расширениями Форта и написаны на том же Форте. Таким образом, Форт является одновременно и системой для пользователя, и собственной метасистемой, т.е. системой, описывающей саму себя (см. приложение 1). В соответствии с общим принципом Форта в форт-системе используется минимум правил и накладывается минимум ограничений, т.е. она обходится почти без синтаксиса, жестко контролируемых интерфейсов для взаимодействия модулей, закрытых для пользователя областей памяти, имеет лишь незначительный по объему встроенный контроль ошибок. Это обеспечивает максимум возможностей для программиста, включая возможность изменять, добавлять или удалять любую часть системы, позволяет расширять систему в заданном направлении и вместе с тем сохраняет ее относительную независимость от аппаратуры.
 
Разумеется, Форт имеет и свои недостатки. Многие программисты считают, что форт-тексты трудно читаемы из-за применяемой в Форте обратной польской формы и различных неочевидных манипуляций со стеком. В некоторых форт-системах отсутствуют средств для получения независимого программного продукта. Вызывает возражение отсутствие контроля типов при взаимодействии модулей и незащищенность форт-системы от неправильных действий программиста. В то же время становится ясно, что методология Форта находится в общем русле поисков в области технологии программирования, хотя в настоящее время практически отсутствуют работы по методологическим и технологическим аспектам его применения, сравнимые по значимости с исследованиями для традиционных языков [13, 14, 19].
 
В целом цикл разработки программного продукта остается неизменным: анализ, проектирование, программирование, отладка. Однако лишь на первых двух этапах применяется традиционная технология "сверху - вниз". Программирование и отладка ведутся по методу "снизу - вверх". Благодаря этому отпадает необходимость в модулях-заглушках и в повторных тестированиях всего комплекса программ при заменах заглушек на действительные модули, что сокращает время прохождения всего цикла и позволяет выполнить его