Велики програмери наћи једноставне решења за сложене проблеме

После дужег времена сам могао наћи извор за следећи цитат-

Јуниор програмера креирате једноставне решења за једноставне проблеме. Сениор програмери креирали комплексна решења за комплексне проблеме. Велики програмери наћи једноставна решења за комплексне проблеме.

То је из есеја под називом Лепа Софтвер Цхарлес Цоннелл.

Други фаворит је једна од рудника Зен Питхон -

Лепа је боље него ружно.
Експлицитно је боље него имплицитно.
Једноставно је бољи од комплекса.
Комплекс је боље него компликовано.
Стан је боље него нестед.
Редак је боље него густа.
Читљивост рачуна.
Посебни случајеви нису довољно посебан да се прекрше правила.
Иако практичност побеђује чистоту.
Грешке никада не би требало да прође тихо.
Осим ако експлицитно ућуткани.
У лице двосмислености, одбијају искушењу да погоде.
Ту би требало да буде један и по могућству само једну очигледно начин да то урадите.
Иако на тај начин не може бити јасно на први поглед, осим ако сте Холанђани.
Сада је боље него никада.
Иако је често никад бољи него право * * сада.
Ако имплементација је тешко објаснити, то је лоша идеја.
Ако имплементација је лако објаснити, може бити добра идеја.
Именски простори су један хонкинг одлична идеја - да се уради више од оних!
-------------------------
и онда постоји класична Тао програмирање

-

кредити као на повезаној локацији-

Превео Џејмса Џефрија

Транскрибовати војводе Хиллард

Емитује Анупам Триведи и Сајитха Тампи и Мегхсхиам Јаганнатх

Ре-хтмл-ваном и Едитед би Краген Ситтлер

-

Књига 1 - Тихи Празнина

Тако је говорио програматор мастер:

"Када сте научили да отме код грешке из клопке оквира, она
ће бити време да оду. "

1.1

Нешто мистериозно је формирана, рођен у мирном празнини. Чека сами и
непокретни, она је истовремено и даље, а ипак у сталном покрету. То је извор
од свих програма. Не знам своје име, тако да ћу га зову Тао
Програмирање.

Ако је велики Тао, онда оперативни систем је одличан. Ако оперативни
Систем је супер, онда компајлер је супер. Ако компајлер је супер,
онда апликација је велика. Корисник је драго и постоји
хармонија у свету.

Тао програмирање тече далеко и врати на ветар јутра.

1.2

Тао родила машински језик. Машина језик родила
асемблер.

Асемблер је родила компајлера. Сада има десет хиљада
језици.

Сваки језик има своју сврху, али скромно. Сваки језик изражава
Јин и Јанг софтвера. Сваки језик има своје место у оквиру Тао.

Али не програмира у ЦОБОЛ ако можете да га избегнете.

1.3

У почетку је била лоса. Тао родила простору и времену.
Зато су простор и време Јин и Јанг програмирања.

Програмери који не схватају Тао су увек понестаје времена
и простор за своје програме. Програмери да схвате Тао увек
имају довољно времена и простора да остваре своје циљеве.

Како би то могло бити другачије?

1.4

Мудар програматор рекао о Тао и прати га. Просечна
програмер је причао о Тао и потрази за њом. Глупи програмер
је рекао о Тао и смеје на њу.

Ако није било смеха, не би било лоса.

Највиши звуци су најтеже да чују.
Идући напред је начин да се повуку.
Велики таленат показује се касно у животу.
Чак и савршен програм и даље има бугова.

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

Књига 2 - Тхе старих мајстора

Тако је говорио програматор мастер:

"После три дана без програмирања, живот постаје бесмислен."

2.1

Програмери старих били мистериозан и дубока. Не можемо да докучимо
њихове мисли, тако да све што радимо је описати свој изглед.

Свестан, попут лисице прелазу воду. Алерт, као уопште о
бојно поље. Врста, као домаћица поздравне њени гости. Једноставно, као
унцарвед комади дрвета. Непрозирно, попут црне базенима у тамним пећинама.

