Читаем В начале была командная строка полностью

Исходные файлы являются просто текстовыми файлами ASCII. ASCII означает конкретный способ кодировать буквы в битовые образы. В файле ASCII, на каждый символ имеет восемь битов. Это создает резерв «алфавита» на 256 отдельных символов, в этих восьми двоичных цифрах можно сформировать это множество уникальных образцов (два в восьмой степени равно 256 — т. е. число комбинаций из восьми двоичных разрядов, — прим. перев.). На практике, конечно, мы стремимся ограничить себя знакомыми буквами и цифрами. Битовые шаблоны используются, чтобы представить эти буквы и цифры такими же, как те, которые физически перфорировались на бумажную перфоленту моим телетайпом в средней школе, который в свою очередь был таким же, как те, что использовались телеграфной промышленностью в течение десятилетий. Текстовые файлы ASCII, другими словами, — те же самые телеграммы, и как у таковых у них нет всяких типографских украшалок. Но по той же причине они вечны, поскольку код никогда не меняется, и универсальны, поскольку любая из когда-либо написанных программ для редактирования и обработки текстов «в курсах» относительно этого кода. (То есть, конечно, появляются всякие монстры, типа Unicode — удвоенная таблица из 16 разрядов (65536 комбинаций), в которой можно хранить весь китайский алфавит для захвата рынка ПО на родине Мао, но ASCII понимает любой уважающий себя компьютер. Шутка в тему: как на глаз отличить письма в кодировке ASCII и Unicode? Элементарно: маленькие письма — ASCII, большие — Unicode;))) — Прим. перев.)

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

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

Перейти на страницу:

Похожие книги