13 December 2015

Полный перевод Unix-коанов на русский язык

Programming


Представляю на ваш суд ещё один перевод коанов о Мастере Фу на русский язык. В данный сборник вошли все коаны, на данный момент опубликованные на сайте Эрика Реймонда. Надо сказать, что сам Эрик личность весьма неординарная, но упоминания в данной статье стоящая. Помимо холиваров в списках рассылки всевозможных проектов за его авторством также несколько серьёзных трудов о Unix — в том числе и о сообществе, без которого экосистема современных открытых проектов не была бы возможной (полный список книг). Идея перевести коаны в очередной раз пришла мне в голову во время чтения одного из таких трудов, а именно «The Art of Unix Programming», поскольку многое из скрытого смысла коанов становится ясно только после прочтения очередной главы оттуда.

Ну и конечно же, дисклеймер: все комментарии и специфика переложения есть плод воображения вашего покорного слуги.
Я публикую этот перевод в надежде на то, что он может кому-то понравиться, но не предоставляю на него никаких гарантий, в том числе соответствия канонам перевода или пригодности для цитирования где бы то ни было.


Master Foo & MCSE
Однажды к Мастеру Фу явился знаменитый Windows-администратор и спросил его совета:
— Я слышал, ты могущественный волшебник в мире Unix. Не согласишься ли на обмен секретами, от которого мы оба только выиграем?

— Хорошо, что ты ищешь мудрость, — ответил Мастер Фу, — Но в Великом Пути нет секретов.

Администратор был обескуражен:
— Но ведь говорят, что ты — Великий мастер Unix-систем, кто знает глубочайшие их секреты! Как и я в Windows: я сертифицированный инженер Microsoft. У меня имеются и другие знаки отличия, которые в мире встретишь нечасто. Я помню наизусть даже самые мрачные закоулки реестра. Я могу рассказать всё о Windows API, даже те легенды, которые в самом Редмонде уже полузабыты. Что за тайное знание даёт тогда тебе твою силу?

Мастер Фу ответил:
— У меня нет ничего. Ничто не скрыто, нечего и раскрывать.

Возмущённый администратор воскликнул:
— Отлично! Скажи мне тогда, если нет у тебя секретов: что же мне нужно знать, чтобы стать таким же могущественным в Великом Пути как ты?

Мастер Фу промолвил:
— Человек, что принимает секреты за знание, похож на того, кто в поисках света так крепко хватается за свечу, что тушит её пламя и обжигает свою руку.

Услышав это, администратор обрёл просветление.

Master Foo Discourses on Returning to Windows
— Мы узнали, что Unix — это не только операционная система, но также и стиль решения проблем, — начал студент

Мастер Фу кивнул, соглашаясь.

Студент продолжил:
— Значит, Великий Путь подходит и другим операционным системам?

Мастер Фу застыл на мгновение, затем сказал:
— В любой операционной системе есть тропинка к Великому Пути, если только мы способны найти её.

Студент продолжил:
— Как тогда насчёт Windows? Она предустановлена на большинстве компьютеров, и, хотя инструменты её в основном много примитивнее, их легко освоить новичкам. Windows непременно может извлечь пользу из Unix-философии!

Мастер Фу снова кивнул.

Студент сказал:
— Что ж, тогда возвращаются ли те, кто достиг просветления в Великом Пути, в мир Windows?

Мастер Фу ответил:
— Чтобы вернуться в Windows нужно просто загрузить её.

Студент воскликнул, распаляясь:
— Мастер Фу, если это так легко, почему тогда так много раздутых и сломанных приложений под Windows? Ведь и с графическим интерфейсом и модными цветами должна быть возможность писать элегантные приложения, но такое почти не случается. Что же тогда происходит с теми просветлёнными, кто возвращается в Windows?..

Мастер промолвил:
— Разбитое зеркало уже не отразит;
Опавшие цветы не вернутся на старые ветви.

Услышав это, все присутствующие обрели просветление.

Комментарий
Над этим коаном мне пришлось в своё время крепко подумать.

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

Опять же, вопрос «а каким образом они нашли просветление» будет раскрыт в следующих коанах.
Забегая вперёд, философия Unix расцветает в умах программистов практически спонтанно и на полу-интуитивном уровне. В каком-то смысле поначалу такие окружённые Windows являются пратьека-буддами.