Ко може рећи тајне њихових срца и умова?

Одговор постоји само у Тао.

2.2

Велики Мајстор Тјуринг једном сањао да је машина. Када је се пробудио
узвикнуо:

"Не знам да ли сам Туринг сањам да сам машина, или
машина сања да сам Туринг! "

2.3

Програмер из веома великог рачунара компаније отишао у софтверу
Конференцију, а затим се вратио да се јави свом менаџеру, говорећи: "Каква
од програмери раде за друге компаније? Они су лоше понашали и били су
неупућена наступа. Њихова коса је била дуга и запуштен и њихове
одећа била наборана и стари. Они срушио нашу угоститељску пакет и они
направио непристојне звуке током мојој презентацији. "

Менаџер је рекао: "Требао сам вам никада послат на конференцији. Они који
програмери живе изван физичког света. Они сматрају живот апсурд,
случајна коинциденција. Они долазе и одлазе без познавања ограничења.
Без бриге, они живе само за своје програме. Зашто би се замарали
са друштвеним конвенцијама?

"Они су живи у Тао."

2.4

Почетник питао Мајстора: "Овде је програмер који никада не дизајнира,
докумената или тестови своје програме. Ипак, сви који га знају га сматрају једном од
најбољи програмери на свету. Зашто је ово? "

Учитељ одговара: "Тај програматор је савладао Тао. Он је отишао
изван потребе за дизајн, а он не постане љут када систем
срушио, али прихвата универзум без бриге. Он је отишао даље
потребно за документацију, он више не брине да ли још неко види своју шифру.
Он је отишао даље од потребе за тестирање, сваки од његових програма су савршени
у себи, спокојан и елегантан, њихова сврха сама по себи. Заиста,
ушао је у мистерију Тао. "

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

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

Тако је говорио програматор мастер:

"Када се програм тестира, сувише је касно да се дизајн
измене. "

3.1

Било некада био човек који је отишао у шоу Цомпутер Траде. Сваки дан као он
ушао, човек је рекао стражару на вратима:

"Ја сам велики лопов, познат по својим подвига крађа. Бити
Имајте на уму, за овај сајму неће побећи унплундеред. "

Овај говор увелико поремећен чувара, јер су милиони
долара унутра рачунарске опреме, па је пажљиво посматрао човека. Али
човек само одлутали од штанда до штанда, зуји тихо себи.

Када човек отишао, стражар га је одвео на страну и претресали своју одећу, али
ништа није било да се нађе.

На следећој дана сајма, човек се вратио и цхидед чувара
говорећи: "Ја сам побегао са огромном плена јуче, а данас ће чак бити
боље "Дакле, стражар га је гледао све ближе., али без успеха.

Последњег дана на сајму, стражар могао да обузда своју радозналост
више не. "Господине Тхиеф", рекао је он, "ја сам тако збуњени, не могу да живе у
мир. Молим вас просветли ме. Шта је то што краду? "

Човек се насмешио. "Ја сам краду идеје", рекао је он.

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

Хардвер Софтвер састао на путу ка Цхангтсе. Софтвер је рекао: "Ви сте
Јин и Јанг сам. Ако путују заједно ћемо постати познати и зарадите
Огромне суме новца "и тако предвиђени заједно., мислећи да освоји
свет.

Данас су се састали фирмвер, који је био обучен у крпе и дроњав хобблед
заједно ослоњене на трновитом штапу. Фирмваре им рече: "Тао лежи
изван Јин и Јанг. То је и даље ћути као локви воде. Он то чини
не тражим славу, дакле нико не зна своје присуство. Она не тражи
срећа, за њу је завршена у себи. Она постоји изван простора и
време. "

Софтвер и Хардвер, срамота, вратили својим кућама.

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

Књига 9 - Епилог

Тако је говорио програматор мастер:

"То је време да оду."

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

Ако вам се свидја ово, можете ли да прочитате горе је боље