Grans programadors trobar solucions simples a problemes complexos
Després de molt temps vaig poder trobar la font de la següent cita-
Programadors júnior creen solucions simples a problemes simples. Programadors sènior crear solucions complexes a problemes complexos. Grans programadors trobar solucions simples a problemes complexos.
És a partir d'un assaig anomenat Programari Bella per Charles Connell.
Una altra de les meves preferides és El Zen de Python -
Bell és millor que lleig.
Explícit és millor que implícit.
Simple és millor que complex.
Complex és millor que complicat.
Plànol és millor que niat.
Dispers és millor que dens.
La llegibilitat compte.
Els casos especials no són prou especial com per trencar les regles.
Encara practicitat batega puresa.
Els errors mai ha de passar en silenci.
Si no explícitament silenciades.
Davant l'ambigüitat, rebutja la temptació d'endevinar.
Hauria d'haver una-i preferiblement només una òbvia manera de fer-ho.
Encara que d'aquesta manera pot no ser òbvia en un primer moment a menys que siguis holandès.
Ara és millor que mai.
Encara que mai és sovint millor que * dret * ara.
Si la implementació és difícil d'explicar, és una mala idea.
Si l'aplicació és fàcil d'explicar, pot ser una bona idea.
Els espais de noms són una idea genial tocant la botzina - anem a fer més d'aquests!
-------------------------
i llavors no és el clàssic Tao de la Programació
-
crèdits com en el lloc dels vinculats
Traduït per Geoffrey James
Transcrit pel duc Hillard
Transmès per Anupam Trivedi, Tampi Sajitha i Jagannath Meghshyam
Re-html-hissada i editat per Kragen Sittler
-
Llibre 1 - El Buit Silenciós
Així va parlar el mestre programador:
"Quan hagi après a prendre-li el codi d'error del marc de la trampa, es
serà el moment de que et vagis. "01/01
Una cosa misteriós es forma, neix en el buit silenciós. Espera sol i
immòbil, que és alhora quiet i en moviment constant. És la font
de tots els programes. No sé el seu nom, així que ho anomenaré el Tao de la
Programació.Si el Tao és gran, llavors el sistema operatiu és gran. Si l'operació
el sistema és gran, llavors el compilador és grandiós. Si el compilador és gran,
llavors l'aplicació és gran. L'usuari està complagut i no existeix
harmonia al món.El Tao de la Programació flueix lluny i torna amb el vent del matí.
01/02
El Tao va donar a llum a llenguatge de màquina. El llenguatge de màquina va donar a llum a la
assemblador.El assemblador va donar a llum al compilador. Ara hi ha deu mil
idiomes.Cada llenguatge té el seu propòsit, encara que sigui humil. Cada llengua expressa la
Yin i el Yang del programari. Cada llenguatge té el seu lloc dins del Tao.Però no programes en COBOL si pots evitar-ho.
1/3
Al principi era el Tao. El Tao va donar a llum a espai i el temps.
Per tant espai i el temps són el Yin i el Yang de la programació.Els programadors que no comprenen el Tao sempre s'acaba el temps
i l'espai per als seus programes. Els programadors que comprenen el Tao sempre
tenen prou temps i espai per aconseguir els seus objectius.Com no podia ser d'altra manera?
01/04
El programador savi li parlen Tao i el segueix. La mitjana
programador es va parlar de Tao i el busca. El programador insensat
es va parlar de Tao i es riu d'ell.Si no fos per la rialla, no hauria Tao.
Els sons més alts són els més difícils d'escoltar.
Amb vista al futur és una manera de retirar-se.
El gran talent es manifesta al final de la vida.
Fins i tot un programa perfecte encara té errors.-------------------------
Llibre 2 - Els Antics Mestres
Així va parlar el mestre programador:
"Després de tres dies sense necessitat de programació, la vida perd tot sentit."
01/02
Els programadors d'abans eren misteriosos i profunds. No podem imaginar
seus pensaments, així que tot el que fem és descriure la seva aparença.Conscient, com una guineu creuant l'aigua. Alerta, com un general en la
camp de batalla. Amable, com un amfitrió saludant als seus convidats. Simple, com
blocs de fusta sense tallar. Opac, com piscines negres en coves fosques.Qui pot comptar els secrets dels seus cors i ments?
La resposta només existeix en el Tao.
02/02
El Gran Mestre Turing una vegada va somiar que era una màquina. Quan ell es va despertar
va exclamar:"No sé si sóc Turing somiant que sóc una màquina, o un
màquina somiant que sóc Turing! "03/02
Un programador d'una companyia molt gran d'ordinadors va ser a un programari
conferència i després va tornar a reportar-amb el seu cap, dient: "Quina classe
dels programadors treballar per a altres empreses? No es comporten i es
sense preocupar-se per les aparences. El seu cabell era llarg i descuidat, i la seva
robes estaven arrugades i velles. Es va estavellar la nostra suite d'hospitalitat i
fa sorolls grollers durant la meva presentació. "El gerent va dir: "Jo mai hauria d'haver enviat a la conferència. Aquells
Els programadors viuen més enllà del món físic. Consideren que la vida absurda, una
coincidència accidental. Vénen i se'n van sense conèixer les seves limitacions.
Sense cura, ells viuen només per als seus programes. Per què es molesten
amb les convencions socials?"Ells estan vius dins del Tao."
2/4
Un novici li va preguntar al Mestre: "Aquí és un programador que mai dissenya,
documents o proves dels seus programes. No obstant això, tots els que el coneixen ho consideren un dels
els millors programadors del món. Per què és això? "El mestre respon: "Aquest programador s'ha arribat a dominar el Tao. S'ha anat
més enllà de la necessitat d'un disseny, no s'enfada quan el sistema
accidents, sinó que accepta l'univers sense preocupació. S'ha anat més enllà de la
la necessitat de documentació, sinó que ja no li importa si algú més veu el seu codi.
Ha anat més enllà de la necessitat de proves, cadascun dels seus programes són perfectes
dins de si mateixos, serens i elegants, el seu propòsit és auto-evident. En veritat,
que ha entrat en el misteri del Tao. "-------------------------
Llibre 3 - Disseny
Així va parlar el mestre programador:
"Quan el programa s'està provant, és massa tard per fer el disseny
els canvis ".1/3
Hi havia una vegada un home que va anar a una fira d'informàtica. Cada dia, quan
va entrar, l'home li va dir al guàrdia a la porta:"Sóc un gran lladre, renombrado pels meus gestes de robar botigues. Ser
previngut, per aquesta fira no escaparà unplundered ".Aquestes paraules van incomodar molt al guàrdia, perquè hi havia milions de
de dòlars a l'interior dels equips informàtics, per la qual cosa va observar a l'home acuradament. Però
l'home només vagava d'estand en estand, murmurant per a si.Quan l'home va sortir, el guàrdia lo a part, va buscar entre la roba, però
no hi havia res que trobar.L'endemà de la fira, l'home va tornar i va renyar al guàrdia
dient: "em vaig escapar amb un gran botí d'ahir, però avui serà encara
millor. "Així que el guàrdia el va veure cada vegada més a prop, però va ser en va.En l'últim dia de la fira, el guàrdia va poder contenir la seva curiositat
ja no. "Lladre Senyor," va dir, "Estic tan confós que no pot viure en
la pau. Si us plau m'il · lumini. Què és el que t'estan robant? "L'home va somriure. "Estic robant idees", va dir.
03/02
Hi havia una vegada un mestre programador que escrivia programes no estructurats. A
programador novell, tractant d'imitar, també va començar a escriure
programes no estructurats. Quan el novici li va preguntar al mestre per avaluar la seva
el progrés, el mestre el va criticar per escriure programes no estructurats,
dient: "El que és apropiat per al mestre no és apropiat per al
principiant. Vostè ha d'entendre el Tao abans de transcendir l'estructura. "03/03
Hi havia una vegada un programador que estava assignat a la cort del senyor de la guerra
de Wu. El senyor li va preguntar al programador: "Què és més fàcil de dissenyar: una
paquet de comptabilitat o un sistema operatiu? ""Un sistema operatiu", va dir el programador.
El senyor de la guerra va llançar una exclamació d'incredulitat. "Sens dubte, una rendició de comptes
paquet és trivial comparat amb la complexitat d'un sistema operatiu ", que
, Va dir."No és així", va dir el programador, "l'hora de dissenyar un paquet de comptabilitat,
el programador opera com un mediador entre persones que tenen diferents
Idees: com ha d'operar, com ha de lliurar els seus informes, i com s'ha de
conforme a les lleis tributàries. Per contra, un sistema operatiu no es limita
per les aparences externes. Quan es dissenya un sistema operatiu, el programador
busca l'harmonia més simple entre màquina i idees. Per això, una
sistema operatiu és més fàcil de dissenyar. "El senyor de Wu va assentir i va somriure. "Això és tot el bo i bé, però
que és més fàcil de netejar? "El programador no va respondre.
4/3
Un gerent va ser el mestre programador i li va mostrar els requisits
document per a una nova aplicació. El gerent li va preguntar al mestre: "Quant de temps
es triga a dissenyar aquest sistema si li assigno cinc programadors? ""Prendrà un any", va dir el mestre ràpidament.
"Però tenim aquest sistema immediatament, o fins i tot abans! El temps que es
prendre si li assigno 10 programadors? "El mestre programador va arrufar les celles. "En aquest cas, prendrà dos anys".
"I si li assigno 100 programadors?"
El mestre programador va arronsar les espatlles. "Llavors el disseny mai serà
completat ", va dir.-------------------------
Llibre 4 - Codificació
Així va parlar el mestre programador:
"Un programa ben escrit és el seu propi cel, un programa mal escrit és
el seu propi infern. "01/04
Un programa ha de ser lleuger i àgil, les seves subrutines connectades com un
collaret de perles. L'esperit i la intenció del programa s'ha de mantenir
en tot. No ha de ser ni massa poc o massa, ni
bucles innecessaris ni variables sense usar, ni falta d'estructura ni
excessiva rigidesa.Un programa ha de seguir la llei del menor Sorpresa '. Quina és aquesta llei?
És simplement que el programa sempre ha de respondre a l'usuari en la forma
que sorprèn si més no ell.Un programa, sense importar la seva complexitat, ha d'actuar com una sola unitat. El programa
ha de ser dirigit per la lògica interna i no per les aparences externes.Si el programa no compleix aquests requisits, serà en un estat de
desordre i confusió. L'única manera de corregir això és reescriure el
programa.2/4
Un novici li va preguntar al mestre: "Tinc un programa que a vegades corre i
De vegades avorta. He seguit les regles de programació, però sóc jo
totalment desconcertat. Quina és la raó d'això? "El mestre va respondre: "Estàs confós perquè no entens el Tao.
Només un ximple espera comportament racional dels seus companys humans. Per què ho fa
esperem que d'una màquina que els humans han construït? Ordinadors simular
el determinisme, i només el Tao és perfecte."Les regles de la programació són transitòries i només el Tao és etern. Per tant
has contemplar el Tao abans de rebre la il · luminació. ""Però, com sabré quan he rebut la il · luminació?", Va preguntar el
principiant."El teu programa anirà llavors correctament", va contestar el mestre.
4/3
Un mestre estava explicant la naturalesa del Tao a un dels seus novicis. "El
Tao està encarnat en tot programari - sense importar com insignificant ", va dir
el mestre."És el Tao en una calculadora de mà?", Va preguntar el novici.
"És", va ser la resposta.
"És el Tao en un videojoc?", Va continuar el principiant.
"És fins i tot en un joc de vídeo", va dir el mestre.
"I és el Tao en el DOS per a un ordinador personal?"
El mestre va tossir i va canviar lleugerament la seva posició. "La lliçó ha acabat
per ara ", va dir.04/04
El programador del Príncep Wang va ser la codificació del programari. Els seus dits ballaven sobre el
teclat. El programa va compilar sense un missatge d'error, i el programa
va córrer com un vent suau."Excel · lent!", Va exclamar el Príncep, "La seva tècnica és impecable!"
"La tècnica?", Va dir el programador girant des del seu terminal, "El que
segueixo és el Tao - més enllà de totes les tècniques! Quan vaig començar a programar jo
a veure davant meu tot el problema en una sola massa. Després de tres anys que no
ja vaig veure aquesta massa. En canvi, vaig fer servir subrutines. Però ara no veig res.
Tot el meu ser existeix en un buit sense forma. Els meus sentits estan ociosos. El meu esperit,
la llibertat de treballar sense un pla, segueix el seu propi instint. Al meu programa curt,
escriu en si. És cert que de vegades hi ha problemes difícils. Els veig
que ve, m'aturo, miro en silenci. Llavors canvi una sola línia de codi
i les dificultats s'esvaeixen com núvols de fum. Llavors va compilar el
programa. Em quedo quieta i deixar que l'alegria del treball ompli el meu ésser. Tanco la meva
els ulls per un moment i després tanqueu la sessió. "Príncep Wang va dir, "Tant de bo tots els meus programadors fossin tan savis!"
-------------------------
Llibre 5 - Manteniment
Així va parlar el mestre programador:
"Tot i ser un programa, sinó tres línies de llarg, algun dia haurà de ser
mantingut ".01/05
Una porta ben usada no necessita oli en les seves frontisses.
Un corrent que flueix ràpid no creix estancada.
Ni el so ni els pensaments poden viatjar a través del buit.
Software es podreix si no s'utilitza.Aquests són grans misteris.
5/2
Un gerent li va preguntar a un programador quant de temps el portaria a acabar la
programa en què estava treballant. "Estarà acabat demà," el
Programador respondre ràpidament."Crec que estàs sent poc realista", va dir el gerent, "En realitat, com
Quant de temps prendrà? "El programador va pensar per un moment. "Tinc algunes característiques que ho desitgin
afegir. Això prendrà com a mínim dues setmanes ", va dir finalment."Tot i que és massa esperar", ha insistit el gerent, "seré
satisfet si simplement em diuen que el programa s'ha completat. "El programador d'acord amb aquesta.
Diversos anys més tard, el gerent es va retirar. En el camí al seu retir
dinar, ell va descobrir que el programador adormit en el seu terminal. Ell havia estat
la programació de tota la nit.3/5
Un programador novell se li va assignar una vegada per codificar un paquet financer senzill.
El novici va treballar furiosament per molts dies, però revisat quan el seu amo
seu programa, va descobrir que contenia un editor de pantalla, un conjunt de
generalitzada de gràfics rutines, una interfície de la intel · ligència artificial, però
ni la més mínima menció de res financer.Quan el mestre li va preguntar sobre això, el novici es va indignar. "No siguis
tan impacient ", va dir," vaig a posar en la matèria financera amb el temps. "05/04
Té un bon agricultor descuidar el cultiu s'ha plantat?
Té un bon mestre per alt, fins i tot els estudiants més humils?
Té un bon pare permetre que un sol nen que mori de fam?
Un bon programador es neguen a mantenir el seu codi?-------------------------
Llibre 6 - Gestió
Així va parlar el mestre programador:
"Deixeu que els programadors ser moltes i molt pocs els gerents - llavors tot serà
productiva ".01/06
Quan els administradors tenen una infinitat de reunions, els programadors escriuen jocs. Quan
comptadors parlen de guanys trimestrals, el pressupost de desenvolupament està a punt de
tallar. Quan els científics parlen d'alt nivell del cel blau, els núvols estan a punt de rodar
inEn veritat, aquest no és el Tao de la Programació.
Quan els directius a prendre compromisos, programes de jocs són ignorats. Quan
els comptadors fan plans a llarg termini, l'harmonia i l'ordre estan a punt de ser
restaurat. Quan els científics d'alt nivell davant els problemes que ens ocupa, el
els problemes es resoldran aviat.En veritat, aquest és el Tao de la Programació.
6/2
Per què els programadors no productiva?
A causa de que el seu temps es malgasta en les reunions.Per què els programadors de rebel?
Com que la gestió interfereix massa.Per què els programadors de renúncia d'un en un?
A causa que es va cremar.Després d'haver treballat per a la gestió dels pobres, ja no el valor dels seus llocs de treball.
06/03
Un gerent estava a punt de ser acomiadat, però un programador que treballava per a ell
va inventar un nou programa que es va fer popular i es va vendre bé. Com a resultat, el
gerent va retenir el seu lloc de treball.El gerent va intentar donar-li al programador un bo, però el programador
es va negar, dient: "Vaig escriure el programa perquè vaig pensar que era una
concepte interessant, i per tant no espero cap recompensa. "El gerent en sentir això va comentar, "Aquest programador, encara que es manté
una posició de poca estima, entén bé la tasca pròpia d'un
dels empleats. Anem a promoure'l a la posició exaltada de la gestió
assessor! "Però quan va dir això, el programador, un cop més es va negar, dient: "Jo existeixo per
que puc programar. Si jo fos promogut, no faria res, però els residus
temps per a tots. Puc anar ara? Tinc un programa que estic treballant. "04/06
Un gerent es va dirigir als seus programadors i els va dir: "Pel que fa al seu treball
hora: hauràs de venir a les nou del matí i sortir
a les cinc de la tarda. "En sentir això, tots ells es van enutjar i diversos
renunciar a l'acte.Llavors el gerent va dir: "Bé, en aquest cas vostè pot configurar la seva pròpia
les hores de treball, sempre que hi hagi acabat els seus projectes a temps. "El
els programadors, ara satisfets, van començar a arribar al migdia i treballar per a la wee
hores del matí.-------------------------
Llibre 7 - Saviesa empresarial
Així va parlar el mestre programador:
"Es pot demostrar un programa per un executiu d'una empresa, però no es pot
fer-li coneixements d'informàtica. "1/7
Un novici li va preguntar al mestre: "A l'est hi ha una gran estructura d'arbre
que els homes anomenen `la seu de les empreses". Es inflat fora de forma amb
vicepresidents i comptadors. S'emet una gran quantitat de notes, cada un
dient: Veu, aquí! " o `Veu, aquí!" i ningú sap el que vol dir. Cada
any nous noms es col · loquen en les branques, però tot va ser en va. Com pot
com una entitat natural ser? "El mestre va respondre: "Un percep aquesta immensa estructura i són
preocupa que no té cap propòsit racional. No es pot prendre a partir de diversions
seus girs sense fi? No t'agrada la facilitat de la programació sense problemes
sota les seves branques refugi? Per què et molesta la seva
inutilitat? "07/02
A l'est hi ha un tauró que és més gran que tots els altres peixos. El
es transforma en un ocell les ales són com núvols que omplen el cel. Quan aquesta
ocell es mou per tot el país, que porta un missatge del Corporatiu
Seu. Aquest missatge es cau enmig dels programadors,
com una gavina fent la seva marca a la platja. Llavors l'au es munta en el
el vent i, amb el cel blau a l'esquena, torna a casa.Les mirades de sorpresa programador novell en l'ocell, perquè ell l'entén
no. El programador mitjana tem l'arribada de les aus, ja que tem
seu missatge. El mestre programador continua treballant en el seu terminal, per
ell no sap que l'ocell ha anat i vingut.03/07
El mag de la Torre d'Ivori va portar el seu últim invent per a la
mestre programador per examinar. El mag de rodes un quadre negre de grans dimensions en
el mestre de l'oficina, mentre que el mestre va esperar en silenci."Aquest és un sistema integrat, distribuït, d'ús general d'estació de treball", va començar
el mag ", de disseny ergonòmic amb un operatiu propi
sistema, idiomes sisena generació, i l'estat de l'usuari de múltiples art
interfícies. Va prendre als meus assistents diversos centenars d'anys l'home per construir.
No és increïble? "El mestre va aixecar les celles lleugerament. "És realment increïble",
, Va dir."La seu corporativa s'ha manat," va continuar el mag, "que
tot el món utilitzen aquesta estació de treball com una plataforma per a nous programes. Està d'acord
a això? ""Per descomptat", va contestar el mestre: "Jo he transportat a la
del centre de dades immediatament! "I el mag va tornar a la seva torre, així
satisfet.Diversos dies després, un novell ficat a l'oficina del mestre
i el programador va dir: "No puc trobar el llistat del meu nou programa. Fer
Saps on podria ser? ""Sí", va respondre el mestre, "els llistats estan apilats a la plataforma en
el centre de dades. "4/7
El mestre programador es mou d'un programa a un altre sense por. No
canvi en la direcció pot fer-li mal. No es dispararà, encara que el
projecte es cancel. Per què és això? Ell és ple de Tao.-------------------------
Llibre 8 - Maquinari i Programari
Així va parlar el mestre programador:
"Sense el vent, l'herba no es mou. Sense el programari, el maquinari és
inútil ".8/1
Un novici li va preguntar al mestre: "Percebo que una empresa d'informàtica és molt més
més gran que tots els altres. S'eleva per sobre de la seva competència com un gegant entre els
Les nanes. Qualsevol de les seves divisions podria abastar un negoci complet. Per què és
això és així? "El senyor li va respondre: "Per què preguntes tan ximples? Aquesta companyia
és gran perquè és gran. Si només fa el maquinari, ningú compraria
ell. Si només fa el programari, ningú el faria servir. Si només es manté
sistemes, la gent el tracta com un servent. Però, ja que combina totes les
d'aquestes coses, la gent pensa que un dels déus! En no tractar de
s'esforcen, conquesta sense esforç ".02/08
Un mestre programador va passar un programador novell en un dia. El mestre va assenyalar
el principiant de la preocupació per un joc d'ordinador de mà. "Excuse me",
, Va dir, "puc estudiar?"El novell cargolat a l'atenció i li va lliurar el dispositiu per al mestre. "Jo
veure que el dispositiu afirma tenir tres nivells de joc: Fàcil, Mitjà, i
Dur ", va dir el mestre. "No obstant això, cada dispositiu d'aquest tipus té un altre nivell de
jugar, on el dispositiu no busca conquerir l'ésser humà, ni a ser conquistat
per l'ésser humà. ""Mestre Oren, molt bé", va implorar el novici, "com es troba aquest
Marc misteriós? "El mestre va deixar caure el dispositiu a terra i el va aixafar sota els seus peus. I
Tot d'una, el principiant es va il.luminar.3/8
Hi havia una vegada un programador que treballava en microprocessadors. "Mira com
així fos jo sóc aquí ", va dir a un programador de mainframes que va venir a visitar,
"Tinc el meu propi sistema operatiu i dispositiu d'emmagatzematge d'arxius. Jo no he de
compartir els meus recursos amb ningú. El programari és autosuficient i
fàcil d'utilitzar. Per què no deixes el teu treball actual i s'uneixin a mi aquí? "El programador de mainframes llavors va començar a descriure el seu sistema al seu amic,
dient: "El mainframe està assegut com un savi de l'antiguitat meditar enmig
del centre de dades. Els seus discos es troben d'extrem a extrem com un gran oceà de la
maquinària. El programari és multifacètic com un diamant, i complicat com
com una selva verge. Els programes, cada un és únic, es mouen a través del sistema
com un riu que flueix ràpid. És per això que estic feliç on sóc. "El programador de microordinadors, en sentir això, es va quedar en silenci. Però els dos
programadors van seguir sent amics fins al final dels seus dies.4/8
Hardware Software es va reunir en el camí a Changtse. Programari va dir: "Tu ets
Yin i Yang Jo sóc. Si viatgem junts, arribarà a ser famós i guanyar
grans sumes de diners. "I per això el consignades en conjunt, pensant en conquerir
el món.En l'actualitat es van reunir firmware, que estava vestit amb parracs i coixejo
al llarg recolzat en un pal espinós. Firmware els va dir: "El Tao és
més enllà del Yin i el Yang. És silenciós i quiet com un toll d'aigua. Ho fa
No busquen la fama, per tant ningú sap de la seva presència. No busca
fortuna, ja que és complet en si mateix. Hi ha més enllà de l'espai i
temps ".Programari i Maquinari, avergonyits, van tornar a casa seva.
-------------------------
Llibre 9 - Epíleg
Així va parlar el mestre programador:
"És hora que marxis."
-------------------------
Si t'ha agradat això, és possible que també li agrada llegir com pitjor, millor



