Master Foo and the Script Kiddie
Однажды во время утренней трапезы к Мастеру Фу и его ученикам подошёл путешественник из страны Woot.

— R слышал, чт0 тbl э1337ен, — начал он, — Пожалуйс7а, обуч1 меня вс3му, что зн@ешь.

Ученики мастера переглянулись, смущённые варварским языком странника. Но Мастер только улыбнулся и ответил:
— Ты желаешь обучиться Пути Unix?

— Я х0чу бытb магом-хакер0м! — отвечал странник, — и овлад3ть всеми ящиками мира!

— Я не учу этому пути, — ответил Мастер.

Странника взволновал такой ответ:
— Чув@к, да тbl пр0ст0 позеR! — воскликнул он, — Знай ты х0тb что-н1будь, ты бы ра55казал мне!

— Есть путь, — сказал Мастер, — что может привести тебя к мудрости.
Он нацарапал IP-адрес на клочке бумаги и протянул страннику:
— Взлом этой машины не представит для тебя особой трудности, стражи её некомпетентны. Возвращайся и расскажи мне, что нашёл.

Странник поклонился и вышел. Мастер закончил свою трапезу.

Шли дни, за ними месяцы. Странник был позабыт.

Годы спустя путешественник из Woot вернулся.
— Будь ты проклят! — вскричал он с порога, — я взломал ту систему, и это было просто, как ты и сказал. Но ФБР схватили меня и бросили в тюрьму!

— Хорошо. — ответил Мастер, — теперь ты готов к следующему уроку.
Он нацарапал другой IP-адрес на бумаге и протянул страннику.

— Ты свихнулся?? — отпрянул тот. — После всего того, что со мной было, я и на милю не подойду к чужим ящикам!

Мастер Фу улыбнулся.
— Здесь, — промолвил он, — и начинается мудрость.

Услышав это, странник обрёл просветление.

Комментарий
Этот коан, наверное, самый известный из всех.
Жаль, но в переводах я нигде не видел литспика скрипт-кидди.

Поэтому было совсем непонятно, например, что в его языке показалось «варварским» ученикам.



Master Foo and the End User
На очередном публичном выступлении Мастера Фу конечный пользователь, ведомый слухами о мудрости Мастера, пришёл к нему за советом.

Он поклонился Мастеру трижды.
— Я хочу научиться Великому Пути Unix, — начал он, — но командная строка приводит меня в замешательство.

Некоторые из наблюдавших в стороне учеников начали насмехаться над пользователем, называя его невеждой и говоря, что Великий Путь Unix покоряется только умудрённым и обученным.

Мастер поднял руку, призывая к молчанию, затем подозвал самого шумного из обидчиков туда, где сидели они с пользователем.
— Расскажи мне, — спросил Мастер ученика, — о коде, что ты написал, и об анализе, что ты проделал.

Ученик начал, заикаясь, отвечать, но ничего не смог сказать.

Мастер Фу обернулся к пользователю.
— Расскажи мне, — спросил он, — почему ты ищешь Великий Путь?

— Я недоволен программным обеспечением, которое окружает меня, — сказал пользователь, — Оно не работает надёжно и не радует глаз и душу. Услышав, что Путь Unix, хоть и сложнее, но cовершеннее, я пытаюсь отбросить все барьеры и предрассудки.

— И чем занят ты в миру, — спросил Мастер, — что заставляет тебя бороться с программным обеспечением?

— Я архитектор, — ответил пользователь, — на многих домах в этом городе моя печать.

Мастер Фу повернулся обратно к ученику:
— Кошка может насмехаться над тигром, — сказал Мастер, — но это не превратит её мяуканье в рёв.

Услышав это, ученик обрёл просветление.

Комментарий
Этот коан я точно видел переведённым в «записках дебианщика».
И перевод там был отличный. Разве что Эрик прямо указывает в заметках, что хорошо бы использовать эквивалент «печать».



Master Foo and the Hardware Designer
Однажды, когда Мастер Фу направлялся на одну из конференций с несколькими старшими учениками, к нему обратился архитектор микросхем.

Он сказал:
— Ходят слухи, что вы великий программист. Как много строк кода вы пишете в год?

