Великий программистам найти простые решения сложных проблем

30 июня 2009 по Prashant
Подано в: разное

После долгого времени я могу найти источник для следующей цитате -

Junior программистам создавать простые решения для простых задач. Старший программистам создавать комплексные решения для сложных проблем. Великий программистам найти простые решения для сложных проблем.

Именно из эссе под названием Beautiful Software Чарльза Коннелл.

Другая любимая моя это Дзен Python --

Beautiful лучше, чем уродливые.
Явные лучше, чем неявные.
Чем проще, тем лучше, чем сложные.
Комплекс лучше, чем сложнее.
Квартира лучше, чем вложенными.
Редкие лучше, чем плотная.
Читаемость пунктам.
Особые случаи не являются специальными достаточно, чтобы нарушить правила.
Хотя практичности бьет чистоту.
Ошибки не должно проходить молча.
Если явно замолчать.
В условиях неопределенности, отказаться от соблазна угадать.
Там должно быть одно-и, желательно, только один очевидный способ сделать это.
Хотя этот способ не может быть неочевидной на первый, если вы голландский.
Сейчас лучше, чем никогда.
Хотя и не часто лучше, чем * * Теперь права.
Если реализация трудно объяснить, что это плохая идея.
Если реализация легко объяснить, она может быть хорошей идеей.
Пространства имен Honking одна замечательная идея - давайте сделаем более таких!
-------------------------
И, наконец, классическая Дао Программирования

--

кредитов, как на сайтах -

Перевод Джефри Джеймс

Transcribed герцогом Hillard

Передано Anupam Trivedi, Sajitha Tampi и Meghshyam Джаганнатха

Re-HTML-Ized и отредактированы Kragen Ситтлер

--

Книга 1 - The Silent Void

Так говорил учитель:

"Когда вы научились вырвать код ошибки из ловушки кадра, то это
будут для вас время, чтобы уйти ".

1,1

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

Если Дао велико, то операционная система хорошая. Если операционная
Система хорошая, то и компилятор хороший. Если компилятор хороший,
то применение велик. Пользователь доволен, и существует
гармонию в мире.

Дао Программирования уплывает далеко и возвращается на утреннем ветре.

1,2

Дао породило машинный язык. Машинный язык породил
ассемблер.

Ассемблер породил компилятор. Теперь есть десять тысяч
Языки.

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

Но не на Коболе если вы можете избежать этого.

1,3

В начале было Дао. Дао породило Пространство и Время.
Поэтому пространство и время суть Инь и Янь программирования.

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

Как может быть иначе?

1,4

Мудрый программист слышит о Дао и следует ему. Средний
программист слышит о Дао и ищет его. Глупо программиста
Рассказывается о Дао и смеется над ним.

Если бы это было не до смеха, не было бы Дао.

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

-------------------------

Книга 2 - Учителя древности

Так говорил учитель:

"После трех дней без программирования жизнь становится бессмысленной."

2,1

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

Сознавая, как лисица переходящая воду. Тревога, как генерал на
боя. Добрый, как хозяйка приветствия своим гостям. Простые, как
деревянная заготовка. Непрозрачные, как черное озеро в затененной пещере.

Кто может сказать секреты их сердец и умов?

Ответ существует лишь в Дао.

2,2

Великий Магистр Тьюринга раз снилось, что он машина. Когда он проснулся, то
воскликнул:

"Я не знаю, буду ли я Тьюринга мечтал, что я машина, или
Машина мечтал, что я Тьюринг! "

2,3

Программист из очень большой компьютерной компании побывал на программное обеспечение
конференции, а затем вернулся в докладе его менеджер, сказав: "Что это
программисты работают в других компаниях? Они вели себя плохо и был
заботятся о внешнем виде. Их волосы длинные и неопрятные, а
одежда старая и мятая. Они нарушили наше гостеприимство, и они Suite
делали грубые звуки во время моей презентации ".

Менеджер сказал: "Я бы никогда не послал вас на конференцию. Те
программисты живут вне физического мира. Они считают жизнь абсурдной,
случайное совпадение. Они приходят и уходят, не зная границ.
Без помощи, они живут только своими программами. Почему они должны беспокоить
с социальными конвенциями?

"Они живы внутри Дао".

2,4

Ученик спросил учителя: "Вот это программист, что никогда не проектирует,
документы или испытаниям свои программы. Однако все, кто знает его считают его одним из
лучшие программисты в мире. Почему это происходит? "

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

