booksread-online.com
👀 📔 читать онлайн » Фантастика и фэнтези » Научная Фантастика » Весь Нил Стивенсон в одном томе. Компиляция (СИ) - Стивенсон Нил Таун

Читать книгу 📗 "Весь Нил Стивенсон в одном томе. Компиляция (СИ) - Стивенсон Нил Таун"

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

Довольно много программного Unix — обеспечения вообще обходится без ГПИ. Возможно, его создали до появления X Window, или, возможно, программистам совершенно не хотелось заморачиваться с разработкой ГПИ, а, может, они в нем просто не нуждались. Так или иначе, для вызова любой такой программы достаточно ввести ее имя в командной строке окошка xterm. Наглядное тому подтверждение — уже упоминавшаяся команда whoami. Есть ещё одна, wc (сокращенно от word count, счетчик слов), которая сообщает количество строк, слов и букв, набранных в текстовом файле.

Запуск подобных утилит из командной строки — неоспоримое преимущество Unix, ибо попробуйте сделать хоть что‑то похожее в операционных системах, работающих под ГПИ. Возьмем, к примеру, команду wc, ничего не стоит сесть да написать такую программку для операционной системы с командной строкой. Пара строчек кода (а какой‑нибудь умница — программист вообще обойдется одной строкой) и — готово. Программка маленькая, всего‑то несколько байт памяти, места на диске практически не занимает. Чтобы написать подобную программку в операционках с ГПИ, потребуются сотни, даже тысячи строк кода, а если программист попадется с воображением, то и десятки тысяч. Такая программа страдала бы неизлечимым ГПИ — синдромом — медленно и неохотно загружалась и жрала бы память как не в себя. Овчинка выделки не стоит, поэтому вряд ли такая программа, как самостоятельная и независимая утилита, увидела бы свет. Пользователям пришлось бы дожидаться, когда выйдет коммерческий пакет, в который добавили бы встроенную функцию — счётчик слов.

Склонность ГПИ усложнять любое, даже самое минимальное программное обеспечение постепенно полностью меняет стиль программирования. Теперь бессмысленно писать маленькие утилитки. Их замещают функциями, встроенными в громадные, всеохватывающие программные пакеты. Аппетиты ГПИ растут, он усложняет всё вокруг, программные пакеты превращаются в вечно голодных монстров и начинают поглощать друг друга, как, например, Microsoft Office поглотил Microsoft Word, Excel и Power Point. Все это напоминает ситуацию с гипер — маркетом Wal‑Mart — чудовищных размеров исполин, обосновавшийся на окраине города, сживает со свету расположенные по соседству маленькие частные магазинчики.

Сравнение не совсем уместное, потому что когда магазинчик не выдерживает конкуренции с Wal‑Mart, его владелец разоряется и теряет всё. Ничего подобного с программами, конечно же, не происходит, они становятся компонентами бесчисленных пунктов меню, как это случилось, например, с утилитой wc, которую встроили в Microsoft Word. Единственный по — настоящему серьезный изъян в этом случае — потеря гибкости программного продукта, однако большинство пользователей этого либо вовсе не замечает, либо делает вид, что так и надо. Но с Wal‑Mart тоже не всё гладко. Ведь большинству покупателей всего‑то и нужно — одна баночка того, бутылочка другого, а их заставляют брать целые упаковки. И что потом делать со всем этим добром? Хотя, конечно, у каждого пользователя свой взгляд на то, что ему нужно, а что нет.

Стоит отметить ещё одну важную деталь — в состав Office входит язык программирования Basic. Basic — мой первый язык программирования, я выучил его ещё в школе, работая с телетайпом и перфолентами. На Basic можно создавать собственные утилиты, которые знают, как вести себя со всеми этими «наворотами», «фишечками» и «мулечками», которыми кишмя кишит «офисный» пакет. Basic легче, чем языки программирования, обычно используемые в Unix, поэтому именно Office, а не остальные ГПИ — «прибамбасы», завоевал сердца пользователей. Может, как раз благодаря ему и зародится вскоре новое поколение хакеров, сильнее тех, кто придумали GNU.