Мастер Фу ответил вопросом:
— Как много квадратных дюймов кремния вы изготавливаете в год?

— Чт… нет, мы, архитекторы железа, никогда не измеряем нашу работу таким способом, — ответил тот.

— А почему нет? — поинтересовался Мастер Фу.

— Если бы мы так поступали, — ответил архитектор, — Нас бы искушала возможность изобретать микросхемы столь большие, что они не могли бы быть изготовлены, а если даже и могли бы, их крайняя сложность создавала бы непреодолимые препятствия для корректного их тестирования!

Мастер Фу улыбнулся, затем поклонился ему.

В этот момент архитектор достиг просветления.


Master Foo and the Ten Thousand Lines
Мастер Фу как-то сказал посещавшему его программисту:
— В одной строчке баш-скрипта больше духа Unix, чем в десяти тысячах строк кода Си.

Программист, который весьма гордился своим мастерством в Си, возразил:
— Как такое возможно? Си это язык, на котором было написано самое ядро Unix!

Мастер ответил:
— Это так. И всё же, в одной строчке баш-скрипта больше духа Unix, чем в десяти тысячах строк кода Си.

На лице программиста отразилось огорчение:
— Но ведь через Си мы познаём благодать патриарха Ритчи! Мы становимся одним целым с операционной системой и машиной, достигая несравнимой производительности!

Мастер ответил:
— Всё это истинно. Тем не менее, в одной строчке баш-скрипта всё равно больше духа Unix, чем в десяти тысячах строк кода Си.

Программист усмехнулся и встал, желая уйти. Но Мастер Фу кивнул на своего ученика Ньюби, который прикидывал баш-однострочник на доске неподалёку, и спросил:
— Мастер программист, взгляните на этот конвейер. Написанный на чистом Си, не занял бы он десяти тысяч строк?

Программист бормотал сквозь бороду, созерцая начертанное Ньюби. Наконец он согласился, что это так.

— А сколько часов бы потребовалось, чтобы написать и отладить такую программу? — поинтересовался Ньюби.

— Много, — признал программист, — но только глупец стал бы тратить время на подобное, когда его ожидает столько куда более важных задач.

— И кто же лучше постигает дух Unix? — спросил Мастер Фу, — Тот ли, кто пишет десятки тысяч строк, или же тот, кто, понимая пустоту задачи, выигрывает, не написав ни единой?

Услышав это, программист обрёл просветление.

Комментарий
Гм, на самом деле этот коан немного отличается от остальных. Рассуждения о «Природе Будды», на которую здесь имеются отсылки, больше свойственны японским школам, поэтому некоторые слова должны переводиться иначе. Вместо «пустоты», например, в коане должна быть «шуньята» (отсутствие собственной природы или причинности у чего-либо), а вместо «просветления» — «сатори». Я перевёл таким образом чтобы сохранить единообразие с остальными коанами, но комментарий, тем не менее, необходим.



Master Foo and the Unix Zealot
Адепт Unix, прослышав о мудрости Мастера Фу в Великом Пути, пришёл к нему за советом.

Мастер Фу сказал ему так:
— Когда Патриарх Томпсон изобрёл Unix, он не осознал этого. Позже он пришёл к пониманию, и не изобрёл более ничего.
— Когда Патриарх Макилрой изобрёл конвейер, он знал, что это преобразит программы, но он не знал, что это преобразит сознание.
— Когда Патриарх Ритчи изобрёл Си, он обрёк программистов на тысячу адов переполнения буфера, повреждения памяти и разыменования нулевого указателя!
— Воистину, патриархи были слепы и глупы!

Адепта немало разозлили такие сентенции Мастера:
— Эти просветлённые, — возразил он, — завещали нам Великий Путь Unix. И если мы будем насмехаться над ними, мы потеряем всякое достоинство и переродимся как звери или инженеры Microsoft!

— Бывает ли код твой истинно чист от ошибок и упущений? — вопросил Мастер Фу.

— Нет, — признал адепт, — такое не под силу человеку.

— Мудрость Патриархов, — промолвил Мастер, — в том, что они знали, что были глупцами.

После этих слов на адепта снизошло озарение.

