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


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


Ведь надежная программа должна вести себя разумно в любых ситуациях.

Важно понимать, что без априорных правил поведения исполнителя не обойтись. Ведь если программист захочет все предусмотреть, он должен планировать проверку соответствующих условий. Но исключительные ситуации могут возникнуть в процессе исполнения программы проверки! Так что чисто программным путем задачу не решить.

Нужно предусмотреть общие правила поведения исполнителя при исключительных ситуациях (дающие возможность и здесь разумно сочетать абстракцию с конкретизацией). А именно, с одной стороны, концентрироваться на специфике планируемого процесса, абстрагируясь от редких, необычных или относящихся к другой сфере ситуаций; с другой стороны, при необходимости управлять поведением исполнителя в таких ситуациях, конкретизируя его поведение по сравнению с общими правилами с учетом реальной ситуации.

В жизни примерами  "общих правил" служат обязанность доложить начальству, вызвать пожарную команду по телефону 01, милицию - по 02, скорую помощь - по 03, а также инструкции по оказанию неотложной помощи пострадавшим, мобилизационное предписание и т.п..

Пример конкретизации - подробный план эвакуации людей из помещения при пожаре, план мобилизационных и эвакуационных мероприятий на случай войны, перечень занятий дежурного при отсутствии телефонных звонков (для него обычная работа - отвечать на телефонные звонки, а их отсутствие - "необычная ситуация"; такой перечень "планирует его поведение" в необычной ситуации).

 

4.21.2. Языковые конструкты

Вернемся к ЯП и рассмотрим аппарат, обслуживающий описанную технологическую потребность (управлять поведением исполнителя в  необычных ситуациях). Аналогом житейской необычной ситуации служит  исключение (исключительная ситуация, exception). Концепция исключения в ЯП содержательно  имеет много общего с концепцией аппаратного внутреннего прерывания, однако могут быть и существенные отличия. Ближе всего к понятию прерывания трактовка исключений в языке ПЛ/1.


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