Люди, которые взаимодействовали с компьютерами только через графические интерфейсы пользователя, типа тех же MacOS или Windows, то есть, почти все, кто когда‑либо использовали компьютер, могут испугаться, или, по крайности, растеряться, услышав о телеграфной машине, через которую я обычно общался с компьютером в 1973. Но были, и есть хорошие причины использовать этот конкретный тип технологии. У людей много способов пообщаться друг с другом, как например, музыка, искусство, танец и выражение лица, но некоторые из них более чем другие поддаются, переводу в строки символов. Письменный язык легче всего, поскольку, конечно, он состоит из строк символов - это во–первых. Если символы относятся к фонетическому алфавиту (по сравнению с, скажем, идеограммами), преобразование их в двоичный код - тривиальная процедура, и для тех, кто был технологически подкован в раннем девятнадцатом столетии, с введением Азбуки Морзе и другими формами телеграфии.
У нас был человеко–машинный интерфейс за сотни лет до того, как появились компьютеры. Когда компьютеры возникли где‑то в годы Второй Мировой Войны, люди, вполне естественно, общались с ними, просто привив их на уже существующие технологии для перевода букв в биты и наоборот: то есть, телетайпы и перфораторы.
Они воплощают два коренным образом различных метода обработки. Когда вы использовали карты, вы должны были наперфорировать их целую пачку и прогнать через считыватель все сразу, что и называется "пакетная обработка". Вы могли также выполнять такую обработку с помощью телетайпа, как я уже рассказывал выше, используя считыватель перфоленты, и нам в натуре приходилось использовать этот метод, когда я был в средней школе. Но - хотя были приняты все меры, чтобы сохранять нас в неведении - телетайп способен делать нечто, чего устройство считывания с перфокарт не может. На телетайпе, как только установлена модемная связь, вы могли бы просто набрать строку и нажать клавишу возврата каретки (этой клавише соответствует Enter. - прим. перев.). Телетайп должен послать эту строку в компьютер, который может (а может и не) вывести какие‑то строчки в ответ, что телетайп и печатает, все время, как копию вашей болтовни с машиной. В то время этот способ взаимодействия не имел даже названия, но значительно позже, когда появилась альтернатива, он был заново воплощен в Интерфейсе Командной Строки.
Поступив в колледж, я делал свои расчеты в больших, просто подавляющих помещениях, где десятки студентов сидели перед немного улучшенными версиями тех же самых машин и писали компьютерные программы: эти машины использовали растровый печатающий механизм, но были (с компьютерной точки зрения) идентичны старым телетайпам. В это время, компьютеры стали лучше справляться с разделением времени - это значит, мэйнфреймы остались мэйнфреймами, но они стали лучше общаться со множеством терминалов сразу. Следовательно, больше не было нужды, использовать пакетную обработку. Считыватели карт были выставлены в прихожие и кочегарки, и пакетная обработка осталась известной только яйцеголовым умникам, и следовательно приобрела определенный вкус старины, даже для тех из нас, кто знал, что она вообще существовала. Все мы были теперь не в Пакетном интерфейсе, а в Командной Строке - мой самый первый сдвиг в сторону парадигм операционной системы, если только я вообще что‑нибудь понимаю.
Огромная стопка уложенной в гармошку бумаги на полу под каждым из этих прославленных телетайпов, и мили бумаги продергиваются через их валики. Почти вся эта бумага выбрасывалась или перерабатывалась, никогда не соприкасаясь с чернилами - это экологическое зверство было так вопиюще, что те машины вскоре заменили видеотерминалами - так называемые "стеклянные телетайпы", которые были тише и не тратили бумагу. Хотя, с компьютерной точки зрения, они были, неотличимы от телетайпных машин Второй Мировой Войны. Фактически, мы все еще использовали Виктрианскую технологию, чтобы общаться с компьютерами, вплоть до 1984 года, когда появились компьютеры Macintosh со своим Графическим Интерфейсом Пользователя. Даже после это, Командная Строка продолжила существовать как нижележащий слой - своего рода нижнемозговой рефлекс (brainstem - нижний мозг, прим. перев.) - многих современных компьютерных систем на всем протяжении расцвета Графических Интерфейсов Пользователя, или ГИПов (по аналогии с авторским GUIs, сокр. от Graphical User's Inteface - прим. перев.) как я буду их называть их с этих пор.
Графические интерфейсы пользователя
Сейчас первое, что любому кодеру нужно делать при написании новой части программного обеспечения, сообразить, с какого боку взяться за информацию, которая обрабатывается (в графической программе - изображение; в электронной таблице - колонки чисел) и превратить это в линейную строку байтов (байт - восьмибитная последовательность, когда Интернет был игрушкой агентства DARPA, их еще называли "восьмерками", то есть октетами - прим. перев.). Эти строки байтов обычно называются файлами или (отчасти более точно) потоками. Они подобны телеграммам, как современные люди - кроманьонскому человеку, то есть та же вещь, под другим именем. Все, что вы видите на экране вашего компьютера - ваша "Расхитительница Гробниц", ваши оцифрованные сообщения голосовой почты, факсы, и документы обработанные текстпроцессором, оформленные тридцатью семью разными шрифтами - все это, с компьютерной точки зрения, как обычные телеграммы, только значительно более длинные, и требующие больших вычислений. 3.02
Самый быстрый способ, попробовать это на вкус - запустить ваш сетевой браузер, залезть на сайт, и затем выбрать пункт меню "Вид/ Исходник Документа". Вы получите горстку машинного кода, которая выглядит приблизительно так:
<html>
<head>
<title>Shift Online</title>
<meta name="DESCRIPTION"
content="This is Shift Online,….">
<meta name="KEYWORDS"
content="Shift Online's homepage, homepage of Shift Online, Shift Magazine, Shift TV,
Behaviour, Behaviour, Shift Online, Shift Magazine, …">
</head>
<frameset rows="80, *" frameborder="0" framespacing="0"
border="0">
<frame name="top" src="/reader/43/49/b104943/../html/core_top.html" noresize
scrolling="no" marginwidth="0" marginheight="0"
frameborder="0" framespacing="0">
<frame name="bottom" src="/reader/43/49/b104943/core_java.html" noresize
scrolling="yes" marginwidth="0" marginheight="0"
frameborder="0" framespacing="0">
</frameset>
Эта хрень называется HTML (Язык Гипертекстовой Разметки) и это в общем очень простой язык программирования, указывающий вашему сетевому браузеру как отображать страницу на экране. Каждый может изучить HTML, что многие люди и делают. Главный прикол в том, что независимо от того, какие великолепные мультимедийные вебстраницы они могут забацать, HTML файлы это всего лишь телеграммамы.
Когда Рональд Рэйган был радиодиктором, он обычно рассказывал о бейсбольных матчах, читая краткие описания, которые перетекали по телеграфным проводам и распечатывались на бумажную перфоленту. Он сидел там, заполняя собой комнату с микрофоном, и бумажная перфолента вылезала из машины и ползла по его ладони, напечатанная загадочными сокращениями. Если счет был "три–два", Рэйган описывал изображение, как оно видeлось его мысленному взору: " мускулистый левша выходит из зоны отбивающего, чтобы стереть пот со лба. Ампир выходит вперед, чтоб смести грязь со своего поля…" - И так далее. Когда шифрованный документ на бумажной перфоленте объявлял бэйс–хит, он должен был стукнуть по краю таблицы карандашом, создав небольшой шумовой эффект, и описывать дугу шара как если бы, он мог ее действительно видеть. Его слушатели, многие из которых возможно думали, что Рэйган действительно был в боллпарке, наблюдая игру, могли умозрительно представить сцену, согласно его описаниям.
Это ровно то же самое, как работает Всемирная Паутина (русский вариант расшифровки WWW - прим. перев.): HTML файлы что‑то типа описания на бумажной перфоленте, а ваш сетевой браузер - Рональд Рэйган. Тот же самое в общих чертах справедливо для Графических Интерфейсов Пользователя.
То есть, ОС - это куча метафор и абстракций, которые находятся между вами и телеграммами, и воплощают различные трюки, какие программист использовал, для перевода информации, с которой вы работаете, - будь то изображения, сообщения электронной почты, фильмы или обработка текстовых документов - в ожерелья байтов, с которыми компьютер только и умеет обращаться. Когда мы использовали по сути телеграфное оборудование (телетайпы) или их высокотехнологичные аналоги ("стеклянные телетайпы," или командная строка MS‑DOS), чтобы работать с нашими компьютерами, мы были очень близки к подножию этой кучи. Когда мы используем наиболее современные операционные системы, все равно, наше взаимодействие с машиной сильно опосредованно. Все, что мы делаем, интерпретируется и переводится раз за разом, на своем пути вниз, сквозь все метафоры и абстракции.