Вообще, Паскаль я изучил в 9-м классе как практичный язык для олимпиадного программирования (ибо отлаживать программы в Turbo C было невозможно). Изучение прошло в два этапа: сначала я прочёл встроенный help, а потом (на городской олимпиаде) на практике попробовал его в действии. (Около получаса искал, как Real превратить в Integer; в конце концов нашёл trunc() и долго ругался, почему явное приведение типа такого сделать не может.) Где-то в ту пору попала ко мне в руки упомянутая в заголовке книга Фаронова. Правда, я её так и не дочитал в связи с кретинскими примерами, об одном из которых и пойдёт речь.
Итак, раздел про интерфейсы пользователя на Turbo Vision, самая первая глава. Начинается высокими фразами о том, что интерфейс пользователя играет большую роль в удобстве использования программы, что интерфейс должен быть хорошо продуман и т.д.
Далее предлагается пример: написать простенькую телефонную книгу (одна таблица с полями «имя» и «телефон», возможно ещё «адрес»). Интерфейс у этой программы действительно простой и гениальный.
Во-первых, меню. Есть два основных пункта, «File / Open» и «Work». Используя первый, мы открываем файл… но больше ничего не происходит. А вот после выбора второго программа считывает выбранный файл и отображает список телефонов в нём. (В более поздних вариантах этого примера интерфейс был улучшен тем, что после «File / Open» пункт «Work» выбирался автоматически. Но никуда не делся из меню.)
Во-вторых, сама записная книжка. Мы имеем на экране список телефонов и фамилий. Как же с ним что-то сделать?? Хорошие интерфейсы всегда гениально просты. В этом, например, нужно его закрыть. То есть, нажать ESC или щёлкнуть по кнопке закрытия окошка. Обычные интерфейсы при этом и вправду закрывают окошко. Но поскольку у нас гениальный интерфейс, окошко не закрывается. Наоборот, поверх появляется другое окошко с надписью «Выберите продолжение». Варианты обычные - создать запись, удалить, редактировать, выйти из программы.