-------------------------

Книга 3 - Проектирование

Так говорил учитель:

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

3,1

Там когда-то был человек, который пошел на компьютерную выставку. Каждый день, как он
вошел человек сообщили об этом охраннику у дверей:

"Я являюсь большим вором, известным мои подвиги делами. Быть
предупрежден, так как эта выставка от меня не ускользнет ".

Эта речь нарушается охранник сильно, потому что там были миллионы
долларов компьютерного оборудования внутри, так что он следил за этим человеком осторожно. Но
Человек просто бродил от палатки к палатке, тихо бормоча себе.

Когда он вышел, охранник отвел его в сторону и обыскали его одежду, но
Ничто не должно было быть найдено.

На следующий день выставки, человек возвратился и поприветствовал охранника
говорил: "Я ушел с огромной добычей вчера, а сегодня она будет еще
лучше ". Так что охранник смотрел еще пристальней, но безрезультатно.

В заключительный день работы выставки, охранник мог удержаться от любопытства
не больше. "Господин Вор", он сказал: "Я так озадачен, я не могу жить в
мир. Пожалуйста, просветите меня. Что это такое, что вы воровство?

Мужчина улыбнулся. "Я краду идеи," сказал он.

3,2

Там когда-то был мастером программиста, который писал неструктурированные программы.
начинающий программист, стремятся подражать ему, а также начал писать
неструктурированные программы. Когда ученик попросил учителя оценить его
прогресс, учитель критиковал его за неструктурированный,
говоря: "Что уместно учителю, то не подходит для
послушник. Вы должны понять Дао прежде чем переступить структуру ".

3,3

Был один раз программисту, который был прикреплен ко двору военачальника
Ву. Военачальник спросил программиста: "Что легче дизайн:
пакет бухгалтерского учета или операционной системы? "

"Операционная система", ответил программист.

Военачальник произнес возглас недоверия. "Конечно учета
пакет тривиально следующей сложности операционная система ", он
сказано.

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

Военачальник из Ву кивнул и улыбнулся. "Это все хорошо, но
что легче отладить? "

Программист не ответил.

3,4

Менеджер пришел к учителю и показал ему требования
документ для нового применения. Менеджер спросил учителя: "Как долго
это займет проектирование этой системы если я назначу на нее пять программистов? "

"Это займет один год", сразу сказал учитель.

"Но нам нужна эта система сразу же или еще раньше! Как долго это будет
предпринять, если я назначу десять программистов? "

Учитель нахмурился. "В таком случае, это займет два года".

"А что если я назначу сто программистов?"

Мастер пожал плечами. "Тогда проект никогда не будет
завершены, сказал он.

-------------------------

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

Так говорил учитель:

"Хорошо написанная программа это свой собственный рай; плохо написаная программа
свой собственный ад. "

4,1

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

