Мы уделили серьезное внимание работе растровой графики и музыки, а также их сведению в относительно простом языке. Мы многому научились в ходе работы, и в итоге получился действительно хороший язык. После Smalltalk-72 мы сделали Smalltalk-76, который фактически представлял собой Smalltalk-80. И я понял, что это может быть серьезной программной средой для всей индустрии. У нас даже возник некий конфликт с Аланом, поскольку он не хотел углубляться в этом направлении.
Спустя некоторое время он ушел из Xerox, и наши пути разошлись. Это произошло, потому что мы кое-что выяснили. Например, время на внесение изменений в систему теперь исчислялось секундами, а вскоре должно было составить доли секунды. Система была жива и полностью функционировала. А это то, что мне, как и многим другим, очень нравится. Давайте строить такие же живые системы. Именно такой системой стал Smalltalk. Затем возникла новая цель, что породило Smalltalk-80. Squeak был в какой-то мере возвращением к той же концепции, но с добавлением возможности писать его на нем самом.
Сейбел: Итак, вы с Кэем пошли по разным дорогам. Разочаровались ли вы в изначальной концепции Smalltalk?
Ингаллс: Нет, ни в коем случае. Я уже говорил, что по образованию я физик, и в моей натуре, думаю, заложена привычка глядеть на мир и думать, как он работает, каковы действующие в нем силы, как движутся планеты, как дуют ветры и все такое, задавать вопросы об этом и ощущать тесную связь со всеми явлениями. В физическом мире, во всяком случае, это просто. Можно войти в явление с нулевым пониманием и выйти, полностью представляя себе, как оно работает.
В компьютерах, полагаю, происходит то же самое. В вычислительной среде вы можете ничего не понимать в музыке и ее синтезе, но при этом понимать, как все работает. Это должно быть доступно. То же самое с графикой. Очень похожий вариант. У вас есть какие-то крошечные вещи — различные графические эффекты, есть какие-то более структурированные вещи, вы сводите это вместе. То же и с математическими вычислениями.
Когда я ввожу в Smalltalk новичка, я обычно говорю: «Что вас интересует здесь: разбор текста? Работа с числами? Графика? Или работа с музыкой?» И потом мы начинаем углубляться в материал. Это во многом по-прежнему моя страсть — уверен, и Алана тоже: мы любим погружаться с новичками в том направлении, которое им интересно, а выныривают они оттуда уже с такими идеями, которые Алан называет мощными, — теми «Ага!», позволяющими оценить поразительное разнообразие, которое на деле получается из пары-тройки простых, самых общих работающих элементов.
Это же можно видеть и в музыке, и в графике, и в численном анализе, и в операциях с текстом. И мне очень нравится делать это доступным.
Squeak — это среда для ученого, компьютерного специалиста. eToys — среда для детей, но, к сожалению, не столь понятная, как могла бы быть. Я до сих пор считаю, что мы ее не доработали, не добавив элемент, который мог позволить чисто интуитивно погрузиться внутрь и вынырнуть с физическим пониманием этих впечатляющих идей.
Я до сих пор ношусь с этим так же, как и со всем остальным. Почему я продолжаю заниматься подобными вещами — JavaScript и браузером? Мы уже очень близки к тому, чтобы поместить материал вроде Squeak на веб-страницу, которую можно просматривать любым браузером и с которой можно взаимодействовать каким-нибудь удобным и понятным образом. Это часть общей картины. Уверен, вскоре она изменится. Браузеры должны измениться. Мы возьмем другие языки, не только JavaScript. Я по-прежнему поддерживаю контакт с Аланом и его группой, которые предпринимают новую попытку зайти дальше и решить некоторые из текущих проблем более серьезно. Но подход при этом остается совершенно тем же самым.
Сейбел: Вы упоминаете четыре дисциплины: музыка, графика, математика и текст. Они стары почти как само человечество. Безусловно, у них есть свои впечатляющие идеи вне зависимости от всяких компьютеров: компьютер просто обеспечивает способ их исследовать, что без него могло бы быть сложнее. Есть ли также интересные идеи, внутренне присущие компьютерам? Является ли программирование или компьютерные науки еще одним, пятым фактором, в котором мы можем разобраться только сейчас, уже владея компьютерами?
Ингаллс: Да, собственно, к этому я и подбираюсь. Вот план, который всегда казался мне наилучшим: начиная в одной области с настроем далеко в ней продвинуться, вы переходите затем в другую, менее вам знакомую, и то же самое делаете там. Урок здесь в том, что когда вы переходите к более простым и глубоким структурам, порождающим любую отрасль, то обнаруживаете, что в принципе все они сходны.