Человеческий фактор в программировании.
43. Глубокое понимание.
На что похож объект? Кто его применяет и как? Какую пользу он приносит?
В известном смысле пользователи и обращенные к ним пользовательские интерфейсы есть rаisоn d'еtrе[39] объектной технологии. Именно для решения задач, связанных с графическим представлением информации и взаимодействием пользователя с устройствами, позднее названными электронно-лучевыми дисплеями, Айвен Сазерленд (Ivаn Suthеrlаnd) первым сформулировал многие базовые понятия объектно-ориентированного программирования. Действительно, мой коллега-преподаватель однажды заметил, что почти все, что есть в современной объектной технологии, можно найти в диссертации по Sкеtсhраd, представленной Сазерлендом в 1963 году (Suthеrlаnd, 1963 [61]).
С тех первобытных времен список книг, посвященных объектно-ориенти-рованным методам, вырос до огромных размеров, однако едва ли мы сказали что-то новое о пользователях и пользовательских интерфейсах. Мы хвалимся нашим чудесным бесшовным проектированием и привносим в него термины из прикладных задач, однако наши методы почти не способствуют пониманию пользователей, их языка, а также обучению систем говорить на этом языке.