Программа должна следовать `Закон наименьшего удивления. Что это за закон?
Это просто, что программа всегда должна реагировать на пользователя в пути
Поражает, что ему мере.

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

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

4,2

Ученик спросил учителя: "Я есть программа, которая когда-то бежит и
иногда прерывается. Я следовал правилам программирования, тем не менее я
совершенно запутался. Что является причиной этого?

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

"Правила программирования преходящи; только Дао вечно. Поэтому
Вы должны подумать о Дао прежде чем вы получите просветление ".

"Но как я знаю, когда я получил просветление?" Попросили
послушник.

"Ваша программа будет работать правильно," ответил учитель.

4,3

Учитель объяснял природу Дао одному из своих послушников. "
Дао воплощено во всех программных средствах - независимо от незначительных, "сказал
мастер.

"Является Тао в ручной калькулятор, спросил послушник.

"Это", последовал ответ.

"Является ли Дао в видеоигре?" Продолжал ученик.

"Это даже в видеоигре," сказал учитель.

"И" Дао в ДОС для персонального компьютера? "

Мастер кашлянул и переместил свою позицию незначительно. "Урок окончен
на сегодня, сказал он.

4,4

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

"Отлично!" Князь воскликнул: "Твоя техника безупречна!"

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

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

-------------------------

Книга 5 - Обслуживание

Так говорил учитель:

"Хотя программа будет, кроме трех строк, когда-нибудь это должно быть
сохранить ".

5,1

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

Эти большие тайны.

5,2

Менеджер спросил программиста, сколько времени займет его закончить
программу, по которой он работал. "Это будет закончена завтра"
Программист быстро ответил.

"Я думаю, что вы в настоящее время нереалистично", сказал директор, "По правде говоря, как
времени это займет?

Программист подумал. "У меня есть несколько особенностей, которые я хочу
добавить. Это займет не менее двух недель ", сказал он наконец.

"Даже, что это слишком много, чтобы ожидать", настаивал менеджер, "Я буду
выполненным, если вы просто скажите мне, когда программа будет готова ".

Программист согласился с этим.

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

5,3

Начинающий программист однажды присвоен код простой финансовый пакет.

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

Когда учитель спросил об этом, новичком стала возмущаться. "Не
не терпелось: "Он сказал:" Я положу в конечном итоге финансовые вещи ".

5,4

Существует ли хороший фермер безнадзорности урожая он посадил?
Существует ли хороший учитель игнорировать даже самый скромный студент?
Существует ли хороший отец позволит одного ребенка голодом?
Существует ли хороший программист отказываются поддерживать его код?

-------------------------

Книга 6 - Управление

Так говорил учитель:

"Пусть будет много программисты и руководители нескольких - тогда все будет
продуктивной ".

6,1

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

Поистине, это не Дао Программирования.

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

Воистину, это Дао Программирования.

6,2

Почему программисты непроизводственной?
Потому, что время тратится на заседаниях.

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

Почему программисты отставку по одному?
Потому что они сгорели.

Проработав неэффективного управления, они не ценят свою работу.

6,3

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

Менеджер попытался дать программисту премию, но программист
отказался, сказав: "Я написал программу, потому что я думал, что это
интересная концепция, и поэтому я не ждать награды.

Менеджер Услышав это заметил: "Этот программист, хотя он держит
Положение малого достоинства, хорошо понимает обязанности надлежащего
работника. Давайте содействовать его на высокий пост управления
Консультант "!

Но при этом заявил, программист еще раз отказывался, говоря: "Я существую таким
что я могу программу. Если бы способствовали я, я бы ничего не делать, но отходы
все время. Могу ли я сейчас? У меня есть программа, что я работаю ".

6,4

Менеджер пришел к своим программистам и сказал им: "Что касается вашей работе
Часы работы: вам придется прийти в девять часов утра и оставить
В пять часов пополудни. При этом все они рассердились и несколько
подал в отставку на месте.

Таким образом, менеджер сказал: "Хорошо, в таком случае вы можете настроить свой собственный
рабочего времени, до тех пор, как вы закончите ваши проекты по расписанию.
Программисты, в настоящее время удовлетворен, начали поступать в полдень и работают до Wee
часов утра.

-------------------------

Книга 7 - Корпоративные Мудрости

Так говорил учитель:

"Вы можете показать это программа для корпоративных исполнительной власти, но вы не можете
Сделать его компьютерной грамотности ".

7,1

Ученик спросил мастера: "На востоке есть большое дерево-структура
что люди называют `Корпоративная штаб-квартиры. Это раздутый из формы с
Вице-президентами и бухгалтерами. Он выпускает множество справок, каждая
говорили: "Иди, отсюда! или: "Пойди, сюда! ' и никто не знает, о чем идет речь. Каждый
Год новых имен положить на филиалы, но все безрезультатно. Как можно
такое неестественное лицо быть? "

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

7,2

На востоке есть акула, у которой больше, чем все другие рыбы. Это
превращается в птицу, чьи крылья похожи облака заполнения небо. При этом
птица перемещается по земле, она приносит послание от корпоративных
Штаб-квартиры. Это сообщение он падает в среде программистов,
как чайка вносит свой отпечаток на пляже. Затем птица монтирует на
ветер, и с голубым небом на своей спине, возвращается домой.

Начинающий программист смотрит удивленно на птицу, так как он его понимает
не. Средний программист боится прихода птица, он опасается за
его послание. Учитель продолжает работать на своем терминале, для
Он не знает, что птица приходят и уходят.

7,3

Волшебник из Ivory Tower привез свою последнюю изобретение
Учитель для изучения. Маг колесные большой черный ящик, в
мастера службы в то время как мастера молча ждал.

"Это комплексные, распределенные, общего назначения, рабочая станция," начал
маг ", с эргономичными собственные операционные
системы, Языки шестого поколения, а также несколько современных пользователей
интерфейсов. Он взял мои помощники несколько сотен лет человеку построить.
Разве это не удивительно? "