Комментарий
Почему-то последнюю строчку переводили частенько как «они были безумцами». Прискорбно, но от этого коан немного теряет смысл.

Патриархи знали, что они были глупцами — это так. Юникс был придуман и реализован совершенно стихийно, главенствовал принцип «механизм, не дизайн». Многое в поздние годы было подвергнуто критике — слишком примитивная модель безопасности, слишком много названий для одного и того же, контроль задач похож на заплатку…

Но при всей кажущейся хрупкости такой системы в работе с Unix-подобными ОС прослеживается та самая идея, за которую мы так и любим их, и которая, возможно, и легла в основу коана: «Пользователю виднее». Зная о своей недалёкости, патриархи сделали свои механизмы такими, чтобы не ограничивать тех, кто будет пользоваться плодами их трудов.

И сообщество воздало им сторицей.



Master Foo and the Programming Prodigy
Уже некоторое время до Мастера Фу и его учеников доходили слухи о необычайно одарённом молодом программисте, исходившем земли вдоль и поперёк, создавая шедевры программирования и помножая на ноль всех посмевших состязаться с ним.

В конце-концов молодой гений пришёл посетить Мастера, который встретил его с почтением и предложил ему чай. Гений принял его с ответной почтительностью и объяснил цель своего визита:
— Я пришёл к Вам, — сказал он, — в поисках оценки архитектуры и кода моего последнего проекта. Ибо проект этот исключительной сложности, и я не знаю никого, кто мог бы на равных объять его. Только признанный мастер, такой как Вы (и здесь гений низко поклонился), может обладать должной проницательностью.

Мастер Фу вежливо поклонился и приступил к изучению кода. Спустя некоторое время он поднял глаза от экрана:
— Код этот на первый взгляд выглядит очень впечатляюще, — сказал он, — его архитектура элегантна, в алгоритмах чувствуется оригинальность и искусность, и написан он с чрезвычайным тщанием, что минимизирует возможность ошибки.

Гений был очень польщён такой оценкой Мастера, но тот продолжил:
— Однако, я вижу один существенный недостаток.

— Недостаток? — встрепенулся гений, — Какой недостаток?

— Код этот сложно читать, — ответил Мастер, — он только слегка откомментирован, переменные его размыты, и я нигде не вижу описания логики и внутренних структур. Эти проблемы будут сильно препятствовать совместной работе с другими программистами.

— Я не ищу сотрудничества с иными программистами, — свысока ответил гений, — Меня постигало разочарование каждый раз когда я считал, что нашёл кого-то, кто может сравниться со мной в мастерстве! Поэтому я работаю один.

— Но даже работая один, хакер сотрудничает с другими и всегда должен изъясняться понятно, иначе работа его станет запутанной и забытой.

— Кто эти «другие», о которых вы говорите? — потребовал ответа гений.

Мастер Фу ответил:
— Все будущие ты.

Услышав это, гений обрёл просветление.

Комментарий
Здесь просто для галочки напоминаю, что «хакер» употребляется без негативного оттенка. Это слово много древнее прозвища черношапочников. Есть ссылка на википедию об этой субкультуре, к сожалению, доступная только на английском. Самая суть в первом предложении: Хакером называется тот, кто наслаждается интеллектуальным состязанием в искусном обходе и преодолении границ программируемых систем и пытается расширить их возможности.

Что в них было общего, так это любовь к совершенству и программированию. Они пытались сделать свои подручные программы настолько хорошими, насколько это вообще возможно. Да ещё чтобы те работали изящно. Они хотели бы сделать что-то настолько ошеломляющее, что никто не поверил бы даже в реальность подобного, и сказать: «Смотри, насколько это прекрасно. Спорим, ты не верил, что так можно!»

— Ричард Столлман



Master Foo and the Nervous Novice
Один послушник, научившийся уже довольно многому от Мастера, всё равно чувствовал, что чего-то недостаёт. Помедитировав на свои сомнения некоторое время, он осмелился приблизиться к Мастеру со своей проблемой:
— Мастер Фу, — спросил он, — почему адепты Unix не пользуются антивирусными программами? И дефрагментаторами? И очисткой от троянов?

Мастер Фу улыбнулся и сказал:
— Когда дом твой построен хорошо, нет нужды в колоннах, чтоб держать крышу.

