Языки программирования. Практический сравнительный анализ



Языки программирования. Практический сравнительный анализ - стр. 118


Повидимому, все эти примеры хорошо известны. Но общая концепция связывания способна привести и к совершенно новому понятию, отсутствующему в традиционных ЯП.

4.4.1. От связывания к пакету (связывание с контекстом, контекст как модуль, пакет)

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

В общем курсе программирования при изучении структур данных знакомят с совокупностью понятий, позволяющих работать со строками. Например, определяют представление строк одномерными массивами и предоставляют несколько операций над строками (скажем, в-строку, из строки и подстрока). Спрашивается, каким образом оформить это интеллектуальное богатство так, чтобы им было удобно пользоваться? Алгол 60 позволяет записать соответствующие объявления массивов и процедур, а тем самым сделать их известными многим программистам (этим свойством Алгола и воспользовались авторы курса по программированию [6], из которого взят пример). В сущности совокупность указанных объявлений массивов, переменных и процедур, выписанная в начале блока, позволяет в теле блока работать на языке, расширенном по сравнению с Алголом (понятием строчных переменных и набором операций над такими переменными).




Содержание  Назад  Вперед