Введение
Американский учёный в области компьютерных технологий (род. 1940)
Алан Кертис Кей (род. 17 мая 1940) — американский учёный в области компьютерных технологий, наиболее известный своей новаторской работой в области объектно-ориентированного программирования и разработки графического пользовательского интерфейса (GUI). В Xerox PARC он возглавил проектирование и разработку первого современного оконного интерфейса для компьютеров. Там же он руководил разработкой влиятельного объектно-ориентированного языка программирования Smalltalk, лично разработав большинство ранних версий языка и предложив термин "объектно-ориентированный". Он был избран членом Американской академии искусств и наук, Национальной инженерной академии и Королевского общества искусств. В 2003 году он получил премию Тьюринга. Кей также в прошлом был профессиональным джазовым гитаристом, композитором и театральным художником-постановщиком. Кроме того, он является любителем классической игры на трубном органе.
Ранняя жизнь и работа
В интервью об образовании в Америке с Davis Group Ltd. Кей сказал: "Мне не повезло или повезло научиться бегло читать примерно с трех лет, поэтому к первому классу я успел прочитать, возможно, 150 книг и уже знал, что учителя мне лгут. Родом из Спрингфилда, штат Массачусетс, семья Кея несколько раз переезжала из-за карьеры его отца в области физиологии, прежде чем окончательно обосноваться в районе Нью-Йорка. Он учился в Бруклинской технической школе. Накопив достаточное количество зачетных единиц для окончания школы, он поступил в Bethany College в Бетани, Западная Вирджиния, где изучал биологию и математику в качестве специализации и дополнительной дисциплины соответственно. Затем Кей преподавал игру на гитаре в Денвере, штат Колорадо, в течение года. Он был призван в армию Соединенных Штатов, а затем прошел отбор для обучения на офицера в Военно-воздушных силах Соединенных Штатов, где после успешной сдачи теста на профпригодность стал программистом. После демобилизации он поступил в Университет Колорадо в Боулдере и в 1966 году получил степень бакалавра наук (B.S.) по математике и молекулярной биологии. Осенью 1966 года он начал обучение в аспирантуре в Колледже инженерии Университета Юты. В 1968 году он получил степень магистра наук в области электротехники, а в 1969 году – степень доктора философии в области компьютерных наук. В своей докторской диссертации под названием FLEX: A Flexible Extendable Language он описал изобретение компьютерного языка FLEX. Там он работал с "отцами компьютерной графики" Дэвидом С. Эвансом (недавно переманинным из Калифорнийского университета в Беркли для создания факультета компьютерных наук Университета Юты) и Иваном Сазерлендом (наиболее известным как автор новаторских программ, таких как Sketchpad). Кей считает, что диссертация Сазерленда 1963 года повлияла на его взгляды на объекты и компьютерное программирование. По мере того, как он все больше времени уделял исследованиям для Агентства передовых исследовательских проектов Министерства обороны (DARPA), он завершил свою музыкальную карьеру. В 1968 году он познакомился с Сеймуром Папертом и узнал о языке программирования Logo, диалекте Lisp, оптимизированном для образовательных целей. Это привело его к изучению работ Жана Пиаже, Жерома Брунера, Льва Выготского и конструкционистского обучения, что оказало дальнейшее влияние на его профессиональную ориентацию. В 1969 году Кей стал приглашенным научным сотрудником в Стэнфордской лаборатории искусственного интеллекта в преддверии принятия предложения о должности профессора в Университете Карнеги-Меллона. Однако в 1970 году он присоединился к исследовательскому коллективу Xerox PARC в Пало-Альто, Калифорния. В течение десятилетия он разрабатывал прототипы сетевых рабочих станций с использованием языка программирования Smalltalk. Вместе с некоторыми коллегами из PARC Кей является одним из отцов идеи объектно-ориентированного программирования (ООП), название которой он и придумал. Некоторые оригинальные объектно-ориентированные концепции, включая использование слов "объект" и "класс", были разработаны для Simula 67 в Норвежском вычислительном центре. Кей сказал: "Мне жаль, что я давно ввел термин "объекты" для этой темы, потому что это заставляет многих людей сосредотачиваться на менее важной идее. Главная идея – "обмен сообщениями". Работая в PARC, Кей разработал концепцию Dynabook, ключевого предшественника ноутбуков и планшетных компьютеров, а также электронной книги. Он также является архитектором современного графического пользовательского интерфейса (GUI) с перекрывающимися окнами. Поскольку Dynabook задумывался как образовательная платформа, он считается одним из первых исследователей мобильного обучения; многие особенности концепции Dynabook были использованы при разработке образовательной платформы One Laptop Per Child, в которой Кей активно участвует.
I had the misfortune or the fortune to learn how to read fluently starting about the age of three, so I had read maybe 150 books by the time I hit first grade, and I already knew the teachers were lying to me. Originally from Springfield, Massachusetts, Kay's family relocated several times due to his father's career in physiology before ultimately settling in the New York metropolitan area. He attended Brooklyn Technical High School. Having accumulated enough credits to graduate, he then attended Bethany College in Bethany, West Virginia, where he majored in biology and minored in mathematics. Kay then taught guitar in Denver, Colorado for a year. He was drafted in the United States Army, then qualified for officer training in the United States Air Force, where he became a computer programmer after passing an aptitude test. After his discharge, he enrolled at the University of Colorado Boulder and earned a Bachelor of Science (B. S.) in mathematics and molecular biology in 1966. In the autumn of 1966, he began graduate school at the University of Utah College of Engineering. He earned a Master of Science in electrical engineering in 1968, then a Doctor of Philosophy in computer science in 1969. His doctoral dissertation, FLEX: A Flexible Extendable Language, described the invention of a computer language named FLEX. While there, he worked with "fathers of computer graphics" David C. Evans (who had recently been recruited from the University of California, Berkeley to start Utah's computer science department) and Ivan Sutherland (best known for writing such pioneering programs as Sketchpad). Kay credits Sutherland's 1963 thesis for influencing his views on objects and computer programming. As he grew busier with research for the Defense Advanced Research Projects Agency (DARPA), he ended his musical career. In 1968, he met Seymour Papert and learned of the programming language Logo, a dialect of Lisp optimized for educational purposes. This led him to learn of the work of Jean Piaget, Jerome Bruner, Lev Vygotsky, and of constructionist learning, further influencing his professional orientation. In 1969, Kay became a visiting researcher at the Stanford Artificial Intelligence Laboratory in anticipation of accepting a professorship at Carnegie Mellon University. Instead, in 1970, he joined the Xerox PARC research staff in Palo Alto, California. Through the decade, he developed prototypes of networked workstations using the programming language Smalltalk. Along with some colleagues at PARC, Kay is one of the fathers of the idea of object oriented programming (OOP), which he named. Some original object oriented concepts, including the use of the words 'object' and 'class', had been developed for Simula 67 at the Norwegian Computing Center. Kay said:
I'm sorry that I long ago coined the term "objects" for this topic because it gets many people to focus on the lesser idea. The big idea is "messaging". While at PARC, Kay conceived the Dynabook concept, a key progenitor of laptop and tablet computers and the e book. He is also the architect of the modern overlapping windowing graphical user interface (GUI). Because the Dynabook was conceived as an educational platform, he is considered one of the first researchers into mobile learning; many features of the Dynabook concept have been adopted in the design of the One Laptop Per Child educational platform, with which Kay is actively involved.
Последующие работы
С 1981 по 1984 год Кей был главным ученым в Atari. В 1984 году он стал Apple Fellow. После закрытия группы Apple Advanced Technology Group в 1997 году он был приглашен своим другом Брэном Ферреном, руководителем отдела исследований и разработок в Disney, присоединиться к Walt Disney Imagineering в качестве Disney Fellow. Он оставался там до ухода Феррена для основания Applied Minds Inc. вместе с Дэнни Хиллисом из Imagineering, что привело к прекращению программы Fellows. В 2001 году Кей основал Viewpoints Research Institute – некоммерческую организацию, посвященную детям, обучению и передовой разработке программного обеспечения. Первые десять лет Кей и его команда Viewpoints базировались в Applied Minds в Глендейле, Калифорния, где он и Феррен работали над различными проектами. Кей занимал должность президента Института до его закрытия в 2018 году. В 2002 году Кей присоединился к HP Labs в качестве старшего научного сотрудника и покинул компанию, когда HP расформировала команду передовых программных исследований 20 июля 2005 года. Он был адъюнкт-профессором информатики в Калифорнийском университете в Лос-Анджелесе, приглашенным профессором в Киотском университете и адъюнкт-профессором в Массачусетском технологическом институте (MIT). Кей также входил в консультативный совет TTI/Vanguard.
Скик, Этои и Крокет
В декабре 1995 года, ещё работая в Apple, Кей сотрудничал со многими другими, чтобы запустить версию Smalltalk с открытым исходным кодом под названием Squeak. В рамках этой работы в ноябре 1996 года его команда начала исследования, которые впоследствии привели к созданию системы Etoys. В последнее время он вместе с Дэвидом А. Смитом, Дэвидом П. Ридом, Андреасом Раабом, Риком МакГиром, Джулианом Ломбарди и Марком МакКахилом начал проект Croquet – сетевую 2D и 3D среду с открытым исходным кодом для совместной работы.
Твик
В 2001 году стало очевидно, что архитектура Etoy в Squeak достигла пределов возможностей инфраструктуры интерфейса Morphic. Андреас Рааб, исследователь в группе Кея, в то время работавший в Hewlett Packard, предложил определить "скриптовый процесс" и предоставить механизм планирования по умолчанию, который позволял избежать нескольких более общих проблем. Результатом стал новый пользовательский интерфейс, предложенный в качестве замены пользовательского интерфейса Squeak Morphic. Tweak добавил механизмы "островов", асинхронный обмен сообщениями, "игроков" и "костюмов", расширения языка, проекты и скрипты для тайлов. Его базовая объектная система основана на классах, но для пользователей (в процессе программирования) она ведёт себя как прототипная. Объекты Tweak создаются и запускаются в окнах проектов Tweak.
Детская машина
В ноябре 2005 года на Всемирном саммите по информационному обществу исследовательские лаборатории MIT представили новый ноутбук, предназначенный для образовательных целей по всему миру. У него множество названий, включая «Ноутбук за 100 долларов», программу «Один ноутбук на ребенка», «Детский компьютер» и XO 1. Программу основал и поддерживает друг Кея Николас Негропонте, и она основана на идее Dynabook, выдвинутой Кеем. Кей является одним из ключевых разработчиков этого компьютера, уделяя особое внимание разработке образовательного программного обеспечения на базе Squeak и Etoys.
Переосмысление программирования
Кей много выступал с лекциями о том, что компьютерная революция – явление очень молодое, и далеко не все хорошие идеи получили всеобщее распространение. Его лекции на конференции OOPSLA 1997 года и его речь при вручении премии ACM Turing Award под названием «Компьютерная революция ещё не произошла» были основаны на его опыте работы с Sketchpad, Simula, Smalltalk и громоздком коде коммерческого программного обеспечения. 31 августа 2006 года предложение Кея Национальному научному фонду США (NSF) было одобрено, что обеспечило финансирование Viewpoints Research Institute на несколько лет. Название предложения звучало как «ШАГИ к переосмыслению программирования: компактная и практичная модель персональных вычислений как среды для самоисследований». STEPS – это рекурсивная аббревиатура, расшифровывающаяся как «STEPS Toward Expressive Programming Systems» (ШАГИ к созданию выразительных систем программирования). О том, чего пытается достичь Кей, можно судить по следующей цитате из аннотации к семинару в исследовательских лабораториях Intel в Беркли: «Совокупность коммерческого и большей части программного обеспечения с открытым исходным кодом в наши дни потребляет порядка нескольких сотен миллионов строк кода. Мы задаёмся вопросом: насколько компактной может быть понятная и практичная конструкция, подобная "модели Т", охватывающая эту функциональность? 1 миллион строк кода? 200 тысяч строк? 100 тысяч строк? 20 тысяч строк?»