Выбрать главу

LINUX

В конце 1980-х и начале 1990-х я затратил много времени, программируя «Макинтоши», и в конечном счете решил выделить несколько сотен баксов на «яблочный» продукт, названный «Мастерская Программиста Макинтошей», или MPW (сокр. от «Macintosh Programmers Workshop» — прим. перев.). У MPW были конкуренты, но она была неоспоримо первой системой разработки программного обеспечения для Mac. Это был тот самый молоток, которым собственные инженеры «Apple» пользовались, чтобы заколачивать код в Macintosh. Если MacOS была технологически значительно более продвинутой, в то время, чем конкурентные системы, а Linux даже не существовал тогда, и если MPW была в натуре программой, использованной группой «Яблочных» творческих инженеров мирового класса, у меня были «законные» высокие ожидания. Оно прибыло в виде стопки флоппи-дисков, около фута высотой, и у меня было много времени, чтоб поволноваться, в течение бесконечного процесса установки. Как только я запустил MPW, я, наверно, ожидал чего-то типа приобщения к образцу мультимедиа. Взамен это оказалось аскетичным, почти пугающим на вид. Это было обычное окно прокрутки, в котором вы могли бы набрать простой, бесформатный текст. Система должна затем проинтерпретировать те строки текста, как команды, и попытаться их выполнить.

Это был, другими словами, стеклянный телетайп, выполняющий интерфейс командный строки. Он пришел со всякого рода загадочными, но мощными командами, исполнять которые надо было, набирая их имена, и которые я научился использовать только постепенно. Это случилось только после того, как несколькими годами позже я начал возиться с Unix, в результате чего я понял, что интерфейс командный строки, включенный в MPW, был реинкарнацией Unix.

Другими словами, первая вещь, которую «яблочные» хакеры сделали, когда они получили MacOS и запустили ее — вероятно даже перед тем, как получили и запустили — они воссоздали интерфейс Unix так, что они могли бы сделать какую-нибудь полезную работу. В то время, я просто не мог задуматься об этом, но, насколько «яблочные» хакеры кумекали, хваленый «Графический Интерфейс Пользователя» в Mac был им только помехой, чем-то, что нужно было обойти, пока небольшой тостер еще не появился на рынке. (Здесь намек на маркетинговые лозунги «Apple», идеологи которой с подачи Стива Джобса мечтали сделать компьютер обыкновенным бытовым прибором, навроде того же тостера. — прим. перев.)

Даже перед тем, как мой Powerbook «рухнул» и уничтожил мой большой файл в Июле 1995, имелись иные признаки опасности. Мой старый приятель по колледжу, который основывал и запускал высокотехнологичные компании в Бостоне, разрабатывал коммерческий продукт, использующий Макинтоши, как фасад. В принципе «Маки» были быстродействующими графическими терминалами, выбранные как раз из-за их приятного пользовательского интерфейса, давая пользователям доступ к графическому представлению большой базы данных, хранящейся в сети более мощных, но менее дружественных компьютеров. Этот парень был второй человек, который повернул мои мозги на «Макинтоши», между прочим, и всю середину 1980-х мы разделяли священный трепет посвященных в высокие технологии, используя лучшую «яблочную» технологию в мире тупоголовых пользователей ДОС. Ранние версии системы моего друга работали хорошо, как он сообщал мне, но, когда отдельные машины объединили в сеть, начали происходить непостижимые аварии; иногда целая сеть могла просто повиснуть. Это было одним из тех дефектов, которые не могли быть легко воспроизведены. Наконец, они пришли к выводу, что эти сетевые аварии происходили всякий раз, когда пользователь, пробегая меню в поисках конкретного пункта, придерживал кнопку мыши больше чем на пару секунд.

В основе своей, MacOS могла делать только одну вещь за раз. Прокручивание меню на экране — одна вещь. Так, когда меню опускалось, «Макинтош» был не в состоянии делать что-то еще, пока этот нерешительный пользователь не отпускал кнопку.

Это не так плохо для единичного пользователя, на машине с единственной программой (хотя это тоже довольно плохая вещь), но по-настоящему хреново в машине, которая находится в сети, поскольку участие в сетевой обработке подразумевает своего рода непрерывное взаимодействие низкого уровня с другими машинами. Отказываясь откликаться на запросы сети, «Мак» вызвал общесетевую аварию (такое было возможно в одноранговых сетях с передачей маркера по кольцу, когда вся мало-мальски важная работа возлагалась на центральный процессор — теперь всякой низкоуровневой ерундой занимаются специальные микроконтроллеры, не отвлекая вычислительную мощность от просмотра любимых видеофильмов, рисования в «Фотошопе» и раскладывания пасьянсов. — Прим. перев.).