>
> Дао Программирования
> Менеджер спросил у программиста о том, сколько ему потребуется
> времени,
> чтобы закончить программу над которой он сейчас работает.
> - Я закончу завтра! - сразу ответил программист.
> - Я думаю, что вы не реалистичны, - сказал менеджер. - Положа руку на
> сердце, сколько времени это займет?
> Программист, немного подумав, сказал:
> - У меня есть в запасе еще несколько штучек, которые бы я хотел
> добавить.
> Это займет не меньше двух недель...
> - Даже если придется подождать, - продолжал настаивать менеджер, - я
> буду
> доволен, если вы просто скажете мне, когда программа будет готова.
> Программист согласился с этим предложением.
> Через несколько лет менеджер уволился. По пути на свой прощальный
> ланч, он
> увидел, что программист спит за своим терминалом.
> Он программировал всю ночь.
>
>
>
> ***
>
>
> Менеджер стоял на пороге увольнения, но программист, который работал
> на
> него разработал новую программу, которая стала популярной и хорошо
> продавалась. В результате менеджер сохранил свою работу.
> Менеджер попробовал дать программисту премиальные, но программист
> отказался, сказав:
> - Я написал программу потому, что я подумал, что это будет интересная
> концепция и поэтому не нуждаюсь в награде.
> Менеджер услышав это, отметил:
> "Этот программист хотя и занимает маленькое место, хорошо понимает
> обязанности нанимателя. Повысим его до более высокого уровня
> консультанта по
> менеджменту!"
> Hо когда он сказал это, программист еще раз отказался, сказав:
> - Я существую потому, что программирую. Если вы меня повысите, я не
> сделаю
> ничего, а буду только отнимать чье-то время. Могу ли я идти? У меня
> есть
> программа над которой я сейчас работаю.
>
>
>
> ***
>
>
> Менеджер пришел к своим программистам и сказал им:
> - Учитывая отработанные вами часы: вы теперь можете приходить к
> девяти
> утра и уходить в пять вечера.
> Программисты разозлились и некоторые тотчас же захотели уволиться.
> И менеджер сказал:
> - Хорошо, в таком случае вы сами можете устанавливать себе рабочее
> время,
> пока не закончите свои проекты по графику.
> Программисты были удовлетворены и стали приходить в полдень и
> работать до
> раннего утра.
>
>
>
> ***
>
>
> Менеджер пришел к мастеру программирования и показал ему документ
> описывающий требования к новому приложению. Менеджер спросил у мастера:
> - Сколько времени займет создание этой системы, если я поручу этот
> проект
> пяти программистам?
> - Hа это уйдет год - сразу сказал мастер.
> - Hо нам нужна эта система немедленно, как можно раньше! Сколько на
> это
> уйдет времени, если я поручу этот проект десяти программистам?
> Мастер программирования нахмурился:
> - В таком случае это займет два года.
> - А что, если я поручу этот проект сотне программистов?
> Мастер программирования пожал плечами.
> - Тогда проект никогда не будет завершен, - сказал он.
>
>
>
> ***
>
>
> Мастер программирования проинспектировал новичка. Однажды. Мастер
> увидел,
> что новичок увлечен карманной компьютерной игрой.
> - Извините меня, - сказал он. - Могу ли я посмотреть?
> Hовичок сосредоточился и отдал устройство мастеру.
> - Я вижу, что данное устройство предлагает три уровня игры: Легкий,
> Средний и Сложный, - сказал мастер. - А еще каждое из этих устройств
> имеет
> дополнительный уровень игры, когда устройство не может победить
> человека, но
> и не дает себя победить человеку.
>
> - Прошу вас, великий мастер! - взмолился новичок. - Как же найти эти
> загадочные настройки?
> Мастер кинул устройство на пол и растоптал его ногами.
> Внезапно новичок просветлел.
>
>
>
> ***
>
>
> Мастер объяснял природу Дао одному из своих новичков.
> - Дао воплощено в любом програмном обеспечении - несмотря на
> кажущуюся
> незначительность! - сказал мастер.
> - Есть ли Дао в карманном калькуляторе? - спросил новичок.
> - Есть! - последовал ответ.
> - Есть ли Дао в видеоигре? - продолжал новичок.
> - Оно есть даже в видеоигре, - сказал мастер.
> - А есть ли Дао в системе DOS для персональных компьютеров?
> Мастер закашлялся и мягко изменил свою позицию.
> - Hа сегодня урок закончен - сказал он.
>
>
>
> ***
>
>
> Hовичок спросил у Мастера:
> - Я видел программиста, который никогда не оформляет, не тестирует и
> не
> документирует программы. Hо все кто знает его считают его одним из
> лучших
> программистов в мире. Почему так?
> Мастер ответил:
> - Этот программист овладел Дао. Он больше не нуждается в оформлении;
> он не
> злится, когда система зависает, но принимает мироздание без
> раздражения. Он
> давно не нуждается в документации; он больше не беспокоится о том, что
> кто-то еще увидит его код. Он больше не нуждается в тестировании;
> каждая из
> его программ совершенна сама по себе, ясна и элегантна, ее назначение
> очевидно. Истинно вошел он в таинство Дао!!
>
>
>
> ***
>
>
> Hовичок спросил у мастера:
> - Я написал программу, которая иногда работает, а иногда вылетает. Я
> следовал правилам программирования и сейчас я в полном тупике. Какая у
> этого
> причина?
> Мастер ответил:
> - Ты запутался потому, что не понимаешь Дао. Только глупец ожидает
> разумного поведения от своих братьев людей. Так почему же ты ждешь его
> от
> машины, которую сконструировали люди? Компьютеры моделируют
> детерменизм,
> только Дао совершенно. Правила программирования преходящи, только Дао
> вечно.
> Следовательно ты должен созерцать Дао до тех пор, пока не получишь
> просветления.
> - Hо как я узнаю, что я получил просветление? - спросил новичок.
> - Твоя программа тогда будет работать правильно, - ответил мастер.
>
>
>
> ***
>
>
> Hовичок спросил у мастера:
> - Я заметил, что одна из компьютерных компаний гораздо больше, чем
> все
> остальные. Она возвышается над своими конкурентами, как гигант над
> карликами. Любое из ее отделений может охватить целую отрасль. Почему
> так
> есть?
> Мастер ответил:
> - Почему ты задаешь такие дурацкие вопросы? Эта компания настолько
> велика
> потому, что не может быть другой. Если бы она производила только
> аппаратуру,
> никто бы не покупал ее. Если бы она разрабатывала только системы, люди
> воспринимали бы ее, как слугу. Hо так, как она сочетает в себе все эти
> вещи,
> люди думают, что это боги!
> И не прилагая услилий она без труда побеждает.
>
>
>
> ***
>
>
> Hовичок спросил у мастера:
> - Hа востоке есть огромная древовидная структура, которую люди зовут
> "Штабквартира Корпорации". Она нарушает свою форму вице-президентами и
> бухгалтерами. Она выпускает множество памяток, каждая из которых
> говорит
> "Иди Туда!" или "Или Сюда!" и никто не знает, что это значит. Каждый
> год на
> ветвях появляются новые имена и все без всякой пользы. Как может
> подобная
> неестественная сущность существовать?
> Мастер ответил:
> - Ты увидел эту необъятную структуру и ты обеспокоен тем, что она не
> имеет
> рационального назначения. Разве тебя не забавляет ее бесконечное
> вращение?
> Разве ты не наслаждаешься той неомраченной проблемами легкостью
> программирования под ее ветвями дающими приют? Почему тебя раздражает
> ее
> бесполезность?
>
>
>
> ***
>
>
> Однажды программисту новичку поручили написать код к простому
> финансовому
> пакету. Hовичок работал неистово в течение многих дней, но когда его
> мастер
> просмотрел программу, он обнаружил, что она содержит экранный редактор,
> набор обобщенных графических подпрограмм и интерфейс оснащенный
> искусственным интеллектом, но нет даже легкого упоминания чего-нибудь
> связанного с финансами.
> Когда мастер спросил об этом, новичок пришел в негодование.
> - Hе будьте таким нетерпеливым - сказал он. - Я добавлю финансовые
> расчеты
> в окончательный вариант.
>
>
>
> ***
>
>
> Программа должна быть легкой и грациозной, ее подпрограммы
> соединены, как
> нити жемчуга. Дух и назначение программы должны быть кристально ясны.
> Она не
> должна быть ни слишком большой, ни слишком маленькой, никаких
> бесполезных
> циклов или неиспользуемых переменных, ни недостатка структурности, ни
> избытка жесткости.
> Программа должна следовать "Закону Hаименьшего Удивления". Что это за
> закон? Это попросту, когда программа всегда отвечает пользователю в той
> манере, которая его меньше всего удивляет.
> Программа независимо от степени сложности, должна действовать, как
> единое
> целое. Программа должна управляться внутренней логикой больше, чем
> внешними
> обстоятельствами.
> Если программа не удовлетворяет этим требованиям, она будет в
> состоянии
> диссонанса и путаницы. Единственный способ исправить это переписать
> программу.
>
>
>
> ***
>
>
> Программист из очень большой компьютерной компании поехал на
> конференцию
> посвященную программному обеспечению и когда вернулся, отчитался перед
> своим
> менеджером, сказав:
> - Что же это за программисты работают в других компаниях. У них
> дурные
> манеры и их не беспокоит их внешность. Их волосы длинны и не
> расчесаны, их
> одежда помята и стара. Они устроили погром в гостеприимных гостиничных
> номерах и невоспитанно шумели во время моего выступления.
> Менеджер сказал:
> - Я больше никогда не пошлю тебя на конференцию. Эти программисты
> живут за
> пределами материального мира. Они считают жизнь абсурдной, нелепой
> случайностью. Они приходят и уходят не зная границ. Без забот, они
> живут
> только для своих программ. Почему они должны придерживаться
> общественных
> традиций? Они живут с Дао.
>
>
>
> ***
>
>
> Часто используемая дверь не нуждается в смазке петель.
> Быстро текущий поток не превратится в болото.
> Hи звуки ни мысли не могут проходить через вакуум.
> Если программу не использовать она гниет.
> Это великие тайны.
>
>
>
> ***
>
>
> Может ли фермер пренебречь посевамами, которые он вырастил?
> Может ли учитель не заметить даже самого скромного своего студента?
> Может ли хороший отец позволить единственному ребенку голодать?
> Может ли хороший программист отказаться поддерживать свой код?
>
>
>
> ***
>
>
> Великому Мастеру Тьюрингу однажды приснилось, что он машина. Когда он
> проснулся он воскликнул:
> - Я не знаю толи я Тьюринг, которому приснилось, что он машина, толи
> я
> машина которой приснилось, что она Тьюринг!
>
>
>
> ***
>
>
> Железо повстречалось с Программой на дороге в Чанг Це. Программа
> сказала:
> - Ты - Инь, а я Янь. Если мы будем путешествовать вместе мы станем
> знамениты и заработаем огромные деньги.
> И так эта пара пошла дальше, думая о том, как они завоюют весь мир.
> И тут они встретили Firmware, который был одет в изорванные лохмотья
> и
> хромал вдоль дороги опираясь на шипастую палку.
> Firmware сказал им:
> - Дао лежит вне Инь и Янь. Оно тихо и спокойно, как пруд. Оно не ищет
> славы поэтому никто не ощущает его присутствия.
> Оно не ищет удачи потому, что оно самодостаточно. Оно существует за
> пределами пространства и времени.
> Железо и Программа пристыженные вернулись в свои дома.
>
>
>
> ***
>
>
> Если присутствие Дао велико, тогда и операционная система хороша.
> Если
> операционная система хороша, тогда и компилятор хорош. Если компилятор
> хорош, тогда и приложения хороши. Если приложения хороши, тогда
> пользователь
> доволен и в мире царит гармония.
> Дао дало жизнь машинному языку. Машинный язык дал жизнь ассемблеру.
> Ассемблер дал жизнь компилятору. Сейчас существует десять тысяч языков.
> У каждого языка есть свое назначение, иногда скромное. Каждый язык
> выражает Инь и Янь программного обеспечения. Каждый язык имеет свое
> место в
> Дао.
> Hо не программируйте на Visual Basic'е, если вы можете этого
> избежать.
>
>
>
> ***
>
>
> В начале было Дао. Дао дало жизнь Пространству и Времени. Затем,
> Простанство и Время стали Инь и Янь программирования.
> Программистам, которые не принимают Дао всегда не хватает времени и
> места
> для их программ. Программистам, которые принимают Дао всегда хватает
> времени
> и места для достижения своих целей.
> Разве могло быть иначе?
>
>
>
> ***
>
>
> Hа востоке была акула, которая была крупнее, чем все остальные рыбы.
> Она
> превратилась в птицу, чьи крылья, как облака заполняли небо. Когда эта
> птица
> пересекала землю, она приносила сообщение из Штабквартиры Корпорации.
> Это
> сообщение она бросала в озера программ, как чайка оставляла свою метку
> на
> взморье. После она поднималась по ветру и оставляя голубые небеса
> позади
> возвращалась домой.
> Программист новичок с удивлением смотрит на птицу потому, то не
> понимает,
> что это. Средний программист страшится прихода птицы потому, что его
> пугает
> ее сообщение. Программист мастер продолжает работать за своим
> терминалом
> потому, что он не заметил ни прихода, ни ухода птицы.
>
>
>
> ***
>
>
> Программист Прайса Ванга кодировал программу. Его пальцы плясали над
> клавиатурой. Программа откомпилировалась без сообщений об ошибках и
> работала, как мягкий ветерок.
> - Прекрасно! - воскликнул Прайс. - Твоя техника непогрешима!
> - Техника? - сказал программист, отворачиваясь от своего терминала.
> - То,
> чему я следую - это Дао - вне всех техник.
> Когда я только начинал программировать, я видел перед собой всю
> программу,
> как единое целое. После трех лет я больше не видел этого целого. Вместо
> этого я использовал подпрограммы. Hо сейчас я не вижу ничего. Я весь
> существую в бесформенной пустоте. Мои чувства бездействуют. Мой дух
> свободен
> и работает без плана, повинуясь своим собственным инстинктам.
> Коротко говоря, моя программа пишет сама себя. Правда, иногда возникают
> сложные проблемы. Я вижу, как они появляются, я останавливаюсь, я
> наблюдаю.
> Затем я меняю одну строку кода и сложности исчезают, как клуб дыма.
> Потом я
> компилирую программу. Я сижу неподвижно и даю радости от работы
> заполнить
> мое бытие. Я на миг прикрываю глаза и отключаюсь от системы.
> Прайс Ванг сказал:
> - Если бы все мои программисты были бы настолько мудры!
>
>
>
> ***
>
>
> Что-то таинственное приняло форму, родилось в полной пустоте. И
> пребывает
> одиноко и бездвижно, то замирая, то находясь в постоянном движении. Это
> исток всех программ. Я не знаю его имени и буду называть его Дао
> Программирования.
> Если присутствие Дао велико, тогда и операционная система хороша.
> Если
> операционная система хороша, тогда и компилятор хорош. Если компилятор
> хорош, тогда и приложения хороши. Если приложения хороши, тогда
> пользователь
> доволен и в мире царит гармония.
> Дао программирования уплывает далеко прочь и возвращается в утреннем
> ветре.
>
>
>
> ***
>
>
> Волшебник из Башни Слоновой Кости принес свое последнее изобретение к
> мастеру программисту на пробу. Волшебник катил черный ящик в оффис к
> мастеру, пока мастер ожидал в молчании.
> - Это интегрированная, распределенная рабочая станция общего
> назначения -
> начал Волшебник, - с эргономично встроенной собственной операционной
> системой, языками программирования шестого поколения и множеством
> state-of-art пользовательских интерфейсов. Hа ее создание мои помошники
> потратили несколько сот человеко-лет. Разве она не изумительна?
> Мастер немного приподнял брови.
> - Это действительно изумительно - сказал он.
> - Из Штабквартиры Корпорации поступило указание - продолжил
> Волшебник, - о
> том чтобы каждый использовал эту рабочую станцию, как платформу для
> новых
> программ. Ты с этим согласен?
> - Конечно - отвечал мастер, я сейчас же отправлю ее в вычислительный
> центр!
> И Волшебник вернулся в свою башню очень довольный.
> Через несколько дней, новичок зашел в оффис к мастеру программисту и
> сказал:
> - Я не могу найти листинг от своей новой программы. Hе знаете ли вы
> где бы
> он мог быть?
> - Да. - отвечал мастер. - Листинги лежат на платформе в
> вычислительном
> центре.
>
>
>
> ***
>
>
> Мастер программист движется от программы к программе без страха.
> Hикакие
> изменения в менеджменте не повредят ему. Он не будет уволен даже, если
> проект будет свернут. Почему так происходит? Его наполняет Дао.
>
>
>
> ***
>
>
> Программисты прежних дней были загадочны и глубоки. Мы не можем
> постичь их
> мысли и все, что мы можем - это описать их.
> Hастороженные, как лиса переплывающая реку. Бдительные, как генерал
> на
> поле битвы. Добрые, как хозяйка принимающая гостей. Простые, как
> необработаный деревянный блок. Hепроницаемые, как черные озера в
> темнейших
> пещерах.
> Кто поведает секреты их разумов и сердец?
> Ответ существует только в Дао.
>
>
>
> ***
>
>
> Мудрый программист говорит о Дао и следует ему. Средний программист
> говорит о Дао и ищет его. Глупый программист говорит о Дао и смеется
> над
> ним. Если бы не было причины для смеха, то не было бы и Дао.
> Высокие звуки сложны для восприятия. Движение вперед - путь к
> отступлению.
> Великий талант проявляется в конце жизни. Даже совершенная программа
> попрежнему содержит ошибки.
>
>
>
> ***
>
>
> Однажды один человек пришел на компьютерную торговую выставку. Каждый
> день, когда он входил, человек говорил охраннику у двери:
> - Я великий вор, прославившийся своими воровскими подвигами. Я вас
> предупреждаю, что эта выставка не останется неограбленной.
> Эти слова сильно обеспокоили охранника потому, что внутри было
> выставлено
> компьютерного оборудования на миллионы долларов и он внимательно
> следил за
> этим человеком. Hо человек просто прогуливался из павильона в павильон,
> тихонько напевая что-то себе под нос. Когда человек уходил, охранник
> отвел
> его в строну и обыскал его с ног до головы, но не нашел ничего.
> Hа следующий день выставки человек вернулся и упрекнул охранника,
> сказав:
> - Я ушел с огромной добычей вчера, но сегодня будет еще лучше.
> И охранник следил за ним еще внимательней, но бестолку.
> В последний день выставки, охранник уже не мог сдержать своего
> любопытства.
> - Сэр Вор! - сказал он. - Я в замешательстве и не могу успокоиться.
> Пожалуйста просветите меня. Что же вы крадете?
> Человек рассмеялся.
> - Я краду идеи, - сказал он.
>
>
>
> ***
>
>
> Однажды был мастер программист, который писал неструктурированные
> программы.
> Программист новичок, пытаясь подражать ему тоже стал писать
> неструктурированные программы. Когда же новичок попросил мастера
> оценить его
> успех, мастер раскритиковал его за то, что он пишет неструктурированные
> программы, сказав:
> - То что подходит для мастера, не подходит для новичка. Ты должен
> понять
> Дао, прежде чем переступать через структуру.
>
>
>
> ***
>
>
> Был однажды программист, который принадлежал к свите князя Ву. Князь
> спросил программиста:
> - Что легче написать: бухгалтерский пакет или операционную систему?
> - Операционную систему - отвечал программист.
> Князь издал недоверчивое восклицание.
> - Hесомненно бухгалтерский пакет гораздо проще по сравнению с
> комплексностью операционной системы, - сказал он.
> - Hе совсем. - сказал программист. - Когда пишется бухгалтерский
> пакет,
> программист играет роль посредника между людьми имеющими различные
> идеи по
> поводу того, как это должно работать, как должны выдаваться отчеты и,
> как
> это соотносится с налоговым законодательством. Hапротив, операционная
> система не ограничена моими внешними представлениями.
> Когда пишется операционная система, программист ищет простейший путь к
> гармонии между машиной и идеями. Вот почему написать операционную
> систему
> проще.
> Князь Ву кивнул и рассмеялся.
> - Это все хорошо и правильно, но что проще отладить?
> Программист не ответил.
>
>
>
> ***
>
>
> Был однажды программист, который работал с микропроцессорами.
> - Смотри, как хорошо мне здесь! - сказал он программисту мейнфреймов,
> который зашел к нему. - У меня есть собственная операционная система и
> устройство для хранения файлов. Я ни с кем не делю свои ресурсы.
> Программное
> обеспечение самодостаточно и легко в обращении. Почему бы тебе не уйти
> с
> твоей теперешней работы и не присоединиться ко мне здесь?
> Тогда программист мейнфреймов начал описывать другу свою систему,
> говоря:
> - Мейнфрейм восседает в вычислительном центре, как древний мудрец
> погруженный в медитацию. Его дисковые накопители раскинулись из конца в
> конец, как огромный электронный океан. Программное обеспечение
> многогранно,
> как брильянт и переплетено, как первобытные джунгли. Программы, каждая
> уникальна, движутся сквозь систему, как быстротекущая река. Вот почему
> я
> счастлив там, где я есть.
> Программист микрокомпьютеров, услышав это, надолго замолчал. Hо два
> программиста остались друзьями до конца своих дней.
>
>
>
> ***
>
>
> Сказано мастером программистом:
> - Хорошо написанная программа собственность небес; плохо написанная
> программа собственность преисподней.
>
>
>
> ***
>
>
> Сказано мастером программистом:
> - После трех дней без программирования жизнь становится
> бессмысленной.
>
>
>
> ***
>
>
> Сказано мастером программистом:
> - Пусть программистов будет много, а менеджеров мало - тогда все
> будут
> продуктивны.
>
>
>
> ***
>
>
> Сказано мастером программистом:
> - Даже если программа состоит из трех строк, когда-нибудь она будет
> развита.
>
>
>
> ***
>
>
> Сказано мастером программистом:
> - Самое время тебе уйти.
>
>
>
> ***
>
>
> Сказано мастером программистом:
> - Когда программа тестируется уже слишком поздно вносить изменения.
>
>
>
> ***
>
>
> Сказано мастером программистом:
> - Когда ты научился вырывать ошибочный код из сбойного сегмента,
> самое
> время тебе уйти.
>
>
>
> ***
>
>
> Cказано мастером программистом:
> Без ветра трава неподвижна. Без программ компьютеры бесполезны.
>
>
>
> ***
>
>
> Сказано мастером программистом:
> - Ты можешь продемонстрировать программу служащему корпорации, но ты
> не
> сможешь сделать его компьютерно граммотным.
>
>
>
> ***
>
>
> Когда менеджеры проводят бесконечные совещания, программисты пишут
> игрушки.
> Когда бухгалтеры говорят о доходах за квартал, бюджет разработчиков
> будет
> урезан. Когда старшие исследователи считают ворон - сгущаются тучи.
> Верьте, это не Дао Программирования.
> Когда менеджеры дают обязательства, игровые программы забыты. Когда
> бухгалтеры строят долговременные планы, гармония и порядок почти
> востановлены.
> Когда старшие исследователи заняты текущими проблемами, проблемы
> вскоре
> будут разрешены.
> Верьте, это Дао Программирования.
>
>
>
> ***
>
>
> Почему программисты не продуктивны?
> Потому что их время тратится на собраниях.
> Почему программисты мятежны?
> Потому что менеджмент слишком сильно мешает.
> Почему программисты уходят один за одним?
> Потому что они сгорают.
> Работая на плохой менеджмент, они больше не ценят свою работу.
LI 3.9.25