порой им кажется, что они не способны расти. Нередко они убеждены, что недостойны похвалы за созданное ими. Не всегда уверены они в том, что же именно делают они там - в этом беспредельном мире битов и байт. Они проводят ночи без сна, страдая, что их программа может оказаться невостребованной. Вот потому они - Рыцари Программирования. Потому что ошибаются. Потому что терзают себя вопросами. Потому что ищут причину собственных ошибок, ищут и, без сомнения, когда-нибудь найдут.
Рыцарь Программирования не боится показаться безумным. Вслух и в полный голос он разговаривает сам с собой, скользя глазами по бессмысленным для непосвященных строкам текста.
Некто внушил ему, что это лучший способ найти те места в своей программе, которые следует переписать - и вот он решил проверить это на деле. Поначалу ему представляется это очень трудным. Он думает, что его код совершенен - и ему нечего изменять в нем. И все же он настаивает и упорствует, и каждый день ведет беседу с собственным разумом. И произносит то, с чем не согласен, и пишет глупости. Но вот в один прекрасный день он замечает, что код его выглядит иначе. И понимает тогда, что открыл путь для постижения Дао Программирования.
Рыцарь Программирования порой кажется сумасшедшим, но это всего лишь притворство.
'Настоящий Рыцарь Программирования сам выбирает себе то, что хочет написать', - так сказал Великий Программист.
Рыцарь знает, на что способен. Ему нет нужды хвалиться перед другими членами команды своими знаниями и талантами. Однако в любую минуту может появиться тот, кто пожелает доказать, что он – лучше. А для Рыцаря не существует понятий 'лучше' или 'хуже', ибо в его глазах каждый Рыцарь одарен достаточно, чтобы следовать избранной им стезей.
Но есть программисты, которых это не устраивает. Они стараются показать ему его незнание и несовершенство созданного им, вызвать его на ссору, сделать все, чтобы вывести его из себя. И в такие минуты сердце говорит ему: 'Отринь оскорбление, оно не усилит твои способности. Ты лишь впустую потеряешь время, пытаясь помочь ему постигнуть Дао Программирования'.
Рыцарь Программирования не тратит времени понапрасну, ибо знает: то, что должно быть написано - будет написано.
Иногда Рыцарь Программирования вспоминает слова Великого Программиста: 'После трех дней без программирования жизнь становится бессмысленной.'
Каждый язык и каждая технология приветствуют его. Он ощущает свое кровное родство с ними, он чувствует, что часть его Души заключена в бессмысленных для других потоках цифр, в строках текста и том, что его современники называют 'компьютерным железом'. И тогда, принимая опыт и помощь других Рыцарей и Божьих Знамений, он позволяет своей Стезе вести его туда, где ожидают своего сотворения мириады программ, востребованные жизнью.
Порой бывает, что ему некогда ночевать, порой его мучает бессонница. 'Ничего, - думает Рыцарь, - Это входит в профессию. Меня же никто не заставлял идти таким путем. Я сам так решил.'
В этих словах заключена вся его мощь: он выбрал свою стезю, и ему не на что сетовать, не на кого жаловаться.
Время настанет - через столько-то столетий, - когда Вселенная придет на помощь Рыцарям Программирования, и останется глуха и безразлична к тем, кто не постиг красоту Творчества.
Написанные ранее программы требуют обновления.
Новые идеи требуют пространства.
Дух и разум требуют новых вызовов.
Грядущее обернется настоящим, и мечты - кроме тех, в которых сокрыты предрассудки, - получат возможность стать явью.
Важное - пребудет, бесполезное – сгинет.
Рыцарь, впрочем, не дает себе труда размышлять о программах ближнего и оценивать их. И он не станет тратить времени на порицание решений, принятых другими. Ибо для того, чтобы веровать в верность собственного подхода, нет нужды доказывать, что другой избрал себе неверный путь.
Рыцарь Программирования с великим тщанием изучает то, что намерен написать. Как бы ни был труден путь к цели, всегда есть приемы и способы одолеть преграды. Рыцарь ищет обходные пути, старается сделать так, чтобы Душа и тело исполнились стойкости, а разум - спокойствия, без которых нельзя достойно закончить свою работу.
Но вот, уже продвигаясь по пути создания программы, создает Рыцарь, что существуют трудности и препятствия, которых не принимал в расчет. Если он станет дожидаться пришествия Музы Программиста и бояться допустить ошибки, то никогда не сдвинется с места; чтобы сделать первый шаг, нужна смелость - ибо все предусмотреть невозможно, особенно при проектировании, особенно при кодировании.
Рыцарь Программирования знает свои слабые стороны. Но и знает и то, чем одарен.
Иные жалуются: 'Нам не представилось возможности'. Быть может, они правы, но Рыцарь никогда не даст себе перестать программировать по этой причине - нет, он напряжет до последнего предела силы и дарования.
Рыцарь знает, что программисты не боятся сложных программ, ибо уверены в своей силе. И тогда Рыцарь старается постичь, на что же он может рассчитывать. И он проверяет свое вооружение, а состоит оно из трех вещей - Знания, Вдохновения и Веры. Если в наличии и первое, и второе, и третье, Рыцарь без колебаний продолжает путь.
Рыцарь Программирования знает, что никакого программиста нельзя считать глупцом, и жизнь научит люБого - пусть даже для этого потребуется время.
Рыцарь передает другим Рыцарям свои лучшие знания и навыки, и того же ожидает от них. И вдобавок он великодушно и вдохновенно старается показать всему миру, на что способен каждый программист.
'Заказчики неблагодарны', - замечают по этому поводу иные его товарищи.
Истинного Рыцаря такими речами не смутить. Он продолжает писать для них программы, ибо тем самым совершенствуется и сам.
Всякому Рыцарю Программирования уже случалось испытывать страх перед новой, еще не написанной им программой.
Всякому Рыцарю Программирования уже случалось создавать недостойный код.
Всякому Рыцарю Программирования уже случалось брести неверным путем.
Всякому Рыцарю Программирования уже случалось терзаться из-за сущих пустяков.
Всякому Рыцарю Программирования уже случалось приходить к выводу, что он - не Рыцарь Программирования.
Всякому Рыцарю Программирования уже случалось поступаться своим творческим долгом.
Всякому Рыцарю Программирования уже случалось говорить новому заказчику 'да', когда хотелось сказать 'нет'.
Всякому Рыцарю Программирования уже случалось ненавидеть те программы, которые он когда-то любил.
Вот потому он и вправе называться Рыцарем Программирования, потому что прошел через все это и не утратил надежды стать лучше, чем был.
Рыцарь всегда помнит слова, изреченные Великим Программистом: 'Хорошо написанная программа это свой собственный рай; плохо написанная программа это свой собственный ад'.
Рыцарю пристало принимать брошенный ему вызов. Он знает, что тот, кто будет тестировать его программу, не пропустит ни единой ошибки, совершенной им, и не допустит, чтобы он притворялся, будто ему неведом написанный им код.
Рыцарь Программирования не изменяет своих решений. Прежде чем приступить к новому проекту, он предается продолжительным размышлениям - оценивает степень своей готовности, меру своей ответственности, свой долг перед командой. Стараясь сохранить душевное равновесие, он кропотливо исследует каждый свой шаг - так, словно от него зависит все. Но в тот миг, когда решение принято, Рыцарь уже движется вперед без оглядки: у него нет сомнений в правильности сделанного им выбора, и, даже если обстоятельства оказываются не такими, как он представлял, Рыцарь не сворачивает с избранной стези. И, если его решение было верным, он одерживает победу в битве - пусть даже будет она более долгой, чем представлялось прежде. Если же решение было ошибочным, он потерпит поражение и вынужден будет все