Привлечение возможностей программирования
Предоставление пользователю возможности программировать в процессе его работы с какой-либо автоматизированной прикладной программой может способствовать значительному повышению эффективности использования системы. Все постоянно повторяющиеся процедуры лучше всего автоматизировать. Задаваемые пользователем текстовые позиции, указывающие места выполнения некоторых операций по редактированию, могут варьироваться в зависимости от контекста (как это происходит при вызове команды, разбивающей текст на страницы), поэтому для их определения можно использовать условные операторы языка программирования.
Простой формой применения так называемого программирования является автоматическая расшифровка аббревиатур. Пользователь вводит аббревиатуру в ЭВМ, нажимает специальную клавишу (возможно, ему даже не нужно самому вводить аббревиатуру, а лишь нажать определенную клавишу, используемую для «расшифровки» только данной конкретной аббревиатуры), и система автоматически заменяет аббревиатуру на определяемый ею текст независимо от длины последнего. Вполне очевидно, что с помощью «расшифровки аббревиатур» при работе с системами, представляющими текст с внутритекстовым форматирующим кодом, можно и вставлять в текст информацию по форматированию. Кроме того, некоторые системы позволяют даже использовать в качестве объектов процесса «расшифровки» обычные команды вызова операций редактирования, таким образом, вызов объекта не только обеспечивает вставку в документ соответствующего текста, но и позволяет выполнять произвольные операции редактирования.
Другой формой программирования является выполнение операции по глобальной замене, которая была описана выше. К программированию относится и использование макрокоманд, помещаемых непосредственно в текст документа, которые могут оказывать воздействие на его содержание и внешний вид. Макрокоманды применяются главным образом при работе с системами, использующими процедурный, а не дескриптивный язык форматирования, хотя теоретически это возможно в обоих случаях.
И наконец, существует еще один тип программирования, который характеризуется тем, что программы, представляющие собой набор операторов редактирования, не заложены в память, используемую программой автоматической расшифровки аббревиатур, и не закодированы в тексте самого документа, а хранятся каким-то иным способом. Выполнение таких программ приводит к самым разнообразным сложным воздействиям на текст документа. Написаны они могут быть на любом из доступных языков программирования, но в общем случае включают операторы, выполняющие те же функции, что и команды, характерные для систем редактирования текста. Так как большинство пользователей испытывают определенные трудности с программированием, несколько упростить их работу позволяет применение метода, при котором «написание» пользователем программы сводится лишь к тому, что он на примере демонстрирует системе, что она должна сделать. Данный метод носит название «программирование на примерах» [22].