Язык программирования Форт


Что такое Форт ? - часть 2


Если вы знакомы с компиляцией в других языках программирования, то заметите, что форт осуществляет ее совершенно по-другому. В и мы подробно рассмотрим, как работает компилятор шитого кода. В книге Лулигера (1981) рассматриваются некоторые теоретические вопросы разработки интерпретирующих языков, использующих шитый код. Теперь мы можем понять причину многих достоинств языка Форт: программирование в диалоговом режиме, гибкость, большая скорость, минимальные потребности памяти и такое же полное управление оборудованием компьютера, какое доступно ассемблеру или машинному языку. Вы уже убедились в больших возможностях общения с языком на примерах и упражнениях этой главы. Большое преимущество в скорости работы перед другими интерактивными языками объясняется тем, что последние, как правило, интерпретирующие.


рис. 1.3

Поскольку интерпретация включает в себя преобразование кода программы в машинный код строчка за строчкой во время исполнения программы, то и Форт, и любой другой компилирующий язык должны работать намного быстрее. Скорость их работы складывается из нескольких компонент. Во-первых, использование стека позволяет сэкономить время на извлечение переменных из памяти, если выполняются операции с числами. Во-вторых, переход от примитива к примитиву и от слова к слову также занимает очень мало времени. В-третьих, в процессе исполнения программы Форт делает только минимальную проверку ошибок, поэтому не подключаются никакие "скрытые" программы для их обнаружения, например, если вы пытаетесь разделить число на 0. Проверка ошибок целиком возлагается на программиста. Поскольку Форт-программа составляется и отлаживается слово за словом, это может при отладке сильно мешать, поэтому проверку ошибок можно предусматривать "по обстоятельствам". Наконец, программируя на Форте, приходится отчетливо представлять себе и учитывать, что и как делает компьютер, поэтому программа получается более эффективной.

Очень малая потребность в памяти, присущая Форту, вызывается применением шитого кода.


- Начало -  - Назад -  - Вперед -