Мастер поднял брови немного. "Это действительно удивительно," он
сказано.

"Штаб-квартира корпорации повелел", продолжал маг ", что
все пользуются этой рабочей станции в качестве платформы для новой программы. Согласны ли вы
к этому? "

"Конечно," ответил учитель, "Я буду иметь это транспортируется в
Data Center немедленно! "и маг вернулся к своей башне, а
рад.

Несколько дней спустя, начинающий бродили в кабинет хозяина
программист и сказал: "Я не могу найти листинг моей новой программы. Делать
Вы знаете, где это может быть? "

"Да", ответил учитель ", списки устанавливается на платформу
центр обработки данных ".

7,4

Учитель переходит от программы к программе без страха. Нет
Изменения в управлении может навредить ему. Он не будет уволен, даже если
отменен проект. Почему это происходит? Он наполнен Дао.

-------------------------

Книга 8 - оборудования и программного обеспечения

Так говорил учитель:

"Без ветра, трава не двигается. Без программного обеспечения, аппаратных
бесполезно ".

8,1

Ученик спросил учителя: "Я вижу, что одна компьютерная компания значительно
больше, чем все другие. Она возвышается над его конкурентами, как гигантом среди
карлики. Любой из его подразделения могут включать весь бизнес. Почему
Так ли это? "

Мастер ответил: "Зачем ты задаешь такие глупые вопросы? Эта компания
больше, потому что велик. Если это сделано только аппаратные средства, никто не хотел покупать
это. Если это сделано только программное обеспечение, никто не мог им воспользоваться. Если он поддерживается только
Системы, люди будут обращаться с ней как со слугой. Но так как она сочетает в себе все
эти вещи, люди считают его одним из богов! Автор не стремится
стремиться, она побеждает без усилий ".

8,2

Учителя прошли начинающего программиста один день. Мастер отметили
забота начинающего пользователя с портативным компьютером игру. "Прости меня",
Он сказал: "я хотел бы рассмотреть это?

Начинающий болтами внимания и передал устройство к мастеру.
видим, что устройство утверждает, что три уровня игры: легкий, средний, и
Трудно ", сказал учитель. "Но каждое такое устройство имеет еще один уровень
играть, когда устройство не стремится завоевать человека, а также быть завоеваны
на человека ".

"Молись, великий мастер", умоляла новичком ", как найти это
таинственный настройки? "

Мастер бросил устройство на землю и раздавил ногой. И
была просвещенная вдруг ученик.

8,3

Был Один программист, работавший на микропроцессорах. "Посмотрите, как
обеспеченными Я здесь, сказал он мэйнфрейма программиста, который приезжал к ним,
"У меня есть собственные операционные системы и устройства хранения файлов. Мне не нужно
поделиться своими ресурсами с кем. Программное обеспечение самосогласованная и
Простой в использовании. Почему вы не бросить Вашу нынешнюю работу и присоединиться ко мне здесь? "

Программист мэйнфрейм начал описывать свою систему к своему другу,
Сказать "мэйнфрейм сидит, как древний мудрец медитируя в среду
в центре обработки данных. Его диски лежат конца в конец, как великий океан
техники. Программное обеспечение как многогранная, как алмаз, и как запутанные
как первобытные джунгли. Программы, каждый из которых уникален, переместить с помощью системы
SWIFT как река. Именно поэтому я счастлив, где я нахожусь ".

Микрокомпьютер программист, услышав это, замолчали. Но эти две
программисты оставались друзьями до конца своих дней.

8,4

Оборудование Программное обеспечение встретились на пути к Changtse. Программное обеспечение сказал: "Вы
Инь и Ян я. Если мы путешествуем вместе мы сможем стать известным и заработать
огромные суммы денег. "Итак, изложенные вместе, думая, чтобы победить
Мир.

Вскоре они встретились прошивки, которая была одета в лохмотья и оборванный ковыляла
вдоль опершись на тернистом палкой. Firmware сказал им: "Дао лежит
за Инь и Ян. Она молчит и тихо, как в бассейне с водой. Это
не стремиться к славе, поэтому никто не знает своего присутствия. Она не стремится
Fortune, для его завершения в себе. Оно существует вне пространства и
время ".

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

-------------------------

Книга 9 - Эпилог

Так говорил учитель:

"Это для вас время, чтобы уйти".

-------------------------

Если вам понравились эти, вы можете также люблю читать хуже лучше

Комментариев

    Блог комментарии сила Disqus