В начале была командная строка
Шрифт:
И ему нужны были дешевые аппаратные средства, чтобы писать этот код. Получение дешевого «железа» — значительно более трудная штука, чем дешевое программное обеспечение; один-единственный человек (Столлман) может написать программное обеспечение и выложить его в Сеть для свободного использования, но чтобы делать железяки, необходимо иметь целую промышленную инфраструктуру, которая является не дешевой для сколь угодно богатого воображения. Действительно единственный способ, сделать аппаратное средство дешевым — наштамповать невероятное количество его копий, так, что устройство стоит в конечном счете гроши. По причинам уже объясненным, Apple не захотела увидеть стоимость аппаратных грошей. Единственной причиной, почему Торвальдс поимел дешевое железо, была Microsoft.
Microsoft обломалась
Осиновый шок
Молодые Американцы, которые оставляют свою большую однородную страну и посещают некоторую другую часть мира, естественно, проходят различные стадии культурного шока: первая, немое, с широко раскрытыми глазами, удивление. Затем экспериментальное увлечение традициями новой страны, кухней, системой общественного транспорта и туалетами, ведущее к краткому периоду простодушной уверенности, что они — мгновенные эксперты по новой стране. По мере того как визит продолжается, ностальгию начинает усиливаться, и путешественник начинает ценить, впервые, то, что он или она считали само собой разумеющимся дома. В то же самое время начинает казаться очевидным, что многие отдельные культуры и традиции по существу произвольные, и могли бы быть другими; как езда по правой стороне дороги, например. Когда путешественник возвращает домой и подводит итоги полученного опыта, он или она узнает много более об Америке, чем о стране, которую они посещали.
По тем же причинам, стоит попробовать Linux. Это — чудная страна на самом деле, но вам не придется жить там; краткого пребывания достаточно, чтобы уловить некоторый вкус места и — более важно — обновить представления обо всем, что считалось само собой разумеющимся, и обо всем, что может делаться иначе, под Windows или MacOS.
Вы не можете попробовать это, если его не установите. С любой другой ОСью, ее установка была бы простым делом: в обмен на деньги, некоторая компания должна дать вам «сидюк», и вы окажетесь в начале пути. Но многое в этом типе сделки лишь подразумевается, и должно от этого лишь произойти и приобретаться отдельно.
Мы любим простые дела и простые сделки в Америке. Если вы поедете в Египет и, скажем, возьмете такси где-нибудь, вы становитесь частью жизни водителя такси; он отказывается брать ваши деньги из-за того, что это может унизить вашу дружбу, он следует за вами вокруг города, и плачет горючими слезами, когда вы садитесь в такси другого парня. Вы заканчиваете встречей с его детьми в некотором месте, и должны посвятить себя всего своего рода искренности, чтобы найти какой-то способ скомпенсировать его убытки, не оскорбляя его честь. Это изматывает. Иногда вы просто захотите простой поездки на такси в манхэттенском стиле.
Но, чтобы поиметь установку в американском стиле, где вы можете просто выйти и кликнуть такси (в смысле клича, а не клика, — прим. для погонщиков «мыши») и дуть своей дорогой, должен существовать целый скрытый аппарат побрякушек, инспекторов, комиссий, и так далее, — который нужен, чтоб такси были дешевы и вы могли в любое время получить одно из них. Когда система отказывается работать почему-либо, это непостижимо и возмутительно и обращает во всех остальных отношениях разумных людей в конспирологических теоретиков. Но, когда Египетская система ломается, она остается прозрачной. Вы не можете получить такси, но племянник вашего водилы прискачет на своих двоих, чтобы объяснить проблему и извиниться.
Microsoft и Apple делают вещи в манхэттенском стиле, с обширной сложностью упрятанной за стеной интерфейса. Linux делает вещи «египетским» способом, с обширной сложностью разбросанной по всему ландшафту. Если Вы только что прилетели из Манхэттена, ваш первый импульс будет
Вы можете высосать Линух прямо из воздуха, типа как, загружая правильные файлы и укладывая их в правильных местах, но вероятно есть не более нескольких сотен умников в мире, которые могли бы создать функционирующую линуховую системку таким способом. Чего вам в натуре пригодится, так это линуховая дистрибуция, которая означает заранее расфасованный комплект файлов. Но дистрибуции являются чем-то отдельным, в отличие от Линуха как такового.
Linux сам по себе — не специфический набор единиц и нулей, но самоорганизующаяся сетевая субкультура. Конечный результат ее коллективных заклинаний — обширное тело исходного кода, почти все записанное на Си (доминирующий компьютерный язык программирования). «Исходный код» просто означает компьютерную программу как набранную и отредактированную каким-нибудь хакером. Если она на Си, имя файла будет вероятно иметь окончание. c или. cpp, в зависимости от того, какой диалект был использован; если она — на некотором другом языке, то будет иметь некоторый другой суффикс. Часто файлы этого типа могут обнаруживаться в директории с именем /src, которое является хакерским «гебраическим» сокращением от «исходник». (То есть «source» — прим перев.)
Исходные файлы бесполезны на вашем компьютере, и представляют небольшой интерес для большинства пользователей, но в них гигантское культурное и политическое значение, поскольку Microsoft и «Яблочники» держат их в секрете, тогда как «линухоиды» делают их общедоступными. Они как семейные ценности. Они — типа той штуки, которая в триллерах Голливуда использована в качестве Чудо-Юдо Оружия: плутониевая начинка бомбы, совершенно секретные планы, чемодан совсекретных инструкций, бобина микрофильма. Если б исходники для «Форточек» или MacOS были сделаны общедоступными через Сеть, то эти ОСи стали бы свободными, подобно Линуху — только не настолько хорошими, из-за того, что никого не оказалось бы вокруг, чтобы «пофиксить баги» и ответить на вопросы. Linux — «открытый источник» софта, лишь в том значении, просто, что каждый может получить копии его исходников.
Вашему компьютеру исходная программа нужна не более вас самих; ему нужен объектный код. Файлы объектного кода естественно имеют суффикс. o и нечитабельны почти ни для кого, кроме некоторых очень странных пацанов, из-за того, что они состоят из единиц и нулей. Соответственно, файлы этого типа обычно валяются в директории с именем /bin, для «бинарников.»
Исходные файлы являются просто текстовыми файлами ASCII. ASCII означает конкретный способ кодировать буквы в битовые образы. В файле ASCII, на каждый символ имеет восемь битов. Это создает резерв «алфавита» на 256 отдельных символов, в этих восьми двоичных цифрах можно сформировать это множество уникальных образцов (два в восьмой степени равно 256 — т. е. число комбинаций из восьми двоичных разрядов, — прим. перев.). На практике, конечно, мы стремимся ограничить себя знакомыми буквами и цифрами. Битовые шаблоны используются, чтобы представить эти буквы и цифры такими же, как те, которые физически перфорировались на бумажную перфоленту моим телетайпом в средней школе, который в свою очередь был таким же, как те, что использовались телеграфной промышленностью в течение десятилетий. Текстовые файлы ASCII, другими словами, — те же самые телеграммы, и как у таковых у них нет всяких типографских украшалок. Но по той же причине они вечны, поскольку код никогда не меняется, и универсальны, поскольку любая из когда-либо написанных программ для редактирования и обработки текстов «в курсах» относительно этого кода. (То есть, конечно, появляются всякие монстры, типа Unicode — удвоенная таблица из 16 разрядов (65536 комбинаций), в которой можно хранить весь китайский алфавит для захвата рынка ПО на родине Мао, но ASCII понимает любой уважающий себя компьютер. Шутка в тему: как на глаз отличить письма в кодировке ASCII и Unicode? Элементарно: маленькие письма — ASCII, большие — Unicode;))) — Прим. перев.)