Стартовая страница

ru.humor.14 Дао программирования 10/06/14 13:34 UTC spline to All

Книга 4
Кодирование

Так говорил Учитель:
“У хорошо написанной программы
есть свой собственный рай,
у плохо написанной — свой собственный ад.”

4.1

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

Программа должна следовать “Закону наименьшего удивления”. Что это за закон? Он гласит, что программа должна всегда отвечать пользователю так, чтобы вызывать у него наименьшее удивление.

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

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

4.2

Ученик спросил Учителя: “У меня есть программа, которая когда запускается, а когда и нет. Я следовал правилам программирования, но она всё равно не работает. Зачем же нужны эти правила?”

Учитель ответил: “Ты не получил желаемого, потому что ты не постиг Дао. Только дурак ожидает рационального поведения от людей. Почему ты ожидаешь его от машины, которая разработана людьми? Компьютеры только симулируют детерминизм, одно лишь Дао совершенно.

Правила программирования преходящи, только Дао вечно. Таким образом, ты должен созерцать Дао перед тем как достигнешь просветления”.

“Но как узнаю, что я достиг просветления?”, — спросил ученик.

“Твои программы начнут работать правильно”, — ответил Учитель.

4.3

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

“Есть ли Дао в ручных калькуляторах?” — спросил ученик.

“Да”, — последовал ответ.

“А в видеоиграх?”, — продолжал ученик.

“Оно есть даже в видеоиграх”, — ответил Учитель.

“А в ДОС?”

Учитель кашлянул и чуть отодвинулся. “Урок на сегодня закончен”, — сказал он.

4.4

Программист принца Вонга писал программу. Его пальцы танцевали по клавиатуре. Программа скомпилировалась без единой ошибки и выполнилась словно дуновение ветерка.

“Превосходно!”, — воскликнул принц, — “твоя техника потрясающа!”

“Техника?” — сказал программист, отворачиваясь от терминала. — “Всё, что я делаю, — это Дао, оно находится выше техники! Когда я впервые начал программировать, я увидел перед собой целую кучу задач. Через три года я больше не видел кучи. Вместо неё я пользовался подпрограммами. Но сейчас я их не вижу. Я весь пребываю в бесформенном ничто. Моё сознание праздно. Мой дух, свободный в работе без плана, следует своим собственным инстинктам. Короче, мои программы пишут себя сами. Правда, иногда возникают трудные проблемы. Я вижу как они приходят, я замедляюсь, я безмолвно наблюдаю. Потом я изменяю одну строку кода и трудности исчезают, как дымка. И я компилирую программу. Потом сижу и позволяю радости от работы заполнить меня всего. На момент я закрываю глаза и тогда выключаю компьютер.”

Принц Вонг сказал: “Если бы все мои программисты были такими мудрыми!”