Category: путешествия

Category was added automatically. Read all entries about "путешествия".

uhh

(no subject)

Дорогой брат Изя, наконец-то я выбрал время и место написать тебе письмо.

Пришло время выполнить обещанное и написать про Гошину книжку. То что вы сейчас читаете - это второй вариант. Когда я писал первый, то внезапно понял, что пишу не про книжку, а про юникс, а это не то, чего я хотел. Поэтому, я все выкинул и начал заново.

Итак, книга начинается с изложения "теоретических и когнитивных основ". Под таковыми основами понимается следующее.

Выделяются два вида деятельности.

1) "Процедурный" - это когда выполняются некоторые заранее известные и хорошо описанные действия, направленные непосредственно на выполнение задачи, при этом не надо задумываться о законах внутреннего функционирования задействованных средств, эти самые задействованные средства дают возможность оперировать в терминах решаемой задачи, а концептуальная пропасть между средством и задачей либо отсутствует, либо сокращена до минимума. Пример "процедурной" деятельности - управление телевизором с помощью дисташки: действия (процедуры) описаны в руководстве по эксплуатации, знать, как устроен телевизор, не надо, оперируем в терминах задачи (громче/тише, первый канал на первой кнопке, нтв на четвертой).

2) "Проективный" - это когда решение конструируется (проектируется) из и с помощью средств общего назначения, достаточно гибких, чтобы быть применимыми для решения широкого класса задач, но эти средства существуют в пространстве терминов, далеких непосредственно от решаемой задачи - наличествует концептуальная пропасть, преодоление которой в общем случае нетривиально и для этого требуется хорошее представление о свойствах и внутреннем устройстве задействованных средств. Например, строительство сарая из досок с помощью пилы, рубанка, мотолка и т.д.: назначение перечисленных материалов и инструментов шире, чем задача строительства сарая, термины инструмента и задачи не совпадают (в терминах строительства есть дверь и крыша, а в терминах оператора молотка есть только забитие и выдирание гвоздей) и для получения сарая с помощью перечисленных средств требуются нетривиальные усилия по преодолению этой концептуальной пропасти, для чего необходимо знать достаточно много о свойствах досок, гвоздей, молотков и пил.

So far so good.

Следующим шагом автор сравнивает один вид деятельности с другим, перечисляя достоинства и недостатки каждого, тем самым давая нам понять, что один из них, а именно "проективный", лучше другого, "процедурного". Думается, что начиная с этого момента автор начинает удаляться от реальности в джунгли собственного воображения. Дело в том, что оба вида деятельности не могут быть сравнены по шкале лучше/хуже, они дополняют друг друга, они оба - стороны одной и той же монеты. За этими двумя словами ("процедурный" и "проективный") скрываются две простые и понятные вещи - выработка решения задачи и использование этого решения. Выработка решения задачи "проективна" по определению, и это самое решение, выработанное на "проективной" стадии хорошо лишь в той мере, в какой оно может быть использовано в "процедурном" стиле. И в самом деле, если между решением и задачей есть концептуальная пропасть, если пользователю необходимо знать очень тонкие и интимные подробности задачи, чтобы воспользоваться решением, если невозможно сформулировать точные и ясные действия по применению решения, то задача решенной считаться не может, а "проективная" часть провалилась.

Далее автор совершает логический прыжок, переходя от видов деятельности к системам, и утверждая, что есть системы "проективные", а есть "процедурные", когда, как было показано в предыдущем абзаце, "проективность" и "процедурность" неразделимы. Для чего нужен автору этот переход? Очевидно, для того, чтобы объявляя юникс "проективной" системой, намекнуть на ее природное превосходство (в силу превосходства "проективности" надо "процедурностью") над всеми остальными "процедурными" системами.

Это было про теоретико-когнитивную часть.

После этого автор переходит к собственно юниксу. В главе 5 автор нас знакомит с историей системы, каковая в его изложении выглядит очень прямолинейной и бесконфликтной - от запускалки игрушки Space Travel через мирно соседствующие BSD и SysV к Linux'у. Структура же системы, сложившаяся в ходе этой истории, столь же пряма, чиста и непротиворечива: вот ядро, вот демоны, вот утилиты. Вся она (структура) пронизана единым духом "проективности" в полном соответствии с заветами святых провидцев Кена и Денниса.

Во всех последующих главах автор разбирает отдельные куски системы по отдельности. Принцип отбора этих кусков для рассмотрения остается для меня загадкой, поэтому я даже не стану спекулировать, почему рассмотрены именно эти куски, а не другие, столь же [не]важные.

Что обращает внимание в "предметных" главах. Автор очень старательно и аккуратно обходит любой намек на возможное наличие в системе нелогичностей и странностей, не говоря уже о коварных ловушках и откровенных подлянах. Даже когда повествование само идет к тому, чтобы упомянуть подводные грабли, автор останавливается, откашливается и продолжает уже с другого места. Даже команда [, в описании автора (стр. 168) выглядит, как образец логичности и беспроблемности (но мы-то знаем, что худшее уродство надо еще поискать).

Итого, в книге описывается какая-то странная система, отличающаяся стройностью, логичностью и непротиворечивостью, внимательно спроектированная и аккуратно реализованная. Словом, описан какой-то анти-юникс. Реальный же юникс спроектирован не был - он мутировал из запускалки Space Travel до современного своего состояния в очень жестких и недружелюбных условиях, в которых речь шла не о красоте и идеологической стройности, а банальном выживании. Соответственно, получился покрытый шрамами и редкой шерстью пятилапый ублюдок с двумя сердцами и тремя желудками, очень живучий, но совершенно безолаберный. За это мы его и любим.

Вот, опять получилось про юникс, а не про книжку, но переписывать не буду.