Однако сейчас я веду речь о приложениях, а не об операционных системах. И, как я уже отметил, приложения от Microsoft очень и очень недурны. Я редко ими пользуюсь — они пишутся в расчёте на другую аудиторию. Но если вдруг когда‑нибудь Microsoft создаст пакет прикладных программ, который я полюблю и с которым стану работать, пусть взвинчивает цены на акции, я намерен скупить их все!

Хакеры тоже плачут

Работать с Linux — задача не для слабонервных. Всякий раз, когда мне предстоит что‑нибудь грандиозно тяжелое — например, установить X Window или подсоединить интернет, я беру толстую тетрадку и тщательно записываю последовательность действий. Таких тетрадок, описывающих борьбу и поражения, за годы моего общения с Linux накопилось три с половиной штуки. Если всё идет как надо, и я спокойно работаю, то у меня даже мысли не возникает что‑либо записать. Так что эти тетрадки — чтиво довольно‑таки безрадостное. Но смысл в них есть. Внести изменения в Linux — значит открыть и откорректировать множество коротеньких текстовых файликов: где‑то заменить слово, где‑то — запятую. Мелочь, казалось бы, но для операционной системы жизненно важны именно эти мелочи.

Большинство файлов, отвечающих за работоспособность системы, не что иное, как командные строки, ставшие таким длинными и сложными, что даже истинные хакеры — «линуксоиды» не в состоянии напечатать их без ошибок. Когда работаешь с чем‑то таким же могучим, как командная строка Linux, на создание одной — единственной команды с легкостью может уйти полчаса. Например, есть удивительно мощная, грандиозная программа find, которая сканирует диски в поисках заданного по определенным критериям файла. Одно «краткое руководство пользователя» (man) к этой программе занимает одиннадцать страниц настолько содержательного текста, что при желании из них получилась бы целая книга. Но если вам эта команда покажется просто «цветочком», всегда есть возможность заняться «ягодками» — перенаправить вывод одной запутанной Unix — команды на вход другой, не менее головоломной. Капризная команда «pon», подключающая интернет, требует настолько детализированной информации, что запустить её, задав все параметры с помощью аргументов командной строки, практически нереально. Для работы с ней вам придется создать три или четыре разных файла. Вам потребуются dialing script — программка, которая напрямую общается с модемом, выдает на модем AT — команды и считывает ответы, файл параметров /etc/ppp/options, который может содержать до шестидесяти параметров, необходимых для установления PPP — соединения, и файл secrets, где хранятся пароли.

Допустим, где‑нибудь в подлунном мире и живет такой Unix — хакер от Бога, которому помочей в виде скриптиков и файлов параметров даром не надо, который садится за клавиатуру и одним махом вколачивает длинную — предлинную, сложную — пресложную командную строку без единой ошибки и опечатки и в гробу видал документацию. Но я не он. Я, как и большинство пользователей Linux, жить не могу без маленьких подсказок, спрятанных в тысяче тысяч текстовых файлов, притаившихся в самых укромных уголках файловой системы Unix. И когда я хочу внести изменения в работу операционной системы, я обращаюсь именно к ним. Я прекрасно понимаю, что если не запишу в тетрадку последовательность действий и забуду о каком‑нибудь, пусть даже незначительном внесенном изменении, я уже не смогу вернуть всё на круги своя и восстановить работоспособность системы. Вести «дневник наблюдений» ужасно скучно (анахронизм какой‑то!), но — необходимо.

Возможно, обратись я за помощью в компанию Cygnus Support, предоставляющую техподдержку пользователям бесплатного программного обеспечения, я бы избавился от вышеописанной головной боли. Но я этого не сделал. Захотел узнать, а слабо ли мне справиться самому. Оказалось, не слабо, но — какой ценой. А сколько ещё установок и настроек, которые я мог бы применить, но, наверное, так и не применю отчасти потому, что иногда очень надоедает строить из себя Морлока, а отчасти потому, что боюсь повредить отлаженную и четко работающую систему.

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

Отзывы о книге "Весь Нил Стивенсон в одном томе. Компиляция (СИ), автор: Стивенсон Нил Таун":