способ узнать, что происходит внутри машины, и на историю компьютеров вполне можно смотреть как на непрерывное усложнение датчиков и исполнительных механизмов, которые позволяют нам «вычислять» все в большем и большем масштабе. Первые два десятилетия вычислительной техники, 1950-е и 1960-е гг., были связаны с математическими вычислениями, и мы применяли перфокарты для ввода и вывода цифровых данных. Программы обрабатывали именно эти цифровые данные. Компьютеры использовались практически только для расчета траекторий ракет и государственного долга. В 1960 г. в мире существовало всего несколько тысяч компьютеров. Но после усовершенствования датчиков и исполнительных механизмов появилась возможность вводить в компьютеры текст и применять программное обеспечение к текстовым задачам. В следующие два десятилетия обрабатывались уже тексты, а не только числовые данные. Появление клавиатур и принтеров в 1970-е и 1980-е гг. открыло дорогу текстовым редакторам, настольным издательским системам и электронным таблицам, и персональный компьютер стал атрибутом каждого рабочего места. Прогресс в сфере датчиков и исполнительных механизмов затем позволил оцифровывать аудио- и видеоинформацию. Компьютеры получили сложные графические и звуковые карты, а 1990-е и 2000-е стали годами мультимедиа – они принесли нам звуковые файлы в формате MP3, компьютерные игры и возможность реализации спецэффектов в таких фильмах, как «Парк юрского периода». Сегодня, имея в кармане постоянно включенные смартфоны, мы несем с собой массу датчиков и исполнительных механизмов, постоянно подключенных к интернету, что превращает весь остальной мир в сферу программного обеспечения. Таким образом, 2010-е и 2020-е гг. связаны с вычислениями практически всего сущего. Именно это сделало последнее десятилетие (и сделает следующее десятилетие) таким захватывающим. Набор проблем, к которым можно применить программный образ мышления, растет взрывными темпами.
И дело не в самом программном обеспечении – разработчиками движет быстрота адаптации ПО. Цикл начинается с выслушивания клиентов, быстрого предложения первоначального решения их проблем, и затем идет получение откликов клиентов и непрерывная доработка и улучшение продукта. Разработчики могут применять этот процесс для решения все большего числа мировых проблем. Мне особенно приятно наблюдать за таким процессом в традиционно аппаратных сферах, потому что там, когда разработчик применяет свой подход, можно увидеть физическую реализацию эволюции в пластике, металле и стекле.
Вспомните, что компания Apple сделала с пультом дистанционного управления телевизора. До того как Apple выпустила медиаплеер Apple TV, приставки снабжались пультом дистанционного управления с чуть ли не сотней кнопок. Некоторые компании даже хвастались в рекламе количеством кнопок. Рядом с каждой кнопкой была надпись «Громкость больше/меньше», «Номер канала больше/меньше», «Избранное», «Картинка в картинке», «Источник сигнала», «Меню» и т. д. Первый пульт Apple TV имел всего семь кнопок. Почему? Потому что все функции