Строка компьютерного кода – важный частный случай письменной команды, выполнять которую должна машина. (В наши дни, чтобы быть уверенным в точном выполнении задания, лучше перевести его в код и поручить машине.) Этот код бурно развивался все считаные десятилетия существования компьютерной техники, и его растущая мобильность имеет глубокие практические последствия.
В 1960-е стандартным носителем и средством ввода кода была перфокарта; программа вместе с данными могла состоять из нескольких тысяч картонных карточек с дырками. У них была чрезвычайно низкая плотность информации – значительно меньше, чем у печатной страницы. Работа с перфокартами происходила на больших, шумных и ненадежных механических устройствах: собственно перфораторах, сортировщиках и ридерах. Карточки застревали, рвались, горели и боялись воды. Когда их выбрасывали (а происходило это часто), они заполняли собой целые мусорные баки. Программисты подолгу просиживали в перфораторной компьютерного центра, а потом бегали взад-вперед к окну отправки заданий с коробками карточек и распечатками под мышкой.
С удешевлением и повышением информационной плотности магнитных носителей они постепенно сменили перфокарты, став основным средством хранения программ и данных. Бобины с магнитной пленкой, пленочные картриджи различных типов и флоппи-диски сделали код менее громоздким и более подвижным. Когда в 80-х появились персональные компьютеры, программы для них распространялись в запечатанных пленкой коробках, а основным способом передачи информации с машины на машину был физический перенос дискеты с места на место. У некоторых ранних моделей вообще не было жесткого диска, и работали они, только когда в них вставлялась дискета.
Недорогие вместительные жесткие диски в сочетании со все более эффективными сетями обеспечили переход к скачиванию программного обеспечения. Вместо того чтобы покупать программу в магазине и нести ее домой в картонной коробке, можно было просто загрузить ее из интернета (что оказалось особенно удобно для установки обновлений). Спрос на дискеты и компакт-диски резко снизился, а считывающие устройства для внешних носителей перестали быть обязательным компонентом настольных компьютеров и ноутбуков.
С изменениями внешней среды эволюционировал и сам код. Ранние языки программирования, такие как фортран, разрабатывались с учетом возможностей перфокарт – в картах было восемьдесят колонок, поэтому фортран использовал операторные последовательности длиной до восьмидесяти символов. Однако языки сетевой эры, такие как С++, обеспечили значительно более гибкое форматирование и позволили программистам выстраивать код в модульные узлы многократного использования, получившие общее наименование объектов. Затем язык Java сделал код предельно мобильным, облегчив загрузку и выполнение объектов на любом подключенном к сети устройстве. С этим процессом быстро познакомились пользователи браузеров, которые стали все чаще загружать на свои компьютеры встраиваемые Java-приложения, обеспечивающие работу анимированных фрагментов сайтов и выполнение специализированных заданий.
Сегодня код растекается по сетям – как проводным, так и беспроводным – и закрепляется везде, где есть свободная память. Оказавшись в устройстве, он начинает управлять его действиями. Иногда с пользой, если речь идет о программе, благодаря которой работает ваш МРз-плеер, сотовый телефон или автомобиль, а иногда во вред, если это прицепившийся к входящему письму вирус, который берет на себя управление компьютером, выводит на дисплей издевательскую надпись и форматирует жесткий диск. Функции легко сменяют друг друга; вместе с файлом вы автоматически получаете программу для его чтения – как если бы вместе с телевизионным сигналом доставлялся и сам телевизор.
Дематериализованный, сверхмобильный код действует заодно с памятью, вычислительными способностями и всеобъемлющими сетевыми связями сегодняшних цифровых устройств. Все вместе они создают всепроникающую, быстро растущую структуру команд, правил и средств управления. Наша повседневная жизнь все в большей степени протекает в пределах, установленных этой структурой. Как показала паника по поводу проблемы-2000 и сопутствующие ей усилия по выслеживанию и исправлению ошибочного кода, ее власть быстро стала всемирной и абсолютной16
.Код мобилен. Код повсюду. И для машин, и для людей, которые с ними взаимодействуют, код – это закон17
.Невесомые изображения
Первобытные рисунки были неотделимы от скал. Самые древние из сохранившихся изображений нанесены на стены пещер и неотделимы от места создания. Но, как и текст, со временем изображения теряли в весе и становились все более движимым имуществом.
Борис Александрович Тураев , Борис Георгиевич Деревенский , Елена Качур , Мария Павловна Згурская , Энтони Холмс
Культурология / Зарубежная образовательная литература, зарубежная прикладная, научно-популярная литература / История / Детская познавательная и развивающая литература / Словари, справочники / Образование и наука / Словари и Энциклопедии