KnigaRead.com/

Нил Стивенсон - В начале была командная строка

На нашем сайте KnigaRead.com Вы можете абсолютно бесплатно читать книгу онлайн Нил Стивенсон, "В начале была командная строка" бесплатно, без регистрации.
Перейти на страницу:

Вы не можете попробовать это, если его не установите. С любой другой ОСью, ее установка была бы простым делом: в обмен на деньги, некоторая компания должна дать вам «сидюк», и вы окажетесь в начале пути. Но многое в этом типе сделки лишь подразумевается, и должно от этого лишь произойти и приобретаться отдельно.

Мы любим простые дела и простые сделки в Америке. Если вы поедете в Египет и, скажем, возьмете такси где-нибудь, вы становитесь частью жизни водителя такси; он отказывается брать ваши деньги из-за того, что это может унизить вашу дружбу, он следует за вами вокруг города, и плачет горючими слезами, когда вы садитесь в такси другого парня. Вы заканчиваете встречей с его детьми в некотором месте, и должны посвятить себя всего своего рода искренности, чтобы найти какой-то способ скомпенсировать его убытки, не оскорбляя его честь. Это изматывает. Иногда вы просто захотите простой поездки на такси в манхэттенском стиле.

Но, чтобы поиметь установку в американском стиле, где вы можете просто выйти и кликнуть такси (в смысле клича, а не клика, — прим. для погонщиков «мыши») и дуть своей дорогой, должен существовать целый скрытый аппарат побрякушек, инспекторов, комиссий, и так далее, — который нужен, чтоб такси были дешевы и вы могли в любое время получить одно из них. Когда система отказывается работать почему-либо, это непостижимо и возмутительно и обращает во всех остальных отношениях разумных людей в конспирологических теоретиков. Но, когда Египетская система ломается, она остается прозрачной. Вы не можете получить такси, но племянник вашего водилы прискачет на своих двоих, чтобы объяснить проблему и извиниться.

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;))) — Прим. перев.)

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

Триада редактора, компилятора, и компоновщика, взятых вместе, формирует сердцевину системы разработки программного обеспечения. Теперь есть возможность вбухать много денег в чистенькие системки разработки с красивенькими графическими интерфейсами пользователя и различными эргономическими расширениями (О! Как RAD каждый программист, которому дан в ощущениях процесс Быстрой Разработки Приложений. В некоторых случаях это могло даже быть хорошим и разумным способом тратить деньги. Но на этой стороне дороги, самым лучшим программным обеспечением являются обычно свободные вещи. Редактор, компилятор и компоновщик для хакеров то же самое, чем были пони, стремена, и «комплекты стрельбы из лука» для Монголов (ну, колчан со стрелами и тугой лук — это в своем роде и есть комплект джентльменского арчера, будь то древний монгол или современный энтузиаст любимого спорта английских йоменов и славных парней робин-гудов, так что мой перевод archery sets прошу считать адекватным — прим. перев). Хакеры живут в седле (то есть в Сети? а где живут монголы? — неодумение пререв.), и «хакают» своими собственными инструментами, даже когда используют их, чтобы создать новые приложения. Это в натуре непостижимо, что инструментальные средства высшей пробы могут создаваться с чистого листа инженерами продукта. Даже если они — самые яркие инженеры в мире, они просто в меньшинстве.

В «ГНУсном мире Линуха» (это разумеется, юмор: попробуйте без вопросов перевести на великий и могучий GNU/Linux world. — Прим. перев.) есть две основных проги для редактирования: минималистский vi (известный в некоторых реализациях как elvis) и максималистский emacs (плюс два лагеря непримиримых сторонников того и другого, между которыми — настоящие религиозные войны. — Прим. перев.). Я использую emacs, который можно представить как термоядерный текстовый процессор. То, что он создавался Ричардом Столлманом (Richard Stallman); говорит достаточно. Он написан на языке Лисп, который является единственным машинным языком, который красив (весьма спорное утверждение, целиком на совести автора. Мое мнение может с ним не совпадать: я не люблю Лисп, если кто-то спросит. Мне гораздо больше по вкусу CLIPS, как объектно-ориентированное развитие идей функционального программирования — Прим перев.). Он колоссален, и всего лишь навсего редактирует обычные текстовые файлы ASCII, то есть, никаких шрифтов, никаких «жирных» гарнитур, никакого подчеркивания. Другими словами, часы инженеров, которые, в случае Microsoft Word, посвящались примочкам подобно автоматическому составлению писем и способности вставлять изображения изменяемого размера в корпоративные меморандумы, были, в случае emacs, сфокусированы на маниакальной по интенсивности работе над кажущимися обманчиво простыми проблемами редактирования текста. Если Вы — профессиональный писатель — т. е., если кто-то еще получает деньги, за беспокойство о том, как ваши слова будут отформатированы и напечатаны — emacs затмевает все другие софтины для редактирования приблизительно так же, как полуденное солнце делает звезды. Он не просто большой и более яркий; он просто заставляет всех остальных побледнеть (ну, тоже в своем роде двусмысленное замечание — бледнеть можно по разным причинам, — прим. перев.). Для страничного форматирования и печати Вы можете использовать TeX: обширный объем правил печати, написанных на Си и также свободно доступных в Сети.

Перейти на страницу:
Прокомментировать
Подтвердите что вы не робот:*