Големите програмистите намерят прости решения на сложни проблеми
След като дълго време мога да намеря източник на следния цитат -
Младши програмисти създават прости решения за прости проблеми. Старши програмисти създават комплексни решения на сложни проблеми. Големите програмистите намерят прости решения на сложни проблеми.
Тя е от есе, наречен Красива Софтуер от Чарлз Конъл.
Друг един от любимите мината е Дзен на Питон --
Красива е по-добре, отколкото грозна.
Изрично е по-добре от косвени.
Обикновено е по-добре от комплекса.
Комплекс е по-добре, отколкото сложно.
Апартамента е по-добре, отколкото вложени.
Рядка е по-добре от плътна.
Четливост значение.
Специални специални случаи, които не са достатъчно, за да нарушиш правилата.
Въпреки че практичността бие чистота.
Грешки, никога не трябва да мине тихо.
Освен ако изрично не принудени да мълчат.
В лицето на неопределеност, отказ на изкушението да предполагам.
Трябва да има едно-и за предпочитане само един очевиден начин да го направя.
Въпреки, че по този начин не могат да бъдат видими на първо освен ако не сте холандски.
Сега е по-добре, отколкото никога.
Въпреки, че никога не е често по-добри от правото * * сега.
В случай че изпълнението е трудно да се обясни, че е лоша идея.
Ако изпълнението е лесно да се обясни, то може да е добра идея.
Пространства Honking са една чудесна идея - нека да направим повече от тези!
-------------------------
и тогава там е класически Тао на програмиране
--
кредити и за свързаните сайтове
Преведено от Джеймс Джефри
Транскрипция от херцог Хилард
Предавани от Anupam Триведи, Sajitha Tampi и Meghshyam Jagannath
Re-HTML-рана и редактирани от Крейгън Sittler
--
Книга 1 - Silent пустотата
Така говори програмист капитана:
"Когато сте се научили да грабне код за грешка от капана рамка, то
ще бъде за Вас време да напусне. "1,1
Нещо мистериозно се формира, роден в тихата невалидни. Чакащи самостоятелно и
unmoving, той е все още веднъж и още в непрекъснато движение. Тя е източник
на всички програми. Не знам името му, така че аз ще го наречем Тао на
Програмиране.Ако Тао е голям, то операционната система е голям. Ако операционната
Системата е голям, тогава съставител е страхотно. Ако съставител е велик,
тогава молбата е страхотно. Потребителят е удоволствие и не съществува
хармония в света.The Tao "Програмиране потоци далеч и се връща на вятъра от сутринта.
1,2
В Дао ражда машина език. Машина език ражда
асемблер.В асемблер ражда съставител. Сега там са десет хиляди
езици.Всеки език е нейната цел, обаче скромен. Всеки език изразява
Ин и Ян на софтуер. Всеки език има своето място в рамките на Тао.Но не в програмата COBOL, ако можете да го избегнат.
1,3
В началото бе Тао. В Дао ражда пространството и времето.
Затова пространството и времето са Ин и Ян на програмирането.Програмистите, които не разберат Тао са винаги изоставаме с времето
космическото пространство и за техните програми. Програмистите разберете, че винаги Тао
разполагат с достатъчно време и пространство, за да постигне своите цели.Как би могло да бъде иначе?
1,4
Мъдрият програмист е казал за Тао и го следва. Средната
програмист е казал за Тао и претърсване за него. Безумните програмист
е казал за Тао и се смее на това.Ако той не е бил за смях, няма да има Тао.
Най-високата звуци са най-трудното да чуят.
В бъдеще е начин да се оттегли.
Голям талант се проявява в края на живота си.
Дори една добра програма, все още има бъгове.-------------------------
Книга 2 - The Ancient Мастърс "
Така говори програмист капитана:
"След три дни без програмиране, животът става безсмислен."
2,1
Програмистите на стари са загадъчна и дълбока. Ние не може да проумее
мислите си, така че всички ние да се опише външния им вид.Със съзнанието, като лисица преминаване на водата. Сигнализация, като общо за
бойното поле. Вид, като стюардеса поздрав своите гости. Обикновено, като
uncarved блокове от дърво. Непрозрачни, като черни пулове в затъмнена пещери.Кой може да каже тайните на сърцата и умовете на хората?
Отговорът съществува само в Тао.
2,2
Велик майстор на Тюринг веднъж сънувал, че той е машина. Когато той се събуди той
възкликва:"Аз не знам дали съм Тюринг сънувам, че аз съм машина, или
машина сънувам, че съм Тюринг! "2,3
А програмист от много голяма компютърна компания отиде на софтуер
конференция и след това се върна да докладва на неговия мениджър, казвайки: "Каква
от програмисти работят за други фирми? Те държали зле и са били
незаинтересован с изяви. Косите им е дълъг и занемарен и техните
Дрехите са набръчкани и стари. Те разби апартамент нашето гостоприемство и те
прави груб шумове по време на моята презентация. "Управителят каза: "Аз никога не би трябвало да ви е изпратил на конференцията. Онези
програмисти живеят отвъд физическия свят. Те считат, че живота абсурдно, един
случайно съвпадение. Те идват и си отиват, без да знаят ограничения.
Без да ни пука, те живеят само за техните програми. Защо трябва да те притеснява
със социалните конвенции?"Те са живи в рамките на Тао."
2,4
А новак попита Учителя: "Тук е програмист, че никога не дизайни,
документи или тестове си програми. Но всички, които Го познават, го смятат за един от
най-добрите програмисти в света. Защо е това? "Учителят отговори: "Това е овладял програмист на Тао. Той е отишло
отвъд необходимостта за проектиране, той не се превърне ядосан, когато системата
трясък, но приема Вселената, без значение. Той е отишло отвъд
необходимостта от документация, той вече не му пука, ако някой друг вижда код.
Той е отишло отвъд необходимостта за тестване; всеки от своите програми са перфектни
в себе си, ведър и елегантен, тяхната цел очевидно. Истина,
той е влязъл в мистерията на Тао. "-------------------------
Книга 3 - Проектиране
Така говори програмист капитана:
"Когато програмата е, което се изпитва, че е твърде късно да се направи дизайн
промени. "3,1
Има веднъж беше човек, който отиде в шоу компютър търговия. Всеки ден, както той
влезе, човекът, казах на охраната на вратата:"Аз съм голям крадец, известен с моите подвизи на shoplifting. Съм
предупредени, за това търговско изложение няма да се отърве unplundered. "Тази реч нарушен телохранителите много, защото там имаше милиони
долара на компютърно оборудване вътре, така че той наблюдаваше внимателно човек. Но
човекът просто се скитаха от щанд на щанд, колибри тихо на себе си.Когато човек ляво, телохранителите му дръпна настрана и претърсен дрехите си, но
нищо не може да се намери.На следващия ден на търговското изложение, човекът се върна и chided телохранителите
казвайки: "Аз избягал с огромна плячка вчера, но днес ще бъде още
по-добре. "Така че телохранителите му гледания все по-тясно, но да не се ползват.В последния ден на търговското изложение, телохранителите може да ограничи неговото любопитство
не за дълго. "Сър крадец", каза той, "Аз съм толкова озадачен, аз не мога да живея в
мир. Моля, ме просвети. Какво е това, че сте кражба? "Мъжът се усмихна. "Аз съм кражба на идеи", каза той.
3,2
Има веднъж е майстор програмист, който пише неструктурирани програми. Един
начинаещ програмист, като се стреми да го имитира, също започва да пише
неструктурирани програми. Когато новак поиска от капитана да оцени си
напредък, капитанът му е критикуван за писане неструктурирани програми,
казвайки: "Това, което е подходящо за капитана не е подходящо за
новак. Вие трябва да разберете Тао преди отвъд структура. "3,3
Имаше веднъж един програмист, който е бил прикрепен към съда на военачалник
на Ву. В вожд попита програмист: "Кое е по-лесно да се дизайн: един
счетоводни пакет или операционна система? ""Операционна система," отвърна програмист.
В вожд изрече удивителен знак на недоверие. "Наистина счетоводна
пакет е тривиално до сложността на една операционна система, "той
казан."Не така", каза програмист ", когато работата по създаването на счетоводна пакет,
програмист работи като посредник между хора с различни
идеи: как тя трябва да работи, как си доклади трябва да се появи, и как тя трябва да
съответстват на данъчните закони. От друга страна, една операционна система не е ограничен
от външни изяви. При проектирането на една операционна система, програмист
иска простата хармония между машината и идеи. Ето защо една
Операционната система е по-лесно за проектиране. "В вожд на У кимна и се усмихна. "Това е всичко добро и добре, но
което е по-лесно да трасирате? "Програматорът не отговори.
3,4
Мениджър отиде на майстор програмист и го показа на изискванията
документ за ново заявление. Управителят на капитана попита: "Колко дълго
ще отнеме проектирането на тази система, ако задам пет програмисти с него? ""Това ще отнеме една година", заяви капитанът незабавно.
"Но ние трябва тази система незабавно или дори по-рано! Колко време ще
предприеме, ако задам десет програмисти с него? "Капитанът програмист се намръщи. "В този случай, ще отнеме две години."
"И какво, ако задам сто програмисти с него?"
Капитанът вдигна програмист. "Тогава дизайн никога няма да бъде
завършен ", каза той.-------------------------
Книга 4 - кодиране на стоките
Така говори програмист капитана:
"Една добре написана програма е неговата собствена небето, лошо написани на програмата е
собствените си ада. "4,1
А програма трябва да бъде лек и пъргав, нейните подпрограми, свързани като
низ от перли. Духът и целта на програмата трябва да се запази
напълно. Трябва да има нито твърде малко или прекалено много, нито
Излишно е безполезен вериги, нито променливи, нито липсата на структура, нито
преобладаващото твърдост.А програма трябва да следват "право на по-слабо учудване. Какъв е този закон?
Това е просто, че програмата трябва винаги да се отговори на потребител в начина, по който
, която го поразява най-малко.А програмата, без значение колко сложна, трябва да действа като едно цяло. Програмата
трябва да се ръководи от логиката, по-скоро, отколкото от пасивно изяви.Ако програмата не успее в тези изисквания, тя ще бъде в състояние на
безредие и объркване. Единственият начин да се коригира това е да се пренапише
програма.4,2
А новак попита капитана: "Имам програма, която някога пистите и
понякога aborts. Имам следва правилата на програмирането, но аз съм
напълно объркани. Каква е причината за това? "Капитанът отговори: "Вие сте объркани, защото вие не разбирате Тао.
Само глупак очаква рационално поведение от другарите си хора. Защо ли
очаквате от една машина, която хората са изработени? Компютри симулира
детерминизъм, само Тао е съвършен."Правилата на програмирането са преходни, само Тао е вечен. Следователно
трябва да съзерцавам Тао, преди да получат просветление. ""Но как ще разбера кога съм получил просветление?" Поиска от
новак."Вашата програма ще тече правилно, отвърна капитанът.
4,3
А капитанът е разясняване на характера на Тао на на един от новаците. "В
Тао е въплътена в целия софтуер - независимо колко незначителен ", каза
капитана."Дали Тао в ръчните калкулатор?" Поиска от новак.
"Това е", дошъл отговор.
"Е Тао във видео игра?" Продължава на новак.
"Това е дори по време на видео играта", каза капитанът.
"И е Тао в ДОС за персонален компютър?"
Капитанът се изкашля и премести своята позиция леко. "Изводът е над
за днес ", каза той.4,4
Програмист Принц Уан беше кодиране на софтуер. Пръстите му играеха по
клавиатурата. Програмата изготвя без съобщение за грешка, а програмата
завтече като лек вятър."Отличен!" На княза, възкликна: "Вашата техника е безупречна!"
"Техника?", Заяви програмист се превръща от своя терминал, "Това, което
последва и Тао - отвъд всички техники! Когато за първи път започнах да съм програма
ще видите преди мен целият проблем в една маса. След три години, не
вече видях тази маса. Вместо това, аз бях подпрограми. Но сега виждам нищо.
Целият ми се съществува в безформена невалидни. Моите сетива се бездейства. Моят дух,
свободни да работят без план, следва своя собствен инстинкт. Накратко, моята програма
пише само себе си. Вярно е, че понякога има трудни проблеми. Аз ги виждам
Идвам, аз забави, гледам тихо. Тогава промяната на един ред с код
и трудностите изчезне като празен кълба дим. Тогава съставят
програма. Аз все още седи и нека радостта от работата си напълня същество. Затвори
очи за момент и след излизането си. "Принц Уан каза: "Ще ми, че всички програмисти са като мъдър!"
-------------------------
Книга 5 - Поддръжка
Така говори програмист капитана:
"Въпреки че програмата да бъде, но три реда дълги, някой ден той ще трябва да бъде
поддържа. "5,1
А и използват вратата не се нуждае от маслени от пантите.
Буйна поток не растат в застой.
Нито звук, нито мисли, могат да пътуват чрез вакуум.
Софтуер гние, ако не се използва.Това са големите загадки.
5,2
Мениджър програмист попита колко време ще отнеме да го завърши
програма, на която той е работил. "Това ще бъде завършен утре" на
програмист своевременно отговориха."Мисля, че са нереалистични", каза управителят на "Искрено, как
време ще отнеме? "Програматорът се замисли за момент. "Имам някои функции, които бих искал да
добавям. Това ще отнеме най-малко две седмици, "каза той най-накрая."Въпреки, че е твърде много да се очаква," настоя управител, "Аз ще бъда
изпълнено, ако просто ми кажете, когато програмата е пълна. "Програматорът съгласието си за това.
Няколко години по-късно, управителят на пенсионер. По пътя към пенсионирането си
обяд, той открива програмист заспал на негово терминал. Той е бил
програмиране през цялата нощ.5,3
Начинаещ програмист някога е бил, възложени код прост финансов пакет.
В новак работи упорито в продължение на много дни, но когато господарят му преглед
неговата програма, той открил, че тя съдържа екран редактор, набор от
общи практики графики, интерфейс изкуствен интелект, но
и най-малкото не споменава нищо финансово.Когато капитанът попита за това, става послушник възмутен. "Не се
толкова нетърпелив, "каза той," Аз ще поставят в крайна сметка финансовите неща. "5,4
Има ли добър небрежност земеделски производител за култура, той е насадил?
Има ли добър учител пренебрегват дори и най-скромен студент?
Има ли добър баща позволи едно дете да гладуваме?
Има ли добър програмист отказват да поддържа своята код?-------------------------
Книга 6 - Управление
Така говори програмист капитана:
"Нека да бъде много програмисти и мениджъри няколко - тогава всички ще бъдат
продуктивни. "6,1
Когато мениджърите държат безкрайни срещи, програмистите пишат игри. Кога
счетоводители беседа на печалбата за тримесечието, развитието бюджет е на път да
да бъдат отрязани. Когато говорим старши учени синьо небе, облаците са на път да преобръщане
в.Наистина, това не е Тао на програмирането.
Когато мениджърите да поемат задължения, игра програми са игнорирани. Кога
счетоводители правят далечни планове, хармония и ред са на път да се
възстановено. Когато старши учени решаване на проблемите в страна,
проблеми, скоро ще бъде решен.Наистина, това е Тао на програмирането.
6,2
Защо сме програмисти непроизводствени?
Защото си време се губи в заседанията.Защо са програмисти непокорни?
Тъй като управлението намесва твърде много.Защо са програмисти оставка един по един?
Защото те са изгорени.Работил за лошо управление, те вече не стойност работните си места.
6,3
Управител е на път да бъде уволнен, но на програмиста, които са работили за него
изобретил нова програма, която стана популярна и се продава добре. В резултат на това,
мениджър запазва поста си.Управителят се опита да даде на програмист бонус, но програмист
тя отказва, казвайки: "Написах програма, защото мислех, че това е
интересна концепция, и по този начин аз не очакваме награда. "Управителят на съдебното заседание по този отбеляза: "Това програмист, въпреки че той притежава
състояние на малки самочувствие, разбира добре правилното задължение на
служител. Нека да го насърчава да се възвиси на позицията на управление
консултант! "Но когато казах това, програмист още веднъж отказа, казвайки: "Аз съществувам така
, че мога да програма. Ако аз бях насърчавани, аз бих направил нищо, но на отпадъците
всеки път. Мога ли сега накъде? Имам програма, която аз съм на работа. "6,4
Мениджър отиде да си програмисти и им казал: "Що се отнася до работата си
време: вие ще трябва да дойдат в в девет сутринта и се оставя
в пет следобед. "При това, всички от тях се разсърди и няколко
оставка на място.Така мениджърът каза: "Добре, че в този случай може да зададете свой собствен
работно време, стига да довърши проектите по график. "The
програмисти, сега удовлетворени, започнаха да идват в по обяд и работа с пиш
часове на сутринта.-------------------------
Книга 7 - Корпоративни мъдрост
Така говори програмист капитана:
"Може да се докаже, програма за корпоративна изпълнителната власт, но не можете да
да го направи компютърна грамотност. "7,1
А новак попита капитана: "На изток има голямо дърво-структура
, че мъжете повикване "Корпоративна Главната квартира". Това е ояден във форма с
Заместник-председателите и счетоводители. Той издава множество бележки, всяка
казвайки: "Давай, Ето защо! или "Давай, тука!" и никой не знае какво е имал предвид. Всеки
година новите имена са поставени върху клоновете, но всички, за да не се ползват. Как да
такова неестествено юридическото лице да бъде? "Капитанът отговори: "Вие възприемат тази огромна структура и са
нарушен, че не е рационална цел. Не може да ви отведе от увеселителни
безкрайните си gyrations? Да не се насладите на спокоен лекота на програмирането
подслон под своите клонове? Защо сте труда от нейните
безполезност? "7,2
На изток е акула, която е по-голям от всички други риби. Него
промени в птица, чиито крила са като облаци запълване на небето. Когато това
птица в хода на земята, тя носи съобщение от Корпоративна
Щаб. Това съобщение го хвърля в средата на програмисти,
като чайка вземане на своя отпечатък върху плажната ивица. Тогава птицата монтира на
вятъра, както и със синьо небе на гърба си, се завръща у дома.В погледи начинаещ програмист в чудо на птица, защото той го разбира
не. Средната програмист dreads идването на птица, защото страховете
нейното послание. Капитанът програмист продължава да работи по негово терминал, за
той не знае, че птицата е дошло и няма.7,3
Магьосникът от Кот кула подадена последните му изобретение за
програмист капитана да разгледа. Магьосникът колесни голяма черна кутия в
на капитана офис, докато капитанът чакаше в мълчание."Това е интегриран, разпространявани общо работно място цел," започна
магьосникът "ергономичен дизайн с имуществена операционна
система, шесто поколение езици, както и множество състоянието на техниката потребител
интерфейси. Отне ми асистенти няколко години за изграждане на сто човека.
Не е ли невероятно? "Капитанът вдигна леко вежди. "Това е наистина невероятно," той
казан."Управление на седалището е заповядал", продължава на магьосника ", че
всеки използвате тази работна станция, като платформа за нови програми. Съгласни ли сте,
за това? ""Разбира се," отвърна капитанът, "Аз ще го транспортират до
Data Center веднага! "И магът върна в кула, добре
доволен.Няколко дни по-късно, начинаещ скитаха в офиса на управляващото
програмист и каза: "Не мога да намеря на листинг за новата ми програма. Правя
Знаете ли къде може да е? ""Да", отвърна капитанът, "класациите са подредени на платформа в
центровете за данни. "7,4
В хода майстор програмист от програмата за програма без страх. Не
промяна в ръководството може да му навреди. Той няма да бъде уволнен, дори ако
Проектът е отменено. Защо е това? Той е изпълнен с Тао.-------------------------
Резервирай 8 - хардуер и софтуер
Така говори програмист капитана:
"Без вятър, тревата не се движи. Без софтуер, хардуер е
безполезна. "8,1
А новак попита капитана: "Аз усетих, че една компютърна компания е много по -
по-голям от всички останали. Той кули над конкуренцията си като гигант сред
джуджета. Всеки един от неговите поделения могат да обхваща цялата дейност. Защо е
така? "Капитанът отговорил: "Защо ме питаш такива глупави въпроси? Това дружество
е голям, защото е голям. Ако го е направил само хардуер, никой няма да купи
него. Ако го е направил само софтуер, никой няма да го използвам. Ако само го поддържат
системи, хората ще го третират като слуга. Но тъй като той съчетава всички
от тези неща, хора мислят, че един от боговете! Като не иска да се
стремят, тя победи без усилия. "8,2
А майстор програмист начинаещ програмист премина за един ден. Капитанът отбележи,
грижа за новак с преносими компютърни игри. "Извинете ме,"
той каза: "Мога ли да го разгледа?"В новак прикован към внимание и се предава на устройството на капитана. "Аз
видим, че устройството твърди, че има три нива на игра: Лесно, средни и
Hard ", каза капитанът. "И все пак всеки такова устройство е друго ниво на
игра, когато изделието не се стреми да завладее човека, нито да бъде завладяна
от човека. ""Молете се, голям майстор," помоли за начинаещите, "Как да се намери тази
тайнствен настройка? "Капитанът се отказа от устройство на земята и смачкани го под краката. И
Внезапно новак е просветлен.8,3
Имаше веднъж един програмист, които са работили по микропроцесори. "Виж как
заможен Аз съм тук ", каза той на мейнфрейм програмист, който дойде да посетите,
"Имам си собствена операционна система и файла на устройството за съхранение. Не трябва да се
споделям ресурси с никого. Софтуерът е самостоятелно последователна и
лесен за използване. Защо не напусна работата си до момента и се присъедини към мен тук? "В мейнфрейм програмист, след което започва да се опише неговата система на приятеля си,
надпис "мейнфрейм седи като древен мъдрец, медитирайки в средата
на центровете за данни. Нейната дискове лъжа от край до край като голям океан
машини. Софтуерът е многостранна като диамант, както и сложен
като първобитни джунглата. Програмите, всеки уникален, се движат чрез система
като буйна река. Ето защо аз съм щастлив, когато съм. "В микрокомпютър програмист, след изслушване това, млъкна. Но двата
програмисти приятели остана до края на дните си.8,4
Хардуер Софтуер изпълнени по пътя към Changtse. Софтуер каза: "Вие сте
Ин и Ян съм. Ако пътувате заедно ние ще станем по-известните и печелите
огромни суми пари. "И така, изложени заедно, мисля да завладее
на света.В момента са се запознали фърмуер, който е бил облечен в дрипи и спънати одрипавял
по подпряна на едно бодливо стик. Firmware им каза: "The Tao е
отвъд Ин и Ян. Той е тих и все още в басейн с вода. Тя не
не търсят слава, затова никой не знае неговото присъствие. Той не се стреми
имотно състояние, защото тя е пълна в себе си. Той съществува извън пространството и
време. "Софтуер и хардуер, срам, върнати по домовете си.
-------------------------
Резервирай 9 - Епилог
Така говори програмист капитана:
"Време е за теб да напусне."
-------------------------
Ако ви харесва това, може също така да прочетете по-лошо е по-добре



































