Книга: Архитекторы компьютерного мира
Алан Кэй Автор объектно-ориентированного языка SmallTalk и многооконного интерфейса
Алан Кэй
Автор объектно-ориентированного языка SmallTalk и многооконного интерфейса
Лучший способ предсказать будущее — изобрести его.
Алан Кэй
Небольшие аккуратные усы и немного взлохмаченные темные волосы… Кроссовки и вельветовые брюки… Алану Кэю не подходит популярный образ высокомерного, необщительного преуспевающего микромиллионера или ученого-компьютерщика. Он настолько неприметен, что вы могли бы пройти мимо него там, где он работает, и не обратить внимания, даже не догадываясь, что он — профессор. Однако нельзя сказать, что он безликий или даже скромный. Он любит ссылаться на себя, и часто предисловия его поучений начинаются с фраз: "Закон Кэя номер один гласит…".
Внешность человека далеко не всегда есть отражение его души и сущности. "Простое должно оставаться простым. Сложное должно быть возможным", — это слова Алана Кэя.
Доктор Алан Кэй известен своими идеями построения персональных компьютеров, оконного интерфейса и современного объектно-ориентированного программирования. Более того, по мнению Феликса Широкова, вице- президента союза "Электроника России", "Кэй — представитель редко встречающегося… направления мысли. Он — теоретик в области информатики".
Алан Кэй родился в Спрингфилде (штат Массачусетс). Вскоре после его рождения семья переехала в Австралию, где он и жил в течение нескольких первых лет своей жизни. Во время Второй мировой войны, опасаясь угрозы японского вторжения, его родители решили вернуться в Соединенные Штаты. Одаренный ребенок уже в три года научился читать и, становясь старше, непрерывно расширял свой кругозор новыми знаниями. В десять лет Алан Кэй стал победителем Национальной игры-викторины (National Quiz).
Воспоминания о детстве у А. Кэя остались очень яркие. Он рассказывал: "Когда я пошел в школу, я уже прочитал пару сотен книг. Я знал в первом классе, что они лгали мне, потому что у меня уже была своя точка зрения… Им (учителям — А. Ч.) не нравилась идея различных точек зрения, так что это была битва". Действительно, зная больше, чем все его одноклассники и большинство учителей, он не мог не демонстрировать этого. Именно его удивительные способности становились причиной постоянного недовольства преподавателей и поводом для баталий между ним и его сверстниками.
Кэй с детства также учился музыке. Его мать была и музыкантом и художником. Еще в начальной школе он был солистом в хоре и уже в раннем возрасте хорошо играл на гитаре. На самом деле он рассчитывал стать профессиональным музыкантом: в течение десяти лет он работал в джазе рок-гитаристом. Кроме того, он пробовал свои силы в качестве композитора и театрального постановщика, а позже еще увлекся классической органной музыкой.
Впервые Алан Кэй реализовал свой музыкальный талант в 1961 году, когда, покинув колледж в Западной Виржинии, отправился в Денвер, где давал уроки игры на гитаре, чтобы заработать на жизнь. Позже, после успешного прохождения теста, он отправился работать на IBM 1401 в ВВС США. Вспоминая о времени, проведенном в ВВС, Кэй говорил, что хотя и "износил пару ботинок, неся недисциплинированную службу", но узнал, что он имеет способности в области программирования.
По завершении службы в ВВС Алан Кэй был направлен Национальным Центром Атмосферных Исследований в университет Колорадо на факультет математики и молекулярной биологии. По окончании университета в 1966 году он перешел в университет Юта на факультет электроники. Поскольку Кэй привык заниматься только тем, что его действительно интересовало, то именно здесь он нашел себя.
С 1967 по 1969 год Алан Кэй работал над FLEX. Это была его первая разработка программного обеспечения для персонального компьютера. Технически Кэй не был первым, кто пытался создать персональный компьютер. Однако при работе над FLEX была предпринята попытка использовать улучшенные электронные компоненты, повышающие производительность компьютера, с которым пользователь мог бы взаимодействовать. Хотя FLEX был новшеством в техническом плане, он был очень сложен. По словам Кэя, "пользователей отталкивала сложность в изучении". Проблема заключалась не в оборудовании, а в специальном языке, которым пользователь должен был овладеть для получения желаемых результатов. Так Алан Кэй впервые убедился, что разработка программного обеспечения должна идти в направлении, облегчающем работу человека с персональным компьютером.
Учась в университете Юта, А. Кэй изучил прогрессивную программу Sketch- Pad, разработанную Иваном Сазерлендом, и начал программировать на языке SIMULA. Заимствуя идеи из этой и других программ, а также его знаний в биологии, он сформулировал "биологическую модель". Кэй предложил идею идеального компьютера, который должен функционировать подобно живому организму; каждая "клетка" которого должна вести себя в соответствии с другими, чтобы выполнить конечную цель, а также должна уметь функционировать автономно. Кроме того, "клетки" должны иметь способность перегруппировывать сами себя для решения другой проблемы или выполнения другой функции.
Осенью 1968 года Алан Кэй знакомится с Сэймуром Пейпертом в лаборатории MIT Artificial Intelligence Laboratory, где его внимание привлекает язык LOGO. Более того, Кэй был потрясен, наблюдая за Пейпертом и его коллегами, обучающими детей программированию на LOGO. Он вспоминает: "В 1968-м я впервые увидел, как Сэймур Пейперт работает с детьми и LOGO, и узнал действительно хорошую систему распознавания рукописного текста. Это — невероятная система… Когда я объединил это с идеей того, что дети должны использовать это, понятие компьютера обрело смысл суперсреды". В это время Кэй и задумал первую в истории модель персонального компьютера — "Динамическую книгу" (Dynamic Book).
После написания диссертации по машинной графике и получения Ph.D. в университете Юта Алан Кэй стал профессором Стэнфордского университета и проработал два года в Стэнфордской лаборатории искусственного интеллекта. Там он начал думать о компьютере размером с книгу, который можно было бы использовать, особенно детям, вместо бумаги. Он дублировал свой проект "KiddieKomp".
Продолжая работать над проблемой обучения детей с помощью компьютера, Алан Кэй выделил три метода возможного обучения. "Первый — это запоминание поучительных историй; иногда они формулируются в виде афоризмов, пословиц и поговорок. Это — народные предания, фольклор… Второй метод — это метод логических рассуждений, метод изучения цепочек причинно-следственных связей. Это — путь математики и формальной логики. Остается третий метод — это метод "системной динамики". Метод создания в мозгу интуитивных картин поведения тех или иных объектов и систем, принадлежащих внешнему миру". Он объяснял: "Книга — основной Хранитель достижений Цивилизации — годится для передачи знаний при использовании первого и второго из рассмотренных методов. В книге можно собрать замечательные истории, мудрые афоризмы и поучительные поговорки. В книге можно изложить математическую дисциплину. Но книга практически не годится для передачи знаний методом "системной динамики".
В течение двух лет, начиная с 1970 года, Алан Кэй работал над языком Smalltalk, который разрабатывался для того, чтобы смоделировать ранее описанную биологическую модель, состоящую из ячеек (или "клеток") и передачи сообщений между ними. После выхода Smalltalk на рынок (1983 год), язык приобрел широкую популярность. Он был одним из первых языков объектно-ориентированного программирования, представляющим собой методологию, на основе которой можно создавать параллельные системы, базы данных и базы знаний.
В 1972 году Кэй стал работать в Исследовательском центре Xerox в Пало- Альто (Xerox PARC) и начал использовать Smalltalk в образовании. Анализировалась реакция детей при общении с компьютером. Кэй заметил, что дети усваивали лучше изображения и звуки, нежели простой текст и, вместе с другими исследователями из PARC, Кэй разработал простую компьютерную систему, которая интенсивно использовала графику и анимацию. Некоторые дети очень хорошо адаптировались к использованию этой системы, они разрабатывали сложные программы в ней. Эта система получила название "DynaBook".
В марте 1977 года Алан Кэй и Адель Голдберг отправили статью под названием "Personal Dynamic Media" в журнал "Computer". Кэй и Голдберг говорили не о программах, а о знаниях и творческой идее. Они писали о "DynaBook": "Представьте себе, что Вы можете иметь Ваш собственный навигатор знаний в портативном пакете размером и формой с обычную записную книжку… Предположите, что он имеет достаточно возможностей, чтобы сохранить тысячи страниц исходных материалов, стихотворений, писем, рецептов, записей, чертежных данных, анимаций… динамических моделей, и что-нибудь еще, что бы Вы хотели запоминать и изменять". "DynaBook" можно использовать для чтения или записи как обычную книгу с иллюстрациями, но она ("DynaBook". — А. Ч.) предоставляет гораздо больше возможностей: динамический поиск может быть осуществлен для индивидуального контекста. Непоследовательность файловой структуры и использование динамической обработки позволяют иметь множество точек зрения на рассказ", — писали Кэй и Голдберг.
"DynaBook" — не последний проект Алана Кэя. Будучи лидером научно- исследовательской группы в PARC, Кэй содействует разработке Ethernet, лазерной печати и сетевой клиент-серверной модели ARPANet. Жаль, что до сих пор не существует технологии для изготовления прототипа "DynaBook". Кэй предлагал Xerox инвестировать некоторые из его проектов, но управление Xerox не пожелало развивать его идеи и вкладывать крупные ресурсы в его работу. Когда Стив Джобс, Джеф Рэскин и некоторые другие пионеры Apple посетили PARC в 1979 году, они сразу же увидели в работах Кэя дорогу в будущее. Они были поражены идеей оконного интерфейса и гибкостью языка Smalltalk. Работа Алана в PARC была зерном, из которого вырос Apple Macintosh. Справедливости ради надо отметить, что даже самая популярная на сегодняшний день операционная система в мире Microsoft Windows — отпрыск идей Алана Кэя.
Кэй ушел из Xerox в 1983 году и после небольшого перерыва стал программистом Apple Fellow в Atari, в 1984 году — на Macintosh, первом массовом компьютере с графическим пользовательским интерфейсом.
Заслуги Алана Кэя в области программирования очевидны. Он получил многочисленные награды, включая ACM Software Systems Award и J-D Warmer Prize, стал призером American Academy of Arts and Sciences, Royal Society of Arts и World Economic Forum.
В течение последующих лет Кэй жил в Лос-Анджелесе, но много путешествовал по стране. Тем не менее, большинство своего времени он посвящал обучению детей компьютерной грамотности в открытой им школе в западном Голливуде в Калифорнии.
В 1991 году в интервью "BYTE" он говорил об агент-ориентированных системах и подтвердил, что он занимается созданием нового машинного языка, который сможет создавать системы искусственного интеллекта в пределах компьютера, причем позволить машине сообщать себе, как и что делать. "Агент", согласно терминологии Кэя, — ядро системы искусственного интеллекта в компьютере. В этом интервью Кэй предсказывал создание агент- ориентированных коммерческих систем к 2000 году, а также высказал пожелание наладить массовое производство его "DynaBook".
Заслуживающим наибольшего внимания вкладом в мир информатики, который внес Кэй, было то, что он изменил взгляд на компьютеры во всем мире. До идей Алана Кэя, компьютер был безликим ящиком, который сыпал текст на экран. Если вы хотели взаимодействовать с машиной, вам необходимо было выучить ее язык. Кэй из его опыта работы с детьми, его любовью к образованию, его разносторонним интересам, его гением, осознал, что пользователи могут и должны взаимодействовать с компьютером другим путем и не должны быть ограничены только текстом. Он был среди первых, кто решил представить объекты в компьютере как изображения — метафора, которая в дальнейшем расширилась с появлением понятия объектной ориентированности. Он, несомненно, один из отцов современного персонального компьютера.
Кэй опасался, что машина, которую он так превозносил, станет "массовым наркотиком", станет вторым телевидением, но он надеется, что у него будет значительно более полезная роль в будущем человечества.
Алан Кэй восхищается потенциальным влиянием, которое оказывают компьютерные технологии на мир. Он особенно заинтересован в образовании и уверен, что эти новые технологии создадут то, что он назвал "скептическим человеком". "У каждого ребенка должна быть возможность протестировать свои взгляды, где угодно с помощью компьютера", — считает Алан Кэй. По его мнению, "в будущем системы поиска информации будут извлекать не факты, а точки зрения. Слабость баз данных в том, что они позволяют вам оперировать только фактами, хотя веками наша культура держалась на способности принимать разные точки зрения".
Удивительный человек, талантливый программист и просто неординарная личность — Алан Кэй, — бесспорно, вошел в историю развития компьютерных технологий, с его неудержимым желанием изменить нашу жизнь, он всегда шел вперед и добивался невероятных успехов, не останавливаясь на достигнутом.
"Мы живем в галлюцинации наших собственных изобретений… Но наша иллюзия настолько сложна, что мы не можем управлять ею, и мы все стремимся не идти уже по известному пути наших семей, общества и культуры взглядов на мир… Мы не можем существовать без фантазии, — утверждает Алан Кэй, — поскольку они — часть человеческого существования. Фантазия — более простой, более управляемый мир".
- Ада Августа Лавлейс Дочь Байрона, первая программистка
- Грейс Мюррей Хоппер Мама и бабушка COBOL
- Алексей Андреевич Ляпунов Автор первых нотаций языков программирования
- Джон БЭКУС Создатель языка FORTRAN
- Андрей Петрович Ершов Выдающийся ученый в области программирования
- Джон Маккарти Отец искусственного интеллекта, автор языка LISP
- Джон Кемени и Томас Курц Создатели популярного языка BASIC
- Никлаус Вирт Автор языков PASCAL, MODULA, OBERON
- Кеннет Томпсон и Деннис Ричи Создатели операционной системы UNIX и языка С
- Гари Килдалл Автор первой операционной системы для микрокомпьютеров
- Алан Кэй Автор объектно-ориентированного языка SmallTalk и многооконного интерфейса
- Билл Гейтс Программистский миллиардер
- Питер Нортон Популярное имя среди программистов конца XX века
- ЭДСГЕР ДЕЙКСТРА "Смиренный" программист
- Бьорн Страуструп Создатель языка C++
- ЛИНУС ТОРВАЛЬДС "Могучий финн" и его операционная система Linux
- Сеймур Пейперт Теоретик компьютерного образования и автор языка LOGO
- Джеймс Гослинг Создатель языка JAVA
- Дональд Кнут Автор Библии программистов
- Алан Кэй Автор объектно-ориентированного языка SmallTalk и многооконного интерфейса
- 1.1. Введение в объектно-ориентированное программирование
- Об авторе
- Реализация языка SQL
- Дальнейшее развитие языка SQL
- 1. Оператор Select – базовый оператор языка структурированных запросов
- Об авторах
- Не допускайте того, чтобы поток пользовательского интерфейса блокировался на длительное время
- Предисловие от Автора.
- От автора
- Предисловие автора
- 3.6. Шаг 5. Балансировка ассортимента по глубине