Послушник ответил:
— Не лучше ли всё равно использовать их — просто чтобы быть уверенным?

Мастер Фу подобрал клубок бечёвки, лежавший неподалёку, и стал оборачивать ею ноги послушника.

— Что вы делаете? — спросил тот в изумлении.

Мастер Фу ответил просто:
— Завязываю тебе шнурки.

Услышав это, послушник обрёл просветление.


Master Foo and the Editor Wars
Однажды безмятежное утро Мастера Фу было омрачено воплями страданий.

Обнаружив, что они исходят от одного из новичков, он осведомился:
— В чём твоя трудность?

— Я в отчаянии от своих инструментов, — ответил новичок, — Каждый раз мне приходится использовать целый сонм редакторов, потому что ни Emacs, ни Vi, ни любой другой текстовый процессор не обладает всеми возможностями, что мне нужны.

Мастер Фу кивнул:
— Как, — спросил он, — решил бы эту трудность Мастер Великого Пути?

Ученик подумал пару минут, потом ответил:
— Ну, это очевидно. Я напишу лучший редактор на свете. Он будет делать всё, чего я захочу. Он будет делать всё, чего захочет кто угодно. И мир станет лучше, потому что…

… Тут речь ученика прервалась резким ударом посоха Мастера по затылку.

— М… Мастер? — спросил ученик, осторожно потирая ушиб, — В чём я был неправ?

— Глупец! — сказал Мастер Фу, — неужели ты думаешь, что я хочу учиться ещё одному редактору?

Услышав это, ученик обрёл просветление.

Комментарий
Этот коан ещё не был переведён никем и нигде. Он появился буквально на днях.
Представьте мою радость, когда я вижу первое за полтора года обновление на сайте Реймонда.



Master Foo and the Old Hand
Опытный Unix-программист, прослышав о мудрости Мастера Фу, пришёл к нему за наставлением. Подходя к Мастеру, он поклонился трижды и сказал:
— Мастер Фу, я серьёзно обеспокоен. В молодости моей в ходу у тех, кто следовал Великому Пути, были простые и незатейливые программы — ed, mailx. Сегодня они используют vim и mutt. Завтра, я опасаюсь, они освоют KMail и Evolution, и Unix станет таким же как Windows — раздутым и испещрённым всевозможными графическими интерфейсами.

Мастер Фу сказал:
— Но какую программу использовать, если нужно нарисовать плакат?

— Я..., — осёкся программист, — никогда не делал подобного. Но я уверен, что мог бы найти истинный путь Unix и использовать LaTeX или pic чтоб справиться с этим без графического интерфейса.

Тогда Мастер Фу спросил:
— Кто быстрее переберётся через реку: тот ли, кто мечтает о плоте, или же тот, кто голосует автостопом до ближайшего моста?

Услышав это, программист достиг просветления.

Комментарий
ed — потоковый текстовый редактор, один из первых и простейших. Сейчас практически полностью забыт и погребён sed'ом.
mailx — потоковый и очень простой почтовый клиент, до сих пор используется кое-где на HP-UX или Solaris и для простых посылок писем по конвейеру.

vim — консольный текстовый редактор, один из лучших на данный момент. Есть плагины практически на все случаи жизни.
mutt — консольный почтовый клиент с удобным интерфейсом на ncurses.

KMail — графический почтовый клиент от KDE e. V. Долгое время был огромным монолитным слепком полуработающего кода.
Evolution — графический почтовый клиент от Gnome Foundation. Долгое время не предоставлял практически никаких возможностей подгонки интерфейса и поведения под нужды пользователя.



Master Foo Discourses on the Two Paths
Мастер Фу наставлял учеников:
— В пути дхармы есть учение, примером которому служит изречение Патриарха Макилроя: «Делай одну вещь, и делай её хорошо», которое демонстрирует, что программа тогда следует пути Unix, когда имеет простое и соответствующее поведение, с понятными пользователю и иным программам параметрами.
— Но есть и иное учение дхармы, примером чему служит великая мантра Патриарха Томпсона «Будучи в сомнении используй грубую силу», наравне с различными сутрами о получении 90% прямо сейчас, нежели 100% поздно, что демонстрирует ясность и простоту реализации.
— Скажите мне теперь, каким программам более присущ дух Unix?

После некоторого молчания Ньюби заметил:
— Учитель, но эти учения могут противоречить друг другу.
— Простая реализация алгоритма не покрывает все узкие места, такие как исчерпание ресурсов, состояние гонки или тайм-аут транзакции.
— Когда такое случается, поведение программы становится сбойным и непредсказуемым. Ведь не может это быть духом Unix?

Мастер Фу одобрительно кивнул.

— Но с другой стороны, хорошо известно, что идеальные алгоритмы на деле хрупки. И очередная попытка покрыть узкое место ведёт к взаимодействию и с кодом центральной логики программы, и с кодом из других узких мест.
— Таким образом, желание покрыть все узкие места сразу в стремлении достичь «простоты описания» может на деле привести к переусложнённому и хрупкому коду или к такому, который из-за обилия ошибок никогда не заработает. Ведь и это не дух Unix?

И снова Мастер одобрительно кивнул.

— Какое же учение дхармы верно, в таком случае?

И Мастер ответил:
— Когда орёл летит, забывает ли он, что ноги его касались земли? Когда тигр хватает свою добычу, забывает ли он о моменте, проведённом в прыжке? Три фунта VAX!

Услышав это, Ньюби обрёл просветление.

Комментарий
В этом коане, так же как в одном из предыдущих, есть отсылки к «Природе Будды», а также непереводимая игра слов — реплика Мастера «Three pounds of VAX!» должна напоминать о классическом коане «Three pounds of flax!», в котором подчеркивается схожая идея. А именно: нет никакой серебряной пули. Нет ни единой программы, отвечающей всем идеалам. И при разработке не следует во всем идти на поводу лучших практик, потому что контекст может кардинально различаться.

VAX — архитектура построения компьютеров, весьма популярная в 1980-е, на которой долгое время велась разработка Unix. Интересно отметить, что именно из-за своей приверженности к VAX адепты Unix не обратили в своё время внимание на появление неприметного в те времена Intel x86, а позже и Windows на них.



Master Foo Discourses on the Unix-Nature
Ученик сказал Мастеру Фу:
— Нам говорили, что компания Novell удерживает истинную власть над Unix.

Мастер Фу кивнул.

Ученик продолжил:
— Но также нам говорили и то, что компания OpenGroup также удерживает истинную власть над Unix.

Мастер Фу кивнул.

— Как такое возможно? — поинтересовался ученик.

Мастер Фу ответил:
— Novell действительно удерживает власть над кодом Unix, но код Unix — это не Unix. OpenGroup действительно удерживает власть над именем Unix, но имя Unix — это не Unix.

— Что же тогда такое дух Unix? — спросил ученик.

Мастер Фу сказал:
— Не код. Не имя. Не мысль. Не вещь. Вечно меняясь, остаётся тем же.
— Дух Unix прост и пуст. Из-за этой простоты и пустоты он мощнее тайфуна.
— Двигаясь согласно законам природы, он неумолимо расцветает в умах программистов, ассимилируя проекты в своё естество. Все программы, которые хотят состязаться с ним, должны стать таким как он — пустыми, пустыми, глубоко пустыми, совершенным ничто, да будет так!

Услышав это, ученик обрёл просветление.

Комментарий
Снова отсылки к «Природе Будды», которую каждый находит сам. Этот коан просто пестрит всевозможными отсылками и переделками фраз с настоящих коанов. Самим ESR был оставлен комментарий, что «Двигаясь согласно законам природы» — это очень частая присказка для обоснования чего-либо в «Tao Te Ching», также, «Не код. Не имя. Не мысль. Не вещь.» — практически полная копия с коана №27, а последние слова Мастера в настоящих коанах встречаются как строчка из песен сутры.



Master Foo and the Shell Tools
Новичок пришёл к Мастеру Фу и сказал:
— Я в смятении. Разве не в том путь Unix, что каждая программа должна делать одну вещь и делать её хорошо?

Мастер Фу кивнул.

Новичок продолжил:
— Разве также не в том Путь Unix, что колесо не до́лжно переизобретать?

Мастер Фу снова кивнул.

— Почему тогда есть похожие по возможностям инструменты в обработке текста?

Мастер Фу спросил ученика:
— Какой из них использовал бы ты, будь у тебя текстовый файл и необходимость заменить несколько слов в нём другими?

Новичок нахмурился, потом сказал:
— Регулярные выражения Perl слишком избыточны для такой задачи. Я не знаю awk, но в последние недели я писал sed-скрипты. Поскольку у меня уже есть некоторый опыт, на данный момент я предпочёл бы sed. Но если нужно отредактировать лишь один файл один раз, хватит и текстового редактора.

Мастер Фу кивнул и ответил:
— Когда голоден, ешь; когда у тебя жажда, пей; когда устал, спи.

Услышав это, ученик обрёл просветление.


Master Foo and the Methodologist
Во времена когда Мастер Фу со своим студентом Ньюби путешествовал по святым местам, обычаем Мастера было давать наставления неофитам Unix, коротая время до ночлега в попутных городках и деревнях.

В один из таких дней среди внимающих был и методолог.

— Если вы не будете регулярно профилировать свой код в поисках узких мест при отладке, вы станете подобны рыбаку, который забрасывает сеть в пустое озеро, — говорил Мастер Фу.

— Если это так, тогда не является истинным также и то, что если вы не измеряете регулярно свою успешность и эффективность в работе при руководстве ресурсами, вы станете подобны рыбаку, который забрасывает сеть в пустое озеро? — спросил методолог.

— Я однажды наткнулся на рыбака, который как раз уронил свою сеть в озеро, где плавала его лодка, — сказал Мастер Фу, — Он довольно долго рылся на дне лодки, пытаясь найти её.

— Но.., — сказал методолог, — Если он уронил сеть в озеро, почему же он искал её в лодке?

— Потому что он не умел плавать, — ответил Мастер Фу.

После этих слов на методолога снизошло озарение.

Комментарий
Эрик Реймонд прямо указывает в инструкциях по переводу считать принадлежность методолога не к конкретной практической ветви какой-либо методологии, а к касте менеджмента вообще — и речь его просит не переводить дословно, а использовать подходящий по значению заменитель в целевом языке в сфере бизнес-сленга



Master Foo Discourses on the Graphical User Interface
Как-то раз Мастер Фу и Ньюби посетили встречу программистов, собравшихся для обмена знаниями. Один из программистов поинтересовался у Ньюби, к какой школе принадлежат он и его учитель. Услышав, что они последователи Великого Пути Unix, тот презрительно усмехнулся.

— Инструменты командной строки Unix грубые и отсталые, — бросил он, — современные правильно спроектированные операционные системы делают всё через графический интерфейс!

Мастер Фу промолчал, но ткнул пальцем на луну. Собака неподалёку залаяла на руку Мастера.

— Я не понимаю вас! — сказал программист.

Мастер Фу, по-прежнему храня молчание, ткнул на изображение Будды. Затем на окно.

— Что вы пытаетесь сказать? — вопрошал программист.

Мастер Фу ткнул на голову программиста. Затем на камень.

— Почему вы не можете сказать ясно? — потребовал ответа программист.

Мастер Фу задумчиво нахмурился, затем дважды щёлкнул программиста по носу и бросил его в ближайшую мусорную корзину.

Пока программист пытался выбраться оттуда, пробегавшая мимо собака помочилась на него.

В этот момент программист достиг просветления.

Комментарий
Когда я в первый раз читал этот коан в переводе, он окунул меня в пучину СПГС, поскольку переводчик выбрал «указал» в качестве описания действий Мастера. Хоть это и более верно стилистически в русском языке, но я считаю, здесь стоит сделать ударение на схожести действий Мастера с указателем мышки пользователя, пробующего на вкус все множество хитросплетений кнопок в графических приложениях.
Мораль же проста — графический интерфейс не делает твою программу современной и удобной за тебя.



Спасибо за внимание. Хотелось бы, чтобы такие жемчужины не пропадали в огромном море контента в нынешней сети. Комментарии, поправки к переводу приветствуются.

EDIT:
Прошу прощения, сейчас вдруг подумал, что лучше было бы оформить пост как перевод, поскольку всё кроме заголовка и комментариев к коанам — достояние сообщества. Извините.
Tags: unix-way koans wisdom
Hubs: Programming
+120
70.7k 669
Comments 65
Ads
Top of the day