Кто из вас пользовался электронными таблицами, например, Microsoft Excel? Отлично. А кто управлял бизнесом с помощью таблиц, написанных вручную? Мой отец управлял так своей небольшой типографией в Филадельфии. Намного меньше. Дела велись таким способом сотнями лет. В начале 1987 года я начал работать над идеей, воплотившейся в итоге в программу VisiCalc. И через год она вышла на рынок. Она была запущена на новом устройстве — персональном компьютере Apple II. Можно сказать, что многое сильно поменялось за шесть лет, когда в Wall Street Journal завели редакционную колонку, в которой подразумевалось, что люди знакомы с программой VisiCalc и даже используют её. В 1990 году Стив Джобс сказал: «Электронные таблицы продвинули индустрию вперёд». «Создание VisiCalc принесло Apple больший успех, чем что-либо другое». В личной беседе Стив сказал: «Если бы программа VisiCalc была создана для другого компьютера, вы бы брали интервью у кого-то другого». Благодаря VisiCalc персональные компьютеры стали использоваться в офисах бизнесменов. Как так вышло? Как это происходило? Через что я прошёл, чтобы сделать такую программу? Я научился программировать в 1966 году, когда мне было 15 — всего через пару месяцев после этого снимка. Не многие старшеклассники имели тогда доступ к компьютерам. Но благодаря удаче и непоколебимому упорству я получал доступ к компьютерам в городе. После ночёвок в грязи на фестивале в Вудстоке я отправился поступать в MIT, где я работал над проектом Multics, чтобы заработать денег. Multics была одной из первых операционных систем с разделением времени исполнения программ. Знаете ли вы такие операционные системы, как Linux и Unix? Они произошли от Multics. Я работал над созданными для Multics интерпретируемыми языками программирования, используемыми людьми в некомпьютерных областях для вычислений на компьютерном терминале. После окончания MIT я начал работать в Digital Equipment Corporation. Там я работал над программами в новой области — для набора текстов с помощью компьютера. Я помогал газетам заменять их печатные машинки на компьютерные терминалы. Я создавал программное обеспечение, а затем применял его, например, для газеты Kansas City Star, где я учил пользователей и получал ответную реакцию. Это был настоящий жизненный опыт, отличающийся от приобретённого в лаборатории MIT. Затем я был руководителем разработки первого текстового редактора в Digital Equipment Corporation — опять-таки новая область. Как и при наборе текста, важным было создание пользовательского интерфейса, подходящего для людей, не связанных с компьютерами. После Digital Equipment Corporation я перешёл в небольшую компанию, создававшую микропроцессорный электронный кассовый аппарат для индустрии фаст-фуда. Но мне всегда хотелось начать своё дело с моим другом Бобом Фрэнкстоном, с которым я познакомился в MIT, работая над Multics. Так что я решил продолжить высшее образование в области бизнеса. Осенью 1977 года я поступил по программе MBA в Гарвардскую школу бизнеса. Я был одним из немногих студентов, имевших опыт в программировании. Вот снимок из ежегодника — я сижу в первом ряду. (Смех) В Гарварде мы обучались по методу кейсов. Мы делали по три кейса в день. Кейсы состояли из нескольких десятков страниц, описывающих конкретную бизнес-ситуацию. Часто там бывали приложения, содержащие слова и числа, имеющие смысл только для конкретной ситуации. Все они, как правило, отличались. Вот моя домашняя работа. Снова числа, слова, изложенные так, чтобы они имели смысл. Множество вычислений — мы сами стали как калькуляторы. Кстати, вот мой калькулятор. На Хэллоуин я оделся в костюм-калькулятор! (Смех) В начале каждого занятия профессор вызывал кого-то выступить с кейсом. Им нужно было объяснить ситуацию и продиктовать информацию, а профессор должен был записать её на большом количестве поднимающихся досок. Затем мы начинали обсуждение. Бывало очень досадно, закончив всю домашнюю работу, прийти на следующий день и обнаружить ошибку, так что все остальные вычисления оказываются неправильными. Тогда ты не можешь активно участвовать на занятии, а за активность ставили оценки. Сидя в аудитории среди 87 человек, я часто мечтал. Большинство программистов тогда работали на мейнфреймах, разрабатывая системы инвентаризации, начисления заработной платы и оплаты счетов. Но до этого я работал над интерактивной обработкой текстов и над персональными вычислениями по заказам. Вместо размышлений о бумажных распечатках и перфокартах я представил себе волшебную доску, где при стирании одного числа и замене его на другое все остальные числа автоматически меняются — это как обработка текстов для чисел. Я представил себе, что у моего калькулятора внизу есть устройство вроде мыши, а наверху — экран как у военного самолёта. Я могу вводить числа, обводить их и нажимать кнопку «сумма». Я могу получать результат прямо во время переговоров. Мне предстояло только воплотить свою фантазию в реальность. Мой отец научил меня создавать упрощённые модели. Он показывал мне макеты, создаваемые им для определения расположения материала на страницах брошюр, которые он печатал. Он использовал их для получения одобрения от клиентов, перед тем как отправить работу в печать. Создание простой работающей версии того, что ты пытаешься построить, неминуемо обнаруживает главные проблемы и позволяет найти решения этих проблем с гораздо меньшими затратами. Поэтому я решил построить упрощённую модель. Я воспользовался видеотерминалом, подключённым к Гарвардской системе с разделением времени и принялся за работу. Одной из первых проблем, с которыми я столкнулся, было следующее: как представлять значения в формулах? Я покажу вам, что я имею в виду. Я полагал, что человек укажет место, впишет там что-то, потом ещё где-то впишет что-то, введёт некоторые числа, ещё числа и укажет на то место, где он захочет увидеть ответ. Затем нажмёт первое число, нажмёт минус, нажмёт второе число и получит результат. Вопрос был в следующем: что нужно подставлять в формулу? Это должно быть что-то, известное компьютеру. Глядя на формулу, нужно было знать, к чему на экране она относится. Итак, вначале я подумал об этом с точки зрения программиста. После первого нажатия где-либо компьютер попросит ввести уникальное название. Довольно быстро стало ясно, что это слишком трудоёмкое занятие. Нужно было, чтобы компьютер автоматически создавал название и сохранял его. Я подумал, а почему бы не брать их в том порядке, в котором они создаются? Я попробовал так: значение 1, значение 2. Довольно быстро я заметил, что если у вас много значений, вы никогда не запомните, где что было на экране. Тогда я подумал, что можно разрешить помещать значения не в произвольных местах, я в пределах решётки. Тогда, если вы нажмёте ячейку, компьютер мог бы взять в качестве названия строку и столбец. Если бы это было как на карте — сверху А, B, C, а сбоку 1, 2, 3, увидев B7 в формуле, вы бы точно знали, где это на экране. Если бы нужно было вводить значения в формулу, вы бы знали, что делать. Ограничение решёткой помогло решить мою проблему. Это также открыло новые возможности, например, возможность группировать ячейки. Но излишних ограничений не было — можно было вводить любые значения, любую формулу в любую ячейку. Спустя почти 40 лет мы делаем это тем же способом. Мы с моим другом Бобом решили разрабатывать эту программу вместе. Я в основном пытался определить, как программа будет себя вести. Я составил короткую инструкцию, которая служила документацией. Также, по ней я сверялся, что создаваемый мной интерфейс можно кратко и доступно объяснить несведущим в компьютерах людям. Боб работал на чердаке квартиры, которую он снимал в Арлингтоне в Массачусетсе. Вот этот чердак внутри. Боб съэкономил время, используя систему Multics, разработанную в MIT, чтобы написать код на таком вот терминале. Затем он загрузил тестовые версии на взятый взаймы Apple ll через телефонную линию с помощью акустического модема, а потом мы тестировали. Во время одного из таких тестов я готовился к кейсу, связанному с Pepsi Challenge. Распечатывать пока было невозможно, поэтому мне приходилось всё переписывать. Сохранять было невозможно, и при каждом сбое программы мне приходилось заново вводить все формулы. На следующий день я поднял руку на занятии. Меня вызвали, и я представил кейс. Я сделал прогноз на пять лет, все возможные сценарии развития событий. Я получил высшую оценку. VisiCalc уже приносила пользу. Профессор спросил: «Как вы это сделали?» Я не хотел ему рассказывать о нашей секретной программе. (Смех) Я ответил: «Я взял это, добавил то, умножил на это, отнял то». Он спросил: «Почему вы не использовали пропорцию?» Я ответил: «Ах! Пропорцию! Она не дала бы такой точный результат!» Я не сказал, что деление пока не работает. (Смех) В конце концов мы всё же доделали VisiCalc, чтобы представить публике. Отец распечатал небольшую инструкцию, которую мы могли использовать как маркетинговый материал. В июне 1979 года наш издатель объявил о VisiCalc миру на маленьком стенде на огромной Национальной компьютерной конференции в Нью-Йорке. В New York Times написали с юмором об этой конференции. «Машины, кажется, выполняют религиозные ритуалы... Пока верующие собираются, художники в помещении Колизея добавляют к пантеону, тщательно выводя "VISICALC" огромными чёрными буквами на жёлтом фоне. Да здравствует VISICALC!» New York Times: «Да здравствует VISICALC!» (Смех) Это было последним упоминанием об электронной таблице в массовой деловой прессе на протяжении двух лет. Большинство людей этого ещё не поняли. Но некоторые поняли. В октябре 1979 года мы запустили VisiCalc на рынок. Она приходила, упакованная вот так. А вот так она выглядела при запуске на Apple ll. А остальное, как говорится, история. Есть ещё куча всего в этой истории, но об этом мы расскажем когда-нибудь потом. Кое о чём всё же помнят в Гарварде. Это та же самая аудитория. Они установили мемориальную доску о происходивших там событиях. (Аплодисменты) Но это напоминает также о том, что и вы должны использовать свой уникальный опыт, умение и потребности и строить упрощённые модели для открытия и решения ключевых проблем, и таким способом изменять мир. Спасибо. (Аплодисменты)