Как должен выглядеть идеальный персональный компьютер по замыслу алана кея
В современной информационной повестке есть несколько известных мифов о создании первых персональных компьютеров. Как правило, в них идет речь о том, как несколько человек сидят в гараже в Калифорнии и собирают свои первые прототипы компьютеров. Однако у этой истории есть своя большая предыстория и ее герои, которые сейчас известны достаточно узкому количеству людей. Одним из них является Алан Кей — теоретик информатики и человек, который придумал философию современных персональных компьютеров и термин объектно-ориентированного программирования. Подробно рассказываем о жизни Алана Кея и том, что он сделал для современного мира.
Алан Кей был одним из основателей современного персонального компьютера и наставником создателей Macintosh. В 1979 году Стив Джобс и другие основатели Apple посещали исследовательскую группу в Xerox PARC, которую возглавлял Алан Кей, работая там над первым объектно-ориентированным языком программирования Smalltalk и проектом Dynabook — прототипом современного ноутбука. Кей был первым, кто говорил, что пользователь должен общаться с компьютером не текстом или кодом, а через визуальные интерфейсы — метафоры алгоритмов и внутренних процессов, которые происходят внутри устройства.
Глава I. Музыкальная
Алан Кей родился в городе Спрингфилд, штате Массачусетс — в очень консервативное время: в начале сороковых годов. Его мать была профессиональной певицей и художником, поэтому он рос в музыкальной среде, а его жизнь строилась в основном по гуманитарному пути. В детстве он пел в хоре и с раннего возраста играл на гитаре.
Когда Алан Кей дает интервью о своем детстве, он рассказывает, что был очень одаренным ребенком: «Когда я пошел в школу, то уже прочитал пару сотен книг. Я знал в первом классе, что все вокруг мне лгали — ведь у меня уже была своя точка зрения. Учителям не нравилась идея существования различных точек зрения, так что это была настоящая и трудная битва».
После окончания школы Кей даже стал джазовым музыкантом и преподавателем музыки по классу гитары — в 1961 году его выгнали из колледжа за участие в протестах против введения процентной квоты для студентов-евреев, и ему пришлось идти и искать себе работу. Какое-то время он поработал композитором и театральным постановщиком, но в итоге ушел в армию, которая радикально изменила его жизнь.
Сейчас — спустя полвека — Алан Кей до сих пор продолжает любить музыку, однако теперь его больше привлекает классическая музыка, а не джаз.
Глава II. Биологическая
Служба в армии была для Кея достаточно бесполезна: «Я износил пару ботинок, неся недисциплинированную службу», — говорил он, однако именно в это время музыкант узнал, что имеет способности в области программирования. После окончания службы Кей был направлен Национальным Центром Атмосферных Исследований в Университет Колорадо — на специальность «математика и молекулярная биология». В 1966 году — после окончания университета — он перешел в Университет Юта на факультет электроники.
Именно Сазерленд вдохновил Кея на размышления о программировании и объектах. Тогда же Кей начал самостоятельно программировать на языке SIMULA и полностью похоронил идеи стать профессиональным музыкантом, поскольку все его мысли были окончательно заняты разработкой.
С 1967 года Кей на языке SIMULA работал над созданием проекта FLEX, постепенно формируя принципы биологической аналогии в информатике. Он утверждал, что идеальный компьютер должен работать по принципам живых существ, где каждая клетка — индивидуальна, однако вместе они образовывают единую большую систему, способную масштабироваться, изменяться и модифицироваться.
В рамках этого проекта Кей создавал компоненты, которые повышали производительность компьютера, и с ними должен был взаимодействовать сам пользователь устройства. Однако выяснилось, что пользователи не были готовы изучать язык, на котором нужно взаимодействовать с устройством — он был очень сложен и требовал специальной математической подготовки. Тогда Кей впервые пришел к выводу, что языки программирования должны идти не в сторону ускорения взаимодействия с машинами, а в полностью противоположную — в направлении, которое облегчит взаимодействие человека с компьютером.
В 1968 году Кей знакомится с Сеймуром Пайпертом и работает с ним в лабораториях искусственного интеллекта в Массачусетском технологическом и Стэнфордском университетах. Там Кей учится работать с языком программирования Logo —диалекте Lisp, приспособленного для обучения. Это привело его к изучению работ Жана Пиаже, Жерома Брюнера, Льва Выготского, а также теории конструкционизма в обучении. В дальнейшем это очень сильно повлияло на его взгляды в работе компьютеров и создания вычислительных систем.
В Массачусетском университете Сэймур Пейперт с коллегами обучал программированию детей на языке LOGO. Пайперт и ставший его соратником Дуглас Энглебарт пытались очеловечить компьютер, сделать его свободным и более простым. Именно тогда Кей придумал сделать первый в истории персональный компьютер «Динамическая книга» (Dynamic Book), с помощью которого можно интерактивно обучать детей в любой точке Земли и полностью отказаться от бумаги. В этом проекте Кей понял, что люди намного лучше усваивают знания и обрабатывают информацию, полученную через визуальные источники и звуки, нежели чем через просто текст.
При разработке алгоритмов для работы своего компьютера Алан Кей выделил три основных метода возможного обучения детей через гаджеты. Первый представлял собой запоминание поучительных историй, например, через афоризмы, пословицы, сказки или мифы. Второй — метод логических рассуждения и изучения причинно-следственных связей, такой путь математики и формальной логики. Третий — метод системной динамики, когда в мозгу человека формируются интуитивные картины поведения тех или иных систем, которые принадлежат внешнему миру.
Глава III. Бумажная
С такими идеями Алан Кей в 1972 году перешел на работу в Xerox Palo Alto Research Center (PARC) в качестве руководителя группы перспективных исследований (Learning Research Group). В то время Xerox PARC представляла собой огромную корпорацию, которая финансировала разные университетские инициативы и давала практически полную свободу в их исследованиях. По сути, благодаря средствам Xerox в те времена появилась альтернативная наука, в противовес огромным вливаниям властей США в фундаментальные и экспериментальные области физики, а также в исследования с двойным назначением для того, чтобы перегнать СССР.
Руководство Xerox поставило перед Кеем сверхзадачу — придумать, что придет на место традиционной бумаги, на взаимодействии с которой и строилась копировальная империя корпорации. При этом на том уровне развития, на котором находилась сфера в начале 70-х годов прошлого века, было невозможно точно сказать, какое именно направление в развитии компьютерной отрасли станет основным.
В Xerox тогда работало несколько исследовательских групп, которые придумывали, как мы в дальнейшем будем пользоваться компьютерами. Одной из таких групп было подразделение Кея, который занимался созданием супербумаги.
В основе работы группы Кея был его проект DynaBook, который мог стать аналогом супербумаги. Журнал Rolling Stones Magazine даже написал об этой исследовательской группе большую статью «Fanatic Life and Symbolic Death among Computer Bums», где рассказывал «об удивительно богемной атмосфере в научных лабораториях, где сочетание безумного энтузиазма безответственных юнцов приводит к изменению мира».
Именно там выросли все идеи графического пользовательского интерфейса, принципов объектно-ориентированного программирования и подхода к созданию персональных компьютеров.
Все люди, которым удалось поработать с Кеем, рассказывают, что он — очень увлекающийся человек, практически до фанатичности любивший свою работу. Например, свою супербумагу Dynabook он сравнивал с изобретением Гутенбергом книгопечатания. При этом Кей называл Dynabook не вычислительным устройством, какими тогда были абсолютно все компьютеры, а медиасредством для обычного пользователя с принципом WYSIWYG (what you see is what you get), текстовыми редакторами и системами рисования.
Глава IV. Объектно-ориентированная
В это же время Кей работал над языком Smalltalk, который бы позволил смоделировать созданную им биологическую модель для компьютеров. Благодаря этому языку также можно было бы создать массивы знаний, которые будут передаваться методом системной динамики и легко усваиваться даже детьми.
После выхода Smalltalk на широкий рынок в 1983 году он быстро стал очень популярным и получил титул «одного из первых объектно-ориентированных языков программирования», благодаря которому можно создавать параллельные системы и базы данных.
Многие называют Smalltalk самым главным практическим результатом работы Кея в Xerox PARC. Почти все существовавшие на тот момент языки программирования были в основном ориентированы на решение конкретных вычислительных задач, либо на решение определенных проблем, связанных сугубо с работой больших компьютеров. Некоторые идеи в Smalltalk были заимствованы у языка Logo — изначально Кей считал, что он будет использоваться как инструмент программирования Dynabook и должен быть доступным для детей. Однако с 1972 года, когда появилась первая версия Smalltalk с несколькими тысячами операторами на Basic, до 1983 когда, когда он стал публичный, возможности языка значительно увеличились.
Для того, чтобы Smalltalk можно было реализовать на различных платформах, его реализовали в виде виртуальной машины (Virtual Machine, VM) и виртуального образа (Virtual Image, VI). По сути, VI — коллекция классов, где закодирована функциональность этого языка программирования, в том числе все его возможности. Этот компилятор генерировал на промежуточном языке byte codes, а VM обеспечивал интерпретацию этих байт-кодов на любой платформе.
Примерно в это время Кея и посетили основатели Apple — они были поражены идеей оконного интерфейса и гибкостью языка Smalltalk. По сути, из работ Кея вырос Арple Macintosh, а в будущем на его системе появилась и операционная система Microsoft Windows.
Во время работы в Xerox Алан Кей работает не только над будущими компьютерами. Его исследовательская группа разрабатывала, в том числе, части технологии Ethernet, лазерной печати и сетевой клиент-серверной модели ARPANet.
Глава V. Настоящее время
В 1984 году Кею пришлось уйти из Xerox PARC — сначала в Apple, где он занимал должность свободного исследователя, а в 1996 году он перешел на должность вице-президента по исследованиям и разработкам в компанию Walt Disney. Сейчас он работает в подразделении Walt Disney Imagineering Lab., где создаются самые новые аттракционы для парков Disney World. Еще у Кея есть своя школа в западном Голливуде в Калифорнии, где он занимается обучением детей компьютерной грамотности.
В нескольких интервью Кей рассказывал, что занимается изучением агент-ориентированных систем и разрабатывает новый машинный язык, который бы мог создавать систему искусственного интеллекта внутри компьютера. Однако на сегодняшний день новостей по этому проекту пока никаких нет, как и планов по массовому производству DynaBook.
Бытует каноническая, почти рождественская история о том, как двое юных энтузиастов собрали в гараже первый персональный компьютер, — ну надо же, сошлись два умных парня в папином гараже и собрали. Потом они создали компанию и по имени секретарши назвали свое детище Liza. Первый блин был не совсем удачен, зато второй, на этот раз нареченный по местному сорту яблок Macintosh, пришелся по вкусу: хотя он был недешев, завоевал Америку на многие годы. Однако через некоторое время появился еще один человек, который сумел упаковать основные Мас’овские идеи в IBM PC, назвал это Windows и “осчастливил” все человечество, не забыв и самого себя.
Известна фраза, что революция пожирает своих героев. Если говорить о компьютерной революции, то ее подлинные герои не оказались съеденными, но и не стали в массовом сознании первыми лицами. Вся история информационных технологий — это история поглощения гениев-изобретателей гениями-предпринимателями. В природе есть растения, есть животные-вегетарианцы и есть хищники, читатель сам может найти аналогии.
Отцы-основатели Apple не могли бы сделать свое изобретение — персональный компьютер — с чистого листа, не имея предшественников. Для его появления необходимы были два типа предпосылок: философские и технологические. Совершенно очевидно, что в первые десятилетия развитие компьютеров подчинялось задачам, наиболее актуальным для того времени, — задачам создания расчетных устройств и устройств для систем управления. Благодаря этому была создана технология, а наиболее важным для рождения ПК событием оказалось появление процессора Motorola 68000. Хотя на базе этого процессора велось множество разработок, но ПК сделали в Apple Computers — прежде всего потому, что была подготовлена философская база, которой и воспользовались молодые дарования. Сейчас о технологических предпосылках говорить пока не будем.
Великие предшественники
Среди людей, подготовивших философию персонального компьютера, можно назвать несколько замечательных личностей. Прежде всего это Ванневар Буш (Vannevar Bush), сформулировавший эту идею еще в 1945 г. на основе современных ему фотомеханических принципов. В шестидесятых годах у Буша появилось два преемника: Теодор Нельсон (Theodor Nelson) и Дуглас Энглебарт (Douglas Englebart). Первый развил теорию неиндексированного доступа к данным и стал изобретателем гипертекста. А второй прочитал знаменитую статью Буша As we may think в Atlantic Monthly еще во время службы в армии, где он был специалистом по радарам. В отличие от Нельсона Энглебарт увидел в этой статье нечто другое — возможное интерактивное начало. В своих воспоминаниях он пишет, что мысль о подключении электронной трубки к компьютеру для вывода текстов и изображений родилась у него мгновенно, а на то, чтобы нарисовать блок-схему будущего интерактивного компьютера, ушло менее получаса. Наибольшую известность Энглебарт получил как изобретатель компьютерной мыши. О нем и его работах следует поговорить отдельно.
В данном случае нашим героем является еще один удивительно интересный человек, который и стал наставником отцов-основателей Apple; его зовут Алан Кей (Alan Kay). Уже после появления Macintosh он перешел в Apple Computers, где проработал вплоть до 1996 г. Став совершенно историческим персонажем, Кей и по сию пору активно трудится в компании Walt Disney.
Однако возвратимся в 1979 г. — за несколько лет до появления компьютера Liza. Тогда Стив Джобс, Джефф Раскин и другие первооснователи Apple посетили исследовательскую группу, возглавляемую Аланом Кеем в Xerox PARC, где в ту пору Кей работал над проектом Dynabook, своего рода прототипом современного ноутбука, и одновременно над языком Smalltalk. Именно здесь они переняли философию Кея, его понимание функции компьютера и языков программирования. Собственно, от него они вынесли ведущую постановку задачи на будущее — создание персонального компьютера. Но прежде чем переходить к работам Кея, немного расскажем о нем самом и об уникальном месте под названием Xerox PARC.
Алан Кей и Xerox PARC
Алан Кей родился в начале сороковых годов. Его мать была профессиональной певицей, поэтому в воспитании доминировало гуманитарное начало и значительное место уделялось музыке. В 1961 г. за участие в протесте против введения процентной квоты для студентов-евреев он был исключен из колледжа, стал джазовым музыкантом и преподавателем музыки по классу гитары. Но другой талант, принесший ему гораздо большую известность, неожиданно обнаружился у Кея тогда, когда, поступив добровольно в армию, он прошел тест на способность к программированию, был высоко оценен и направлен в ВВС США для работы на компьютере IBM 1401. После службы в армии была учеба в университете штата Колорадо по специальности “математика и молекулярная биология” и в 1966 г. — переход в университет штата Юта, где произошло знакомство с работами Айвэна Сазерленда, одного из создателей виртуальной реальности. Кей начал программировать на языке Симула, и вот, сочетая идеи, идущие от программирования, со знанием биологии, он сформулировал принцип биологической аналогии. Он утверждал, что идеальный компьютер должен быть подобен живому организму, где каждая клетка индивидуальна, но вместе они могут образовывать единую систему, способную к перегруппировке и изменению структуры.
Осенью 1968 г. у Кея произошла еще одна знаменательная встреча, которая во многом повлияла на его будущее. Он познакомился с Сеймуром Пайпертом (Seymour Papert) и некоторое время проработал вместе с ним в лабораториях искусственного интеллекта в Массачусетском технологическом и Стэнфордском университетах. Пайперта называют отцом языка программирования Logo.
Наблюдая, как Пайперт работает с детьми, Кей сделал для себя весьма существенные выводы относительно форм и методов взаимодействия человека с компьютером. Пайперт и ставший его соратником Дуглас Энглебарт пытались либерализовать, очеловечить компьютер, превратить тяжеловесную индустриальную машину (в то время, кроме мэйнфреймов, ничего и не было) из “поезда”, движущегося по лимитированным компанией путям, в ”автомобиль”, обладающий свободой передвижения.
С таким багажом Кей в 1972 г. перешел в качестве руководителя группы перспективных исследований (Learning Research Group) в Xerox Palo Alto Research Center (PARC).
Известно, что тогда же стартовала мощнейшая правительственная научная программа. Напуганная успехами СССР в освоении космоса и фундаментальных научных исследованиях, американская администрация стремилась собрать коллективы ученых для решения важных задач, прокламируемых как стратегические и прикладные, а по сути военные. Пошли туда законопослушные граждане, коих, как известно, большинство. Результаты этой кампании — начиная с полетов “Аполлонов” и заканчивая программой “Звездных войн”, известны, и они действительно стали в значительной мере базисом современной американской индустрии. Но “левакам”, к которым принадлежал Алан Кей, это было не по душе. Они принадлежали к движению протеста, выражая его и в науке, и в музыке, и в литературе. На память приходят такие имена, как Боб Дилан, Джоан Байес, Джером Сэлинджер. Участникам этого движения нужна была альтернативная научная среда, вот ее-то и предоставила компания Xerox в виде Исследовательского центра. Xerox PARC осталась уникальной научной лабораторией, но, по многим оценкам, компания Xerox не сумела воспользоваться полученными там результатами в полной мере.
Сверхзадача, поставленная перед Кеем, выглядела следующим образом. Тогда казалось, что близок финал бумажной технологии (заметим, что все же количество используемой сегодня бумаги не сильно сократилось). На смену ей должна была прийти другая — но какая? При том уровне аппаратных средств, какой был в начале семидесятых годов, можно было только строить гипотезы, хотя понятно, что в основе должен быть компьютер. Поэтому в Xerox PARC были созданы исследовательские группы, которым была предоставлена полная свобода использования существовавших в то время компьютеров. Ученые могли строить астрологические прогнозы или создавать системы обработки текстов для печатания антивоенных листовок. Совершенно естественно, что множество решаемых задач служило гуманитарным целям и заметно повлияло на информатизацию системы здравоохранения, но об этом в другой раз. Главное — создание супербумаги. Именно этим и занималась группа под руководством Алана Кея.
О работе этой группы и обстановке, ей сопутствовавшей, писал журнал Rolling Stones Magazine (обратите внимание на название!). Группе была посвящена статья “Фанатическая жизнь и символическая смерть среди компьютерных охламонов” (Fanatic Life and Symbolic Death among Computer Bums. Более точный перевод слова Bum можно найти в специализированных словарях ненормативной лексики). В ней, в частности, говорилось: “Это было сочетание безумного энтузиазма безответственных юнцов и головной боли администрации, и было великолепно”.
Исторически человечество развивается в двух направлениях. Первое — изобретение средств, усиливающих его возможности: колеса, телескопа, языка письменности, математики. Второе — подчинение этих процессов целевым установкам и управление деятельностью отдельного человека и коллективов (религии, культуры, государства, различные формы организации для совместного труда).
В конце пятидесятых годов ученые осознали, что компьютер является не только инструментом счета, но и носителем, который можно использовать для взаимодействия с человеком. Основная масса людей сегодня представляет себе компьютер в его внешних интерфейсных формах.
Большая часть известных методов интерфейсов, в том числе идея окна, вышли из Xerox PARC. Эти методы и подходы учитывают ограниченность человеческой психологии. Вероятно, за последние несколько тысяч лет наш интеллект сильно не вырос, но понятно, что соответствующий контекст усиливает логические возможности. Поэтому эффективность работы человеческой мысли в немалой степени зависит от качества предоставляемого интерфейса”. С результатами работы Алана Кея в Xerox PARC наиболее часто связывают два названия — Dynabook и SmallTalk.
Dynabook — прототип ноутбука
Если Буш для выражения своих взглядов построил гипотетическую машину memex, то Кей создал виртуальную машину Dynabook. Свою концепцию он изложил в статье Personal Dynamic Media (IEEE Computer, 1977, v. 3, № 10, p. 31). Совершенно новым было то, что Dynabook рассматривалась не как вычислительное устройство, а как медиасредство для пользователя-непрофессионала. Кей описал ее как портативное интерактивное устройство с плоскопанельным сенсорным экраном, беспроводной системой коммуникации и мультимедийными возможностями. Здесь предполагался принцип WYSIWYG (what you see is what you get), текстовые редакторы и система рисования.
Говорят, что Кей был очень увлекающимся человеком: он настолько увлекся Dynabook, что по важности приравнивал ее к изобретению Гутенберга.
Для этой машины будущего был спроектирован и смоделирован графический интерфейс Star GUI, включивший все знакомые нам сегодня элементы — окна, пиктограммы, меню и многое другое. Графический интерфейс Star стал прототипом интерфейса Macintosh.
Проект Dynabook так никогда и не был завершен, однако оправданность его существования была доказана воздействием, которое он оказал на будущее. Правда, была одна попытка реализации “в железе” — под именем Alto на базе миникомпьютера Nova, а затем Dorado.
Наиболее близкими практическими преемниками Dynabook стали Knowledge Navigator (Apple, 1987 г.) и Newton, разработанный бывшим сотрудником Apple Джоном Скалли (John Sculley).
Язык программирования Smalltalk
Самым значительным практическим результатом работы Алана Кея в Xerox PARC стало создание языка Smalltalk (название можно перевести как “непринужденная беседа”). Необходимость в его разработке возникла ввиду того, что существовавшие в то время языки программирования в основном были ориентированы на решение вычислительных задач. Они обладали необходимыми средствами для работы с символами, но были слишком профессиональными и не соответствовали проекту Dynabook. Поэтому был отдан высокий приоритет разработке нового языка. Некоторые его идеи были заимствованы у Пайперта, который строил язык Logo на основе работ французского психолога Жана Пиаже.
Изначально предполагалось, что Smalltalk как инструмент программирования Dynabook будет совсем простым, доступным для детей. Его первая версия была смоделирована несколькими тысячами операторов на Basic в октябре 1972 г., через четыре месяца появилась версия на языке ассемблера (Smalltalk-72), и позже, в 1974 г., когда ее установили на Alto, можно было начинать экспериментальную работу с детьми. До 1980 г. работы по Smalltalk-72, а затем и Smalltalk-74 носили исключительно локальный характер. Версию Smalltalk-80 решено было сделать публичной, для чего предполагалось выпустить несколько типов документов, от статей до книг (последовательно “Синяя”, “Оранжевая” и “Зеленая”). В этой работе значительную роль сыграл Дан Ингаллс (Dan Ingalls).
Чтобы язык можно было использовать на различных платформах, его реализовали в виде виртуальной машины (Virtual Machine, VM) и виртуального образа (Virtual Image, VI). VI представляет собой коллекцию классов, где закодирована функциональность Smalltalk, включая определение структур данных, методов работы с текстами и графикой, компиляторы, декомпиляторы, отладчики. Компилятор генерировал код на промежуточным языке, названном byte codes. VM обеспечивала интерпретацию байт-кодов на любой платформе. У современного читателя названия байт-код и виртуальная машина вызывают совершенно определенные ассоциации с Java.
Будущее Smalltalk и его связь с Java чрезвычайно интересны, но эти вопросы не входят в тематику статьи.
После Xerox PARC
С уходом из Xerox PARC заканчивается романтический период жизни Алана Кея. С 1984 по 1996 г. он имел статус свободного исследователя (Fellow) в Apple, затем перешел на должность вице-президента по исследованиям и разработкам в компанию Walt Disney. Сейчас он ведет подразделение Walt Disney Imagineering Lab., где разрабатываются самые новые аттракционы для парков Disney World.
Между прочим, с возрастом Алан Кей изменился не только внешне, теперь классическая музыка привлекает его больше, чем джаз.
Алан Куртис Кей (1940, Спрингфилд, штат Массачусетс - . )
- первый в мире объектно-ориентированный язык программирования Smalltalk
- разработка первых клиент-серверных систем
- создание лазерных принтеров и (совместно с Бобом Меткалфом) технологии Ethernet
- изобрёл графический многооконный интерфейс
Откуда пошел персональный компьютер
Бытует каноническая, почти рождественская история о том, как двое юных энтузиастов собрали в гараже первый персональный компьютер, - ну надо же, сошлись два умных парня в папином гараже и собрали. Потом они создали компанию и по имени секретарши назвали свое детище Liza. Первый блин был не совсем удачен, зато второй, на этот раз нареченный по местному сорту яблок Macintosh, пришелся по вкусу: хотя он был недешев, завоевал Америку на многие годы. Однако через некоторое время появился еще один человек, который сумел упаковать основные Мас’овские идеи в IBM PC, назвал это Windows и “осчастливил” все человечество, не забыв и самого себя.
Известна фраза, что революция пожирает своих героев. Если говорить о компьютерной революции, то ее подлинные герои не оказались съеденными, но и не стали в массовом сознании первыми лицами. Вся история информационных технологий - это история поглощения гениев-изобретателей гениями-предпринимателями. В природе есть растения, есть животные-вегетарианцы и есть хищники, читатель сам может найти аналогии.
Отцы-основатели Apple не могли бы сделать свое изобретение - персональный компьютер - с чистого листа, не имея предшественников. Для его появления необходимы были два типа предпосылок: философские и технологические. Совершенно очевидно, что в первые десятилетия развитие компьютеров подчинялось задачам, наиболее актуальным для того времени, - задачам создания расчетных устройств и устройств для систем управления. Благодаря этому была создана технология, а наиболее важным для рождения ПК событием оказалось появление процессора Motorola 68000. Хотя на базе этого процессора велось множество разработок, но ПК сделали в Apple Computers - прежде всего потому, что была подготовлена философская база, которой и воспользовались молодые дарования. Сейчас о технологических предпосылках говорить пока не будем.
Великие предшественники
Среди людей, подготовивших философию персонального компьютера, можно назвать несколько замечательных личностей. Прежде всего это Ванневар Буш (Vannevar Bush), сформулировавший эту идею еще в 1945 на основе современных ему фотомеханических принципов. В шестидесятых годах у Буша появилось два преемника: Теодор Нельсон (Theodor Nelson) и Дуглас Энглебарт (Douglas Englebart). Первый развил теорию неиндексированного доступа к данным и стал изобретателем гипертекста. А второй прочитал знаменитую статью Буша As we may think в Atlantic Monthly еще во время службы в армии, где он был специалистом по радарам. В отличие от Нельсона Энглебарт увидел в этой статье нечто другое - возможное интерактивное начало. В своих воспоминаниях он пишет, что мысль о подключении электронной трубки к компьютеру для вывода текстов и изображений родилась у него мгновенно, а на то, чтобы нарисовать блок-схему будущего интерактивного компьютера, ушло менее получаса. Наибольшую известность Энглебарт получил как изобретатель компьютерной мыши. О нем и его работах следует поговорить отдельно.
В данном случае нашим героем является еще один удивительно интересный человек, который и стал наставником отцов-основателей Apple; его зовут Алан Кей (Alan Kay). Уже после появления Macintosh он перешёл в Apple Computers, где проработал вплоть до 1996 г. Став совершенно историческим персонажем, Кей и по сию пору активно трудится в компании Walt Disney.
Однако возвратимся в 1979 - за несколько лет до появления компьютера Liza. Тогда Стив Джобс, Джефф Раскин и другие первооснователи Apple посетили исследовательскую группу, возглавляемую Аланом Кеем в Xerox PARC, где в ту пору Кей работал над проектом Dynabook, своего рода прототипом современного ноутбука, и одновременно над языком Smalltalk. Именно здесь они переняли философию Кея, его понимание функции компьютера и языков программирования. Собственно, от него они вынесли ведущую постановку задачи на будущее - создание персонального компьютера. Но прежде чем переходить к работам Кея, немного расскажем о нем самом и об уникальном месте под названием Xerox PARC.
Алан Кей и Xerox PARC
Алан Кей родился в начале сороковых годов. Его мать была профессиональной певицей, поэтому в воспитании доминировало гуманитарное начало и значительное место уделялось музыке. В 1961 за участие в протесте против введения процентной квоты для студентов-евреев он был исключен из колледжа, стал джазовым музыкантом и преподавателем музыки по классу гитары. Но другой талант, принесший ему гораздо большую известность, неожиданно обнаружился у Кея тогда, когда, поступив добровольно в армию, он прошел тест на способность к программированию, был высоко оценен и направлен в ВВС США для работы на компьютере IBM 1401. После службы в армии была учеба в университете штата Колорадо по специальности “математика и молекулярная биология” и в 1966 - переход в университет штата Юта, где произошло знакомство с работами Айвэна Сазерленда, одного из создателей виртуальной реальности. Кей начал программировать на языке Симула, и вот, сочетая идеи, идущие от программирования, со знанием биологии, он сформулировал принцип биологической аналогии. Он утверждал, что идеальный компьютер должен быть подобен живому организму, где каждая клетка индивидуальна, но вместе они могут образовывать единую систему, способную к перегруппировке и изменению структуры.
Осенью 1968 у Кея произошла ещё одна знаменательная встреча, которая во многом повлияла на его будущее. Он познакомился с Сеймуром Пайпертом (Seymour Papert) и некоторое время проработал вместе с ним в лабораториях искусственного интеллекта в Массачусетском технологическом и Стэнфордском университетах. Пайперта называют отцом языка программирования Logo.
Наблюдая, как Пайперт работает с детьми, Кей сделал для себя весьма существенные выводы относительно форм и методов взаимодействия человека с компьютером. Пайперт и ставший его соратником Дуглас Энглебарт пытались либерализовать, очеловечить компьютер, превратить тяжеловесную индустриальную машину (в то время, кроме мэйнфреймов, ничего и не было) из “поезда”, движущегося по лимитированным компанией путям, в ”автомобиль”, обладающий свободой передвижения.
С таким багажом Кей в 1972 перешёл в качестве руководителя группы перспективных исследований (Learning Research Group) в Xerox Palo Alto Research Center (PARC).
Известно, что тогда же стартовала мощнейшая правительственная научная программа. Напуганная успехами СССР в освоении космоса и фундаментальных научных исследованиях, американская администрация стремилась собрать коллективы учёных для решения важных задач, прокламируемых как стратегические и прикладные, а по сути военные. Пошли туда законопослушные граждане, коих, как известно, большинство. Результаты этой кампании - начиная с полетов “Аполлонов” и заканчивая программой “Звёздных войн”, известны, и они действительно стали в значительной мере базисом современной американской индустрии. Но “левакам”, к которым принадлежал Алан Кей, это было не по душе. Они принадлежали к движению протеста, выражая его и в науке, и в музыке, и в литературе. На память приходят такие имена, как Боб Дилан, Джоан Байес, Джером Сэлинджер. Участникам этого движения нужна была альтернативная научная среда, вот её-то и предоставила компания Xerox в виде Исследовательского центра. Xerox PARC осталась уникальной научной лабораторией, но, по многим оценкам, компания Xerox не сумела воспользоваться полученными там результатами в полной мере.
Сверхзадача, поставленная перед Кеем, выглядела следующим образом. Тогда казалось, что близок финал бумажной технологии (заметим, что все же количество используемой сегодня бумаги не сильно сократилось). На смену ей должна была прийти другая - но какая? При том уровне аппаратных средств, какой был в начале семидесятых годов, можно было только строить гипотезы, хотя понятно, что в основе должен быть компьютер. Поэтому в Xerox PARC были созданы исследовательские группы, которым была предоставлена полная свобода использования существовавших в то время компьютеров. Ученые могли строить астрологические прогнозы или создавать системы обработки текстов для печатания антивоенных листовок. Совершенно естественно, что множество решаемых задач служило гуманитарным целям и заметно повлияло на информатизацию системы здравоохранения, но об этом в другой раз. Главное - создание супербумаги. Именно этим и занималась группа под руководством Алана Кея.
О работе этой группы и обстановке, ей сопутствовавшей, писал журнал Rolling Stones Magazine (обратите внимание на название!). Группе была посвящена статья “Фанатическая жизнь и символическая смерть среди компьютерных охламонов” (Fanatic Life and Symbolic Death among Computer Bums. Более точный перевод слова Bum можно найти в специализированных словарях ненормативной лексики). В ней, в частности, говорилось: “Это было сочетание безумного энтузиазма безответственных юнцов и головной боли администрации, и было великолепно”.
Исторически человечество развивается в двух направлениях. Первое — изобретение средств, усиливающих его возможности: колеса, телескопа, языка письменности, математики. Второе - подчинение этих процессов целевым установкам и управление деятельностью отдельного человека и коллективов (религии, культуры, государства, различные формы организации для совместного труда).
В конце пятидесятых годов ученые осознали, что компьютер является не только инструментом счета, но и носителем, который можно использовать для взаимодействия с человеком. Основная масса людей сегодня представляет себе компьютер в его внешних интерфейсных формах.
Большая часть известных методов интерфейсов, в том числе идея окна, вышли из Xerox PARC. Эти методы и подходы учитывают ограниченность человеческой психологии. Вероятно, за последние несколько тысяч лет наш интеллект сильно не вырос, но понятно, что соответствующий контекст усиливает логические возможности. Поэтому эффективность работы человеческой мысли в немалой степени зависит от качества предоставляемого интерфейса”. С результатами работы Алана Кея в Xerox PARC наиболее часто связывают два названия - Dynabook и SmallTalk.
Dynabook - прототип ноутбука
Если Буш для выражения своих взглядов построил гипотетическую машину memex, то Кей создал виртуальную машину Dynabook. Свою концепцию он изложил в статье Personal Dynamic Media (IEEE Computer, 1977, v. 3, № 10, p. 31). Совершенно новым было то, что Dynabook рассматривалась не как вычислительное устройство, а как медиасредство для пользователя-непрофессионала. Кей описал ее как портативное интерактивное устройство с плоскопанельным сенсорным экраном, беспроводной системой коммуникации и мультимедийными возможностями. Здесь предполагался принцип WYSIWYG (what you see is what you get), текстовые редакторы и система рисования.
Говорят, что Кей был очень увлекающимся человеком: он настолько увлекся Dynabook, что по важности приравнивал её к изобретению Гутенберга .
Для этой машины будущего был спроектирован и смоделирован графический интерфейс Star GUI, включивший все знакомые нам сегодня элементы - окна, пиктограммы, меню и многое другое. Графический интерфейс Star стал прототипом интерфейса Macintosh.
Проект Dynabook так никогда и не был завершён, однако оправданность его существования была доказана воздействием, которое он оказал на будущее. Правда, была одна попытка реализации “в железе” - под именем Alto на базе миникомпьютера Nova, а затем Dorado.
Наиболее близкими практическими преемниками Dynabook стали Knowledge Navigator (Apple, 1987) и Newton, разработанный бывшим сотрудником Apple Джоном Скалли (John Sculley).
Язык программирования Smalltalk
Самым значительным практическим результатом работы Алана Кея в Xerox PARC стало создание языка Smalltalk (название можно перевести как “непринужденная беседа”). Необходимость в его разработке возникла ввиду того, что существовавшие в то время языки программирования в основном были ориентированы на решение вычислительных задач. Они обладали необходимыми средствами для работы с символами, но были слишком профессиональными и не соответствовали проекту Dynabook. Поэтому был отдан высокий приоритет разработке нового языка. Некоторые его идеи были заимствованы у Пайперта, который строил язык Logo на основе работ французского психолога Жана Пиаже.
Изначально предполагалось, что Smalltalk как инструмент программирования Dynabook будет совсем простым, доступным для детей. Его первая версия была смоделирована несколькими тысячами операторов на Basic в октябре 1972, через четыре месяца появилась версия на языке ассемблера (Smalltalk-72), и позже, в 1974, когда её установили на Alto, можно было начинать экспериментальную работу с детьми. До 1980 работы по Smalltalk-72, а затем и Smalltalk-74 носили исключительно локальный характер. Версию Smalltalk-80 решено было сделать публичной, для чего предполагалось выпустить несколько типов документов, от статей до книг (последовательно “Синяя”, “Оранжевая” и “Зеленая”). В этой работе значительную роль сыграл Дан Ингаллс (Dan Ingalls).
Чтобы язык можно было использовать на различных платформах, его реализовали в виде виртуальной машины (Virtual Machine, VM) и виртуального образа (Virtual Image, VI). VI представляет собой коллекцию классов, где закодирована функциональность Smalltalk, включая определение структур данных, методов работы с текстами и графикой, компиляторы, декомпиляторы, отладчики. Компилятор генерировал код на промежуточным языке, названном byte codes. VM обеспечивала интерпретацию байт-кодов на любой платформе. У современного читателя названия байт-код и виртуальная машина вызывают совершенно определенные ассоциации с Java.
Будущее Smalltalk и его связь с Java чрезвычайно интересны, но эти вопросы не входят в тематику статьи.
После Xerox PARC
С уходом из Xerox PARC заканчивается романтический период жизни Алана Кея. С 1984 по 1996 г. он имел статус свободного исследователя (Fellow) в Apple, затем перешел на должность вице-президента по исследованиям и разработкам в компанию Walt Disney. Сейчас он ведет подразделение Walt Disney Imagineering Lab., где разрабатываются самые новые аттракционы для парков Disney World.
Читайте также: