Великие программисты найти простые решения сложных проблем
После того, как долго я могу найти источник для следующих котировок
Младший программистам создавать простые решения для простых задач. Старший программистам создавать комплексные решения для сложных проблем. Великие программисты находить простые решения сложных проблем.
Именно в эссе под названием Красивые Software Чарльз Коннелл.
Другой любимый мой это Дзен Python -
Красивое лучше, чем некрасивым.
Явный лучше чем неявный.
Чем проще, тем лучше, чем сложные.
Комплекс лучше, чем сложные.
Плоские лучше вкладываться.
Редкие лучше, чем плотная.
Читаемость имеет значение.
Особые случаи не являются специальными достаточно, чтобы нарушать правила.
Несмотря на практичность бьет чистоты.
Ошибки никогда не должны проходить тихо.
Если явно не замолчать.
В условиях неопределенности, отказаться от искушения догадаться.
Там должна быть одна и, желательно, только один очевидный способ сделать это.
Несмотря на то, что никак не может быть очевидным на первый, если вы не голландцы.
Сейчас лучше, чем никогда.
Хотя никогда зачастую лучше, чем * право * сейчас.
Если реализацию сложно объяснить, это плохая идея.
Если реализацию легко объяснить, она может быть хорошей идеей.
Пространства имен являются одним сигналят отличная идея - давайте делать больше таких!
-------------------------
и есть классический Дао Программирования
-
кредитов, а на связанные сайта
Перевод Джеффри Джеймс
Перевод Герцог Hillard
Передано Анупам Trivedi, Sajitha Tampi и Meghshyam Джаганнатха
Re-HTML-ized под редакцией Kragen Ситтлер
-
Книга 1 - The Silent Пустота
Так говорил главный программист:
"Когда вы узнали вырвать код ошибки из ловушки кадре,
будет для вас время, чтобы уйти. "1,1
Что-то таинственное формируется, родился в тихой пустоте. Ожидание в одиночку и
двигаясь, он сразу еще и тем не менее в постоянном движении. Это источник
всех программ. Я не знаю ее имени, поэтому я буду называть его Дао
Программирование.Если Дао велико, то операционная система велика. Если операционная
Система большая, то компилятор велик. Если компилятор велик,
то приложение велик. Пользователь доволен и существует
гармонии в мире.Дао Программирования течет далеко и возвращается на ветер утром.
1,2
Тао родился в машинный язык. Машинный язык породил
ассемблер.Ассемблер породил компилятор. В настоящее время существует десять тысяч
языков.Каждый язык имеет свою цель, но скромным. Каждый язык выражает
Инь и Ян программного обеспечения. Каждый язык имеет свое место в Дао.Но не программировать на COBOL, если вы можете избежать этого.
1,3
В начале было Дао. Дао породило Пространство и Время.
Поэтому пространство и время являются Инь и Янь программирования.Программисты, которые не постичь Дао, всегда не хватает времени
и пространства для их программ. Программисты, которые постичь Дао всегда
иметь достаточно времени и пространства для достижения своих целей.Как могло быть иначе?
1,4
Мудрый программист слышит о Дао и следует ему. Среднее
программист слышит о Дао и ищет его. Глупый программист
слышит о Дао и смеется над ней.Если бы это было не для смеха, не было бы Дао.
Самые высокие звуки труднее слышать.
В дальнейшем это путь к отступлению.
Большой талант проявляется в конце жизни.
Даже совершенная программа все еще есть ошибки.-------------------------
Книга 2 - Древние мастера
Так говорил главный программист:
"После трех дней без программирования жизнь становится бессмысленной."
2,1
Программисты старых были загадочны и глубоки. Мы не можем понять
свои мысли, так что все что мы делаем, описать их внешний вид.Сознавая, как лиса пересечения воды. Сигнал, как и вообще на
боя. Вид, как хозяйка приветствует своих гостей. Простой, как
uncarved блоков из дерева. Непрозрачными, как черный бассейнов в затемненном пещеры.Кто может сказать, секреты их сердец и умов?
Ответ на этот вопрос существует только в Дао.
2,2
Великий магистр Тьюринга однажды приснилось, что он машина. Когда он проснулся, он
воскликнул:"Я не знаю ли я Тьюринга снилось, что я машина, или
Машина снилось, что я Тьюринг! "2,3
Программист из очень большой компьютерной компании пошли на программное обеспечение
конференции, а затем вернулся представить его менеджер, говоря: "Какой
программисты работают в других компаниях? Они вели себя плохо и были
равнодушен к внешности. Их волосы были длинные и неопрятные и их
Одежда была морщинистой и старой. Они разбился наше гостеприимство пакет, и они
сделаны грубые звуки во время моего выступления ».Менеджер сказал: "Я бы никогда не послал тебя на конференцию. Те
программисты живут за пределами физического мира. Они считают жизнь абсурдна,
случайное совпадение. Они приходят и уходят, не зная ограничений.
Без помощи, они живут только для своих программ. Почему они должны беспокоиться
с социальными конвенциями?"Они живы внутри Дао."
2,4
Ученик спросил учителя: "Вот программист, что никогда не проектирует,
документы или испытания его программ. Но все, кто знает его считают его одним из
лучших программистов в мире. Почему это происходит? "Мастер ответил: "Этот программист овладел Дао. Он пошел
за необходимость разработки, он не сердится, когда система
падает, но принимает вселенную без беспокойства. Он вышел за пределы
необходимые для документации, он не заботится, если кто-то видит, что его код.
Он ушел от необходимости тестирования, каждый из его программы идеально подходят
в себе, спокойный и элегантный, их цель очевидна. Действительно,
он вошел в тайне Дао. "-------------------------
Книга 3 - Проектирование
Так говорил главный программист:
"Когда программа тестируется, уже слишком поздно, чтобы сделать дизайн
изменения ".3,1
Там когда-то был человеком, который пошел на выставке компьютер. Каждый день, как он
введен, мужчина сказал охранник у двери:"Я великий вор, известен мой подвиг кражи. Быть
предупрежден, для этой выставки не избегнут unplundered ".Речь нарушается охрана сильно, потому что там были миллионы
долларов компьютер внутри оборудования, так что он наблюдал за человеком внимательно. Но
Человек просто бродили от стенда к стенду, напевая тихо сам с собой.Когда мужчина вышел, охранник отвел его в сторону и обыскал его одежду, но
ничего не было найдено.На следующий день выставки, этот человек вернулся и упрекнул охранника
сказал: «Я бежал с огромной добычей вчера, но сегодня будет еще
лучше ". Так что охранник смотрел на него все более тесно, но безрезультатно.В последний день выставки, охранник мог сдержать своего любопытства
больше нет. "Господин Вор", он сказал: "Я очень озадачен, я не могу жить в
мира. Пожалуйста, просветите меня. Что это, что вы крадете? "Человек улыбнулся. "Я краже идеи", сказал он.
3,2
Там когда-то был мастером программист, который писал неструктурированные программы.
начинающий программист, стремясь подражать ему, а также начал писать
неструктурированные программы. Когда Ученик спросил мастера, чтобы оценить его
прогресс, мастер критиковали его за написание неструктурированных программ,
сказал: «Что подходит для мастера не подходит для
новичок. Вы должны понять Дао, прежде чем преодоление структуры ".3,3
Был однажды программист, который был прикреплен ко двору военачальника
Ву. Военачальник спросил программиста: "Что легче проектировать:
бухгалтерский пакет или операционную систему? ""Операционная система", ответил программист.
Военачальник произнес возглас недоверия. "Конечно, бухгалтерский учет
пакет тривиально следующий сложности операционной системы ", он
сказал."Не так", сказал программист, "при проектировании бухгалтерский пакет,
программист работает как посредник между людьми с разными
идеи: как это должно работать, как его доклады должны появиться, и как она должна
соответствии с налоговым законодательством. В отличие от операционной системы не ограничивается
внешних явлений. При проектировании операционной системы, программист
стремится к простейшей гармонии между машиной и идеями. Вот почему
операционная система проще в разработке ".Военачальник из Ву кивнул и улыбнулся. "Это все хорошо, но
что легче отладить? "Программист не ответил.
3,4
Менеджер пришел к мастеру программисту и показал ему требования
документ для новых приложений. Менеджер спросил учителя: "Как долго
займет проектирование этой системы если я назначу пять программистов к нему? ""Это будет один год", сказал мастер в кратчайшие сроки.
"Но нам нужна эта система немедленно и даже раньше! Как долго это
принять, если я назначу десять программистов к нему? "Программист мастер нахмурился. "В таком случае, это займет два года."
"А что, если я назначу сто программистов?"
Программист мастер пожал плечами. "Тогда проект никогда не будет
завершен ", сказал он.-------------------------
Книга 4 - Кодирование
Так говорил главный программист:
"Хорошо написанная программа это свой собственный рай, плохо написанная программа
свой ад ".4,1
Программа должна быть легкой и гибкой, ее подпрограммы связано как
нитка жемчуга. Духу и целям программы должны быть сохранены
во всем. Там должно быть ни слишком мало или слишком много, ни
ненужные петель и бесполезно переменных, ни отсутствия структуры, ни
Подавляющее жесткости.Программа должна следовать Закону `наименьшего удивления». Что это за закон?
Это просто, что программа должна всегда отвечать пользователю в пути
Поражает, что его меньше всего.Программы, независимо от того, насколько сложным, должна действовать как единое целое. Программа
должны быть направлены по логике в течение, а не внешне.Если программа не в эти требования, он будет в состоянии
беспорядка и путаницы. Единственный способ исправить это переписать
программы.4,2
Ученик спросил мастера: "У меня есть программа, которая иногда работает и
иногда прерывается. Я следовал правилам программирования, но я
полностью сбиты с толку. Какова причина этого? "Мастер ответил: "Вы в замешательстве, потому что ты не понимаешь Дао.
Только глупец ожидает разумного поведения от своих собратьев. Почему, как вы
ожидать от машины, что люди построили? Компьютеры моделирования
детерминизма, только Дао совершенно.«Правила программирования преходящи, только Дао вечно. Поэтому
Вы должны созерцать Дао прежде чем вы получите просветление "."Но как я знаю, когда я получил просветление?" Спросил
новичок."Ваша программа будет работать правильно," ответил мастер.
4,3
Мастер объяснял природу Дао одному из своих новичков. "
Дао воплощено во всех программных - независимо от того, незначительны ", сказал
мастер."Является ли Дао в ручной калькулятор?" Спросил ученик.
"Это", был ответ.
"Является ли Дао в видеоигре?" Продолжает новичка.
"Это даже в видеоигре," сказал учитель.
"И это Дао в ДОС для персонального компьютера?"
Мастер закашлялся и перевел положение немного. "Урок закончен
на сегодняшний день, "сказал он.4,4
Программист принц Ван был кодирования программного обеспечения. Его пальцы танцевали на
клавиатуры. Программа составлена без сообщения об ошибке, и программа
побежал, как легкий ветерок."Отлично!" Принц воскликнул: "Ваша техника безупречна!"
"Техника"? Сказал программист поворот от терминала, "Что я
следовать, Дао - за пределами всех техник! Когда я впервые начал программировать я
что вижу перед собой все проблемы в одну массу. Через три года я не
не видел эту массу. Вместо этого я использовал подпрограммы. Но сейчас я ничего не вижу.
Все мое существо существует в бесформенную пустоту. Мои чувства бездействуют. Мой дух,
свободно работать без плана, следует своим инстинктам. Короче говоря, моя программа
пишет сам. Правда, иногда возникают сложные проблемы. Я вижу их
идет, я замедляться, я смотрю молча. Тогда я изменить одну строку кода
и трудности исчезнут, как клубы дыма простоя. Я затем скомпилировать
программы. Я сижу до сих пор, и пусть радость работы заполнить мое существо. Я закрываю
Глаза на мгновение, а затем выйти из нее. "Принц Ван сказал: «Будет, что все мои программисты были мудрыми!"
-------------------------
Книга 5 - Техническое обслуживание
Так говорил главный программист:
"Хотя программа должна быть, кроме трех строк, когда-нибудь ему придется быть
поддерживается ".5,1
Хорошо использовать дверь не требует смазки на петлях.
Быстротекущей поток не растет стагнации.
Ни звука, ни мысли могут путешествовать через вакуум.
Программное обеспечение гниет, если не используется.Это великие тайны.
5,2
Менеджер спросил программиста, сколько времени ему потребуется, чтобы закончить
Программа, на которой он работает. "Она будет закончена завтра"
Программист быстро ответил."Я думаю, вы в настоящее время нереально," сказал менеджер, "Честно говоря, как
времени это займет? "Программист задумался на мгновение. "У меня есть некоторые особенности, которые я хочу
добавить. Это займет не менее двух недель ", сказал он наконец."Даже это слишком много, чтобы ожидать", настаивал менеджер, "Я буду
выполнены, если вы просто скажите, когда программа будет готова ".Программист согласился с этим.
Несколько лет спустя, менеджер в отставку. На пути к своей отставке
обед, он обнаружил, что программист спит за своим терминалом. Он был
программирование всю ночь.5,3
Начинающий программист однажды присваивается код простой финансовый пакет.
Начинающий работал неистово в течение многих дней, но когда хозяин его отзывы
свою программу, он обнаружил, что в нем содержится экранный редактор, набор
обобщенного графика процедур, искусственный интеллект интерфейс, но
нет ни малейшего упоминания ни о чем финансовая.Когда хозяин спросил об этом, новичок пришел в негодование. «Не
таким нетерпеливым ", он сказал:" Я положу в финансовом вещи в конце концов. "5,4
Есть ли хороший фермер пренебречь урожая он посадил?
Есть ли хорошие учителя выходят даже самого скромного студента?
Есть ли хороший отец позволить одному ребенку голодать?
Есть ли хороший программист отказаться от поддержания его код?-------------------------
Книга 6 - Менеджмент
Так говорил главный программист:
"Пусть программистов будет много, а менеджеров мало - тогда все будет
продуктивным ».6,1
Когда менеджеры проводить бесконечные совещания, программисты пишут игры. Когда
бухгалтеры говорят о ежеквартальной прибыли, бюджет развития собирается
быть сокращены. Когда исследователи говорят голубое небо, облака собираются свернуть
дюймДействительно, это не Дао Программирования.
Когда менеджеры делают обязательства, игровые программы, игнорируются. Когда
бухгалтеров сделать долгосрочные планы, гармония и порядок собираетесь быть
восстановлены. Когда старшие научные решения проблем в стороны,
проблемы в скором времени будет решена.Воистину, это Дао Программирования.
6,2
Почему программисты непроизводственной?
Потому что их время растрачивается на совещаниях.Почему программисты мятежный?
Поскольку управление вмешивается слишком много.Почему программисты в отставку один за другим?
Потому что они сгорели.Проработав плохого управления, они не ценят свою работу.
6,3
Менеджер был на грани увольнения, но программист, который работал на него
придумал новую программу, которая стала популярной и хорошо продавалась. В результате,
менеджер сохранил свою работу.Менеджер попытался дать программисту премию, но программист
отказался, сказав: "Я написал программу, потому что я думал, что это
интересная концепция, и таким образом я не ожидаю награды. "Менеджер, услышав это, заметил: "Этот программист, хоть он держит
Положение небольшого достоинства, хорошо понимает обязанности надлежащего
сотрудников. Давайте продвигать его на высокий пост управления
консультант! "Но когда сказал это, программист еще раз отказался, сказав: "Я существую так
что я могу программировать. Если бы я способствовал, я бы ничего не делать, но отходы
Время каждого. Могу ли я теперь идти? У меня есть программа, что я работаю ".6,4
Менеджер пришел к своим программистам и сказал им: "Что касается вашей работы
Часы работы: вы собираетесь приходить в девять утра и оставить
В пять вечера. "При этом все они рассердились и несколько
ушел в отставку на месте.Таким образом, менеджер сказал: "Ладно, в этом случае вы можете установить свои собственные
рабочее время, пока вы закончите ваши проекты в соответствии с графиком ".
Программисты, в настоящее время удовлетворены, стали поступать в полдень и работают в крошечных
часов утра.-------------------------
Книга 7 - Корпоративная мудрость
Так говорил главный программист:
"Вы можете показать программу для корпоративных исполнительной власти, но вы не можете
сделать его компьютерно грамотным. "7,1
Ученик спросил мастера: "На востоке есть большое дерево-структуры
что люди называют 'Штаб-квартира корпорации. Это раздутый из формы с
вице-президентами и бухгалтерами. Она выпускает множество справок, каждая
говоря: пойдите, поэтому! или `иди, сюда! и никто не знает, что имеется в виду. Каждый
год новые имена поставлены на ветвях, но все безрезультатно. Как можно
такие неестественные лица может быть? "Мастер ответил: "Ты видишь эту огромную структуру и
обеспокоен тем, что она не имеет рациональной цели. Вы можете не принимать от развлечений
ее бесконечными циркуляции? Вы не пользуются безмятежное легкость программирования
Под его укрытия отрасли? Почему вы беспокоили его
бесполезности? "7,2
На востоке есть акула, которая больше всех других рыб. Это
превращается в птицу, чьи крылья подобны облакам заполнения небе. При этом
птица перемещается по земле, она приносит послание от корпоративного
Штаб-квартиры. Это сообщение он падает в гущу программистов,
как чайка делает свой след на пляже. Тогда птица поднимается на
ветер, а с голубого неба на спине, возвращается домой.Начинающий программист смотрит с удивлением на птицу, так как он это понимает
не. Средний программист страшится прихода птицы, потому что он боится
его сообщения. Программист мастер продолжает работать за своим терминалом, для
Он не знает, что птица приходят и уходят.7,3
Волшебник из Башни Слоновой Кости привез свое последнее изобретение
Мастер программист для изучения. Маг колесных большой черный ящик в
главный офис, а хозяин молча ждал."Это интегрированная, распределенная, общего назначения, рабочая станция," начал
маг ", эргономичные с собственной операционной
системы, шестого поколения языков, а также несколько современных пользователей
интерфейсов. Он принял мои помощники несколько сотен человеко-лет, чтобы построить.
Разве не удивительно? "Хозяин поднял брови немного. "Это действительно удивительно", он
сказал."Штаб-квартира корпорации повелел," продолжал волшебник, "что
каждому использовать эту станцию как платформу для новых программ. Согласны ли вы
на это? ""Конечно," ответил мастер, "Я это будет транспортироваться в
центр обработки данных немедленно! "И волшебник вернулся к своей башне, а
доволен.Через несколько дней новичок забрел в офис главного
программист и сказал: "Я не могу найти список для моей новой программы. Делать
Вы знаете, где это может быть? ""Да", ответил мастер, "листинги сложены на платформе
центр обработки данных ".7,4
Мастер программист движется от программы к программе без страха. Нет
изменение управления может причинить ему вред. Он не будет уволен, даже если
Проект будет отменена. Почему это происходит? Он полон Дао.-------------------------
Книга 8 - Аппаратное и программное обеспечение
Так говорил главный программист:
"Без ветра, трава не двигается. Без программного обеспечения, аппаратных
бесполезно. "8,1
Ученик спросил мастера: "Я вижу, что одна компьютерная компания намного
больше, чем все остальные. Она возвышается над конкурентами, как гигант среди
карликов. Любой из его подразделений могут включать в себя весь бизнес. Почему
это так? "Мастер ответил: "Почему ты задаешь такие глупые вопросы? Эта компания
велика, потому что велик. Если бы она выпускала только аппаратные средства, никто не будет покупать
его. Если он только сделал программное обеспечение, никто не будет его использовать. Если он поддерживается только
системы, люди будут относиться к нему как к прислуге. Но так как он сочетает в себе все
эти вещи, люди думают, что один из богов! По не стремится
стремиться, она побеждает без усилий ".8,2
Программист мастер принял начинающий программист один день. Мастер отметил,
новичка озабоченность ручных компьютерных игр. «Простите меня»,
он сказал, "я могу рассматривать это?"Начинающий болтами к вниманию и передал устройство к хозяину. "Я
видно, что устройство утверждает, что три уровня игры: легкий, средний и
Жесткий, "сказал учитель. "Тем не менее, каждое такое устройство имеет еще один уровень
играть, когда устройство не стремится завоевать человека, ни быть побежденным
на человека "."Молитесь, великий мастер", умолял начинающих ", как найти эту
таинственные настройки? "Мастер бросил устройство на пол и раздавил ногой. И
вдруг начинающего был просветленным.8,3
Был однажды программист, который работал на микропроцессоры. "Посмотрите, как
а у меня здесь ", сказал он на ЭВМ программист, который пришел в гости,
"У меня есть своя операционная система и устройство для хранения файлов. Я не имею в
делиться своими ресурсами с кем. Программное обеспечение является самосогласованным и
простой в использовании. Почему бы тебе не бросить свою нынешнюю работу и присоединиться ко мне? "ЭВМ программист начал описывать свою систему к своему другу,
говоря: "ЭВМ сидит, как древний мудрец медитации среди
центра обработки данных. Его диски лежат конца в конец, как великий океан
техники. Программное обеспечение как многогранное, как алмаз, и запутанные
как первобытные джунгли. Программ, каждая уникальна, перемещаться по системе
как быстротекущей реки. Вот почему я счастлив, где я нахожусь ".Микрокомпьютер программист, услышав это, замолчал. Но эти два
программисты оставались друзьями до конца своих дней.8,4
Оборудование встретился программного обеспечения на пути к Восхождение. Программное обеспечение сказал: «Вы
Инь и Ян я. Если мы будем путешествовать вместе мы прославиться и заработать
огромные деньги ". И так изложенные вместе, думая покорить
мира.Вскоре они встретили Firmware, который был одет в рваные лохмотья и хромал
а опираясь на палку тернист. Прошивка сказал им: "Дао лежит
за Инь и Ян. Это тихий и по-прежнему, как бассейн с водой. Это делает
не искать славы, поэтому никто не знает своего присутствия. Он не стремится
состояние, потому что это полная в себе. Он существует вне пространства и
время ".Программного и аппаратного обеспечения, стыдно, вернулись в свои дома.
-------------------------
Книга 9 - Эпилог
Так говорил главный программист:
"Настало время для вас, чтобы уйти".
-------------------------
Если вам понравилось это, возможно, также хотели бы прочитать хуже, тем лучше



































