Grandes programadores encontrar soluções simples para problemas complexos
Depois de muito tempo eu poderia encontrar a fonte para seguir aspas
Programadores júnior criar soluções simples para problemas simples. Programadores seniores criar soluções complexas para problemas complexos. Grandes programadores encontrar soluções simples para problemas complexos.
É a partir de um ensaio chamado Software bonito por Charles Connell.
Outra das minhas favoritas é O Zen de Python -
Bonito é melhor que feio.
Explícito é melhor que implícito.
Simples é melhor que complexo.
Complexo é melhor do que complicado.
Plano é melhor que aninhado.
Esparso é melhor que denso.
Legibilidade conta.
Casos especiais não são especiais o suficiente para quebrar as regras.
Embora praticidade bate pureza.
Erros nunca deveriam passar em silêncio.
A menos que explicitamente silenciados.
Diante da ambigüidade, recuse a tentação de adivinhar.
Deve haver um e de preferência apenas uma maneira óbvia para o fazer.
Apesar de que forma pode não ser óbvio à primeira vista, a menos que você seja holandês.
Agora é melhor do que nunca.
Embora nunca é freqüentemente melhor do que o * direito * agora.
Se a implementação é difícil de explicar, é uma má idéia.
Se a implementação é fácil de explicar, pode ser uma boa idéia.
Namespaces são uma grande idéia honking - vamos fazer mais desses!
-------------------------
e depois há o clássico Tao da Programação
-
créditos como no site-ligada
Traduzido por Geoffrey James
Transcrito por Duke Hillard
Transmitida por Anupam Trivedi, Tampi Sajitha e Jagannath Meghshyam
Re-html-ized e editado por Kragen Sittler
-
Livro 1 - O vazio silencioso
Assim falou o mestre programador:
"Quando você aprendeu a roubar o código de erro a partir do quadro armadilha, ele
haverá tempo para você deixar. "1,1
Algo misterioso é formado, nascido no vazio silencioso. Esperar sozinho e
imóvel, é ainda de uma só vez e ainda em movimento constante. É a fonte
de todos os programas. Eu não sei seu nome, por isso vou chamá-lo o Tao da
Programação.Se o Tao é grande, então o sistema operacional é grande. Se a operação
sistema é grande, então o compilador é grande. Se o compilador é grande,
então a aplicação é grande. O usuário tem o prazer e existe
harmonia no mundo.O Tao da Programação flui longe e retornos sobre o vento da manhã.
1,2
O Tao deu à luz a linguagem de máquina. Linguagem de máquina deu origem ao
assembler.A montadora deu à luz o compilador. Agora, há 10.000
idiomas.Cada linguagem tem seu propósito, por mais humilde. Cada linguagem expressa o
Yin e Yang do software. Cada idioma tem seu lugar dentro do Tao.Mas não se programar em COBOL se você pode evitá-lo.
1,3
No início era o Tao. O Tao deu origem ao espaço e tempo.
Portanto Espaço eo Tempo são Yin e Yang da programação.Os programadores que não compreendem o Tao estão sempre correndo contra o tempo
e espaço para seus programas. Os programadores que compreendem o Tao sempre
tem bastante tempo e espaço para realizar seus objetivos.Como poderia ser de outra forma?
1,4
O programador sábio é dito sobre o Tao eo segue. A média
programador é dito sobre o Tao e as buscas por ele. O programador tolo
é dito sobre o Tao e ri para ele.Se não fosse para rir, não haveria Tao.
Os tons mais altos são os mais difíceis de ouvir.
Daqui para frente é uma forma de recuar.
Grande talento revela-se mais tarde na vida.
Mesmo um programa perfeito ainda tem bugs.-------------------------
Livro 2 - Os antigos mestres
Assim falou o mestre programador:
"Depois de três dias sem programação, a vida fica sem sentido."
2,1
Os programadores de antigamente eram misteriosas e profundas. Nós não podemos imaginar
seus pensamentos, portanto, tudo o que fazemos é descrever a sua aparência.Consciente, como uma raposa atravessar a água. Alertar, como um general no
campo de batalha. Tipo, como uma hostess cumprimentando seus convidados. Simples, como
uncarved blocos de madeira. Opaco, como poços negros em cavernas escuras.Quem pode contar os segredos de seus corações e mentes?
A resposta só existe no Tao.
2,2
Grand Master Turing uma vez sonhou que era uma máquina. Quando ele acordou, ele
exclamou:"Eu não sei se estou sonhando Turing que eu sou uma máquina, ou um
máquina de sonhar que estou Turing! "2,3
Um programador de uma empresa de computadores muito grande foi a um software
conferência e, em seguida, retornou para informar ao seu gerente, dizendo: "Que tipo
de programadores trabalham para outras empresas? Eles se comportaram mal e foram
despreocupado com as aparências. Seu cabelo era longo e despenteado e sua
roupas eram enrugado e velho. Bateram nossa suite de hospitalidade e eles
fazia ruídos rudes durante minha apresentação. "O gerente disse: "Eu nunca deveria ter te enviado à conferência. Aqueles
programadores vivem além do mundo físico. Eles consideram a vida absurda, uma
coincidência acidental. Eles vêm e vão sem saber limitações.
Sem um cuidado, eles vivem apenas para seus programas. Por que eles deveriam se preocupar
com as convenções sociais?"Eles estão vivos dentro do Tao."
2,4
Um noviço perguntou ao Mestre: "Aqui é um programador que nunca projeta,
documentos ou testes de seus programas. No entanto, todos que o conhecem o consideram um dos
os melhores programadores do mundo. Por que isso? "O mestre responde: "Isso programador dominou o Tao. Ele foi
além da necessidade para o projeto, ele não ficar com raiva quando o sistema
falhas, mas aceita o universo sem preocupação. Ele foi além do
necessidade de documentação, ele não se importa se alguém vê o seu código.
Ele foi além da necessidade de testes, cada um de seus programas são perfeitos
dentro de si, sereno e elegante, seu propósito auto-evidente. Na verdade,
ele entrou no mistério do Tao ".-------------------------
3 Livro - Design
Assim falou o mestre programador:
"Quando o programa está sendo testado, é tarde demais para fazer o projeto
mudanças. "3,1
Era uma vez um homem que foi para uma feira de negócios computador. Cada dia como ele
entrou, o homem disse ao guarda na porta:"Sou um grande ladrão, conhecido pelos meus feitos de furtos. Ser
prevenido, para esta feira não escapará unplundered. "Este discurso perturbado o guarda muito, porque havia milhões de
dólares de dentro do equipamento informático, assim que viu o homem com cuidado. Mas
o homem apenas vagava entre as cabinas, cantarolando baixinho.Quando o homem saiu, o guarda levou-o de lado e procurou suas roupas, mas
não havia nada a ser encontrado.No dia seguinte da feira, o homem voltou e repreendeu o guarda
dizendo: "Eu fugi com um vasto espólio de ontem, mas hoje será ainda
melhor. "Então o guarda observava-o cada vez mais perto, mas sem sucesso.No último dia da feira, o guarda pôde conter sua curiosidade
já não. "Ladrão de Sir", disse ele, "Estou tão perplexo, eu não posso viver em
paz. Por favor, me ilumine. O que é que você está roubando? "O homem sorriu. "Eu estou roubando idéias", disse ele.
3,2
Era uma vez um mestre programador que escreveu os programas não estruturados. A
programador iniciante, procurando imitá-lo, também começou a escrever
programas não-estruturados. Quando o noviço perguntou ao mestre para avaliar sua
progresso, o mestre o criticaram por escrever programas estruturados,
dizendo: "O que é apropriado para o mestre não é apropriado para o
novato. Você deve entender o Tao antes de transcender a estrutura. "3,3
Era uma vez um programador que foi anexado ao tribunal do senhor da guerra
de Wu. O senhor da guerra perguntou o programador: "Qual é mais fácil de desenhar: uma
pacote de contabilidade ou um sistema operacional? ""Um sistema operacional", respondeu o programador.
O senhor da guerra soltou uma exclamação de descrença. "Certamente uma contabilidade
pacote é trivial ao lado da complexidade de um sistema operacional ", ele
disse."Não é assim", disse o programador, "na concepção de um pacote de contabilidade,
o programador funciona como um mediador entre pessoas com diferentes
idéias: como deve funcionar, como os relatórios têm de aparecer, e como ele deve
em conformidade com as leis fiscais. Por contraste, um sistema operativo não está limitada
pelas aparências exteriores. Ao projetar um sistema operacional, o programador
busca a harmonia entre a máquina mais simples e idéias. É por isso que um
sistema operacional é mais fácil de desenhar. "O senhor da guerra de Wu assentiu com a cabeça e sorriu. "Isso tudo é bom e bem, mas
que é mais fácil de depurar? "O programador não respondeu.
3,4
A gerente foi para o programador mestre e mostrou-lhe os requisitos
documento para uma nova aplicação. O gerente perguntou ao mestre: "Quanto tempo
vai demorar para projetar esse sistema se eu atribuir cinco programadores para ele? ""Vai levar um ano", disse o mestre prontamente.
"Mas precisamos desse sistema imediatamente ou ainda mais cedo! Quanto tempo vai
tomar se eu atribuir dez programadores para ele? "O programador mestre franziu a testa. "Nesse caso, vai demorar dois anos."
"E se eu atribuir uma centena de programadores para ele?"
O programador mestre deu de ombros. "Então, o projeto nunca será
concluída ", disse ele.-------------------------
Livro 4 - Codificação
Assim falou o mestre programador:
"Um programa bem escrito é o seu próprio céu; um programa mal-escrito é
seu próprio inferno. "4,1
Um programa deve ser leve e ágil, seus sub-rotinas conectado como um
colar de pérolas. O espírito ea intenção do programa deve ser mantido
por toda parte. Não deve ser nem demasiado pouco ou demasiado, nem
laços desnecessários nem variáveis inúteis, nem falta de estrutura nem
rigidez esmagadora.Um programa deve seguir a Lei do Menor `Surpresa '. O que é essa lei?
É simplesmente que o programa deve sempre responder ao usuário na forma
que surpreende pelo menos ele.Um programa, não importa o quão complexo, deve agir como uma única unidade. O programa
deve ser dirigida pela lógica dentro e não pelas aparências exteriores.Se o programa falhar em estes requisitos, será em um estado de
desordem e confusão. A única maneira de corrigir isso é reescrever a
programa.4,2
Um noviço perguntou ao mestre: "Eu tenho um programa que é executado em algum momento e
às vezes aborta. Eu segui as regras de programação, mas eu sou
totalmente perplexo. Qual é a razão para isso? "O mestre respondeu: "Você está confuso porque você não entende Tao.
Somente um tolo espera comportamento racional de seus companheiros humanos. Por que você
espera de uma máquina que os seres humanos têm construído? Computadores simular
determinismo, apenas Tao é perfeito."As regras de programação são transitórios; Tao só é eterno. Portanto
você deve contemplar Tao antes de receber a iluminação. ""Mas como vou saber quando eu recebi a iluminação?", Perguntou o
novato."O programa irá funcionar corretamente", respondeu o mestre.
4,3
Um mestre estava explicando a natureza do Tao de um de seus noviços. "O
Tao está incorporada em todos os programas - independentemente de quão insignificante ", disse
o mestre."O Tao em uma calculadora de mão", perguntou o novato.
"É", veio a resposta.
"O Tao em um videogame?", Continuou o novato.
"É mesmo um jogo de vídeo", disse o mestre.
"E é o Tao do DOS para um computador pessoal?"
O mestre tossiu e mudou ligeiramente de posição. "A lição é sobre
para hoje ", disse ele.4,4
Programador Príncipe Wang foi a codificação de software. Seus dedos dançaram sobre a
teclado. O programa compilado sem uma mensagem de erro, eo programa
correu como um vento suave."Excelente!" O Príncipe exclamou: "Sua técnica é impecável!"
"Técnica?", Disse o programador voltando-se de seu terminal, "O que eu
seguir é o Tao - além de todas as técnicas! Quando comecei a programar eu
veria diante de mim todo o problema em uma única massa. Depois de três anos eu não
já vi essa massa. Em vez disso, eu usei sub-rotinas. Mas agora não vejo nada.
Todo o meu ser existe um vazio sem forma. Meus sentidos estão ociosos. Meu espírito,
livre para trabalhar sem plano, segue o seu próprio instinto. Em suma, meu programa
escreve-se. É verdade que às vezes há problemas difíceis. Vejo-os
vindo, eu abrandar, eu assisto em silêncio. Então eu mudar uma única linha de código
e as dificuldades desaparecem como baforadas de fumaça ocioso. Eu então compilar o
programa. Sento-me quieto e deixar que a alegria do trabalho encher meu ser. Eu fechar meu
olhos por um momento e faça logoff. "Príncipe Wang disse: "Será que todos os meus programadores eram tão sábio!"
-------------------------
Livro 5 - Manutenção
Assim falou o mestre programador:
"Apesar de ser um programa, mas três linhas, algum dia terá de ser
mantida. "5,1
Uma porta bem usado não precisa de óleo nas dobradiças.
Um fluxo rápido de fluxo não cresce estagnada.
Som nem pensamentos podem viajar através do vácuo.
Software apodrece se não for usado.Estes são grandes mistérios.
5,2
A gerente pediu um programador quanto tempo levaria para concluir a
programa em que ele estava trabalhando. "Ela será concluída amanhã," o
programador respondeu prontamente."Eu acho que você está sendo irrealista", disse o gerente, "Na verdade, como
tempo vai demorar? "O programador pensou por um momento. "Eu tenho algumas características que eu gostaria de
adicionar. Isso vai demorar pelo menos duas semanas ", ele disse finalmente."Mesmo que seja demais esperar", insistiu o gerente, "Eu estarei
satisfeito se você simplesmente me dizer quando o programa é completo. "O programador concordou com isso.
Vários anos depois, o gerente aposentado. No caminho para sua aposentadoria
almoço, ele descobriu o programador adormecido em seu terminal. Ele tinha sido
programação durante toda a noite.5,3
Um programador novato já foi atribuído o código de um simples pacote financeiro.
O noviço trabalharam arduamente durante muitos dias, mas quando seu mestre Comentários
seu programa, ele descobriu que ele continha um editor de tela, um conjunto de
generalizada gráficos rotinas, uma interface de inteligência artificial, mas
não menor menção de qualquer coisa financeiro.Quando o mestre perguntou sobre isso, o novato ficou indignado. "Não seja
tão impaciente ", disse ele," eu vou colocar na forma financeira, eventualmente. "5,4
Será um bom agricultor negligenciar uma cultura que plantou?
Será que um bom professor ignorar, mesmo o aluno mais humilde?
Será um bom pai permitir que uma única criança a morrer de fome?
Será que um bom programador se recusar a manter o seu código?-------------------------
Livro 6 - Gestão
Assim falou o mestre programador:
"Que os programadores são muitos e os poucos gerentes -, então tudo será
produtivo. "6,1
Quando os gerentes de reuniões intermináveis, os programadores a escrever jogos. Quando
contadores falar dos lucros trimestrais, o orçamento de desenvolvimento está prestes a
ser cortado. Quando os cientistas seniores falar céu azul, as nuvens estão prestes a rolar
polNa verdade, este não é o Tao da Programação.
Quando os gerentes de assumir compromissos, programas de jogos são ignorados. Quando
contadores fazer planos de longo prazo, a harmonia ea ordem está prestes a ser
restaurado. Quando os cientistas seniores resolver os problemas na mão, o
problemas em breve será resolvido.Verdadeiramente, este é o Tao da Programação.
6,2
Por que os programadores não-produtiva?
Como seu tempo é desperdiçado em reuniões.Por que programadores rebeldes?
Porque a gestão interfere demais.Por que os programadores de renunciar, um por um?
Porque eles são queimados.Tendo trabalhado para a má gestão, que nenhum valor mais seus trabalhos.
6,3
Um gerente estava prestes a ser demitido, mas um programador que trabalhava para ele
inventou um novo programa que se tornou popular e vendeu bem. Como resultado, o
gerente manteve seu trabalho.O gerente tentou dar ao programador um bônus, mas o programador
recusou, dizendo: "Eu escrevi o programa, porque eu pensei que era um
conceito interessante, e, portanto, não espero recompensa. "O gerente, ao ouvir este comentou: "Este programador, embora ele segura
uma posição de estima pequeno, entende bem o dever próprio de um
empregado. Vamos promovê-lo para a posição exaltada de gestão
consultor! "Mas quando disse isso, o programador mais uma vez se recusou, dizendo: "Eu existo para
que eu possa programar. Se eu fosse promovido, eu não faria nada, mas resíduos
tempo de todos. Posso ir agora? Eu tenho um programa que eu estou trabalhando. "6,4
Um gerente foi para seus programadores e disse-lhes: "No que diz respeito ao seu trabalho
horas: você vai ter que vir às nove da manhã e deixar
às cinco da tarde. "Com isso, todos eles ficou furioso e vários
renunciou no local.Assim, o gerente disse: "Tudo bem, nesse caso, você pode definir o seu próprio
horas de trabalho, contanto que você terminar seus projetos dentro do cronograma. "O
programadores, agora satisfeitos, começaram a chegar ao meio-dia e trabalhar para o wee
horas da manhã.-------------------------
Livro 7 - Sabedoria Corporativa
Assim falou o mestre programador:
"Você pode demonstrar um programa para um executivo, mas você não pode
fazê-lo de informática. "7,1
Um noviço perguntou ao mestre: "No leste há uma grande estrutura de árvore
que os homens chamam de `Sede Corporativa '. É inchado fora de forma com
vice-presidentes e contadores. Ele emite uma grande quantidade de memorandos, cada
dizendo: Vai, isso! " ou 'Vai, cá!' e ninguém sabe o que se entende. Cada
ano novos nomes são colocados sobre os ramos, mas tudo em vão. Como pode
tal entidade artificial ser? "O mestre respondeu: "Você percebe esta imensa estrutura e são
perturbado que não tem nenhuma finalidade racional. Você não pode tomar a partir de diversões
seus giros intermináveis? Você não aproveitar a facilidade de programação despreocupada
sob seus galhos abrigam? Por que você está incomodado por sua
inutilidade? "7,2
No leste há um tubarão que é maior do que todos os outros peixes. Ele
transforma em um pássaro cujas asas são como as nuvens enchendo o céu. Quando este
pássaro se move sobre a terra, ele traz uma mensagem de Empresas
Sede. Esta mensagem cai no meio dos programadores,
como uma gaivota fazer sua marca na praia. Em seguida, a ave montado no
vento e, com o céu azul à sua volta, volta para casa.Os olhares novatos programador com espanto para o pássaro, pois ele entende
não. O programador média teme a vinda do pássaro, pois ele teme
a sua mensagem. O programador mestre continua a trabalhar em seu terminal, para
ele não sabe que o pássaro veio e se foi.7,3
O Mago da Torre de Marfim trouxe sua mais recente invenção para o
mestre programador para examinar. O mágico rodas uma grande caixa preta em
escritório do mestre enquanto o mestre esperaram em silêncio."Este é um sistema integrado, distribuído, estação de trabalho de uso geral", começou
o mágico, "ergonomicamente projetada com um sistema operacional proprietário
sistema, as línguas sexta geração, e estado múltiplo do utilizador arte
interfaces. Levou meus assistentes várias centenas de anos o homem para construir.
Não é surpreendente? "O mestre ergueu as sobrancelhas ligeiramente. "É realmente incrível", ele
disse."Sede Corporativa ordenou", continuou o mago ", que
todos usar esta estação de trabalho como uma plataforma para novos programas. Você concorda
para isso? ""Certamente", respondeu o mestre, "Eu vou tê-lo transportado para o
centro de dados imediatamente! "E o mágico voltou à sua torre, bem
satisfeito.Vários dias mais tarde, um novato entrou no escritório do mestre
e programador disse: "Eu não consigo encontrar a lista para o meu novo programa. Fazer
você sabe onde pode ser? ""Sim", respondeu o mestre, "as listas são empilhadas em cima da plataforma em
o centro de dados. "7,4
O programador mestre se move de programa para programa sem medo. Não
mudança de gestão pode prejudicá-lo. Ele não será disparado, mesmo se o
projeto é cancelado. Por que isso? Ele está cheio de Tao.-------------------------
Livro 8 - Hardware e Software
Assim falou o mestre programador:
"Sem o vento, a grama não se move. Sem software, hardware é
inútil. "8,1
Um noviço perguntou ao mestre: "Percebo que uma empresa de informática é muito
maior do que todos os outros. Ele se eleva acima de sua competição como um gigante entre os
anões. Qualquer uma de suas divisões poderia incluir um negócio inteiro. Por que é
assim? "O mestre respondeu: "Por que você essas perguntas tão tolas? Essa empresa
é grande, porque é grande. Se ele só fez hardware, ninguém iria comprar
la. Se ele só fez software, ninguém iria utilizá-lo. Se ele só manteve
sistemas, as pessoas iriam tratá-lo como um servo. Mas porque combina tudo
destas coisas, as pessoas pensam que um dos deuses! Por não pretende
esforçar-se, conquista sem esforço. "8,2
Um programador mestre passou um programador iniciante um dia. O mestre observou
preocupação do novato com um jogo de computador de mão. "Desculpe-me,"
ele disse, "posso examiná-lo?"O noviço aparafusado à atenção e entregou o aparelho para o mestre. "Eu
ver que o dispositivo afirma ter três níveis de jogo: Médio, Fácil, e
Difícil ", disse o mestre. "No entanto, cada dispositivo, tem um outro nível de
jogar, onde o dispositivo não pretende conquistar o ser humano, nem a ser conquistado
pelo ser humano. ""Mestre, Pray grande", implorou o novato, "como é que se encontrar esta
configuração misterioso? "O mestre deixou cair o aparelho no chão e esmagou-o sob os pés. E
de repente, o novato foi iluminado.8,3
Era uma vez um programador que trabalhou sobre microprocessadores. "Veja como
assim fora eu estou aqui ", disse ele a um programador de mainframe que veio visitar,
"Eu tenho o meu próprio sistema operacional e dispositivo de armazenamento de arquivo. Eu não tenho a
partilhar os meus recursos com ninguém. O software é auto-consistente e
fácil de usar. Por que você não sair do seu trabalho presente e se juntar a mim aqui? "O programador de mainframe, em seguida, começou a descrever seu sistema ao seu amigo,
dizendo: "O mainframe senta-se como um antigo sábio meditando no meio
do centro de dados. Unidades de seu disco mentir fim-de-final como um grande oceano de
máquinas. O software é tão multifacetado como um diamante, e como convoluta
como uma selva primitiva. Os programas, cada um único, se movem através do sistema
como um rio swift-flowing. É por isso que eu estou feliz onde estou. "O programador de microcomputador, ao ouvir isto, calou-se. Mas a dois
programadores continuaram amigos até o fim de seus dias.8,4
Hardware Software reuniu na estrada para Changtse. Software, disse: "Está
Yin e Yang eu sou. Se viajamos juntos vamos tornar-se famoso e ganhar
vastas somas de dinheiro. "E assim por diante o conjunto em conjunto, pensando em conquistar
o mundo.Atualmente eles se encontraram Firmware, que estava vestido em trapos esfarrapados e mancando
ao longo apoiado em um bastão de espinhos. Firmware disse-lhes: "O Tao está
além de Yin e Yang. É silencioso e imóvel como uma piscina de água. Ele faz
não procurar a fama, pois ninguém sabe a sua presença. Ele não busca
fortuna, pois é completo em si mesmo. Ela existe para além do espaço e
tempo. "Software e Hardware, envergonhados, voltaram para suas casas.
-------------------------
Livro 9 - Epílogo
Assim falou o mestre programador:
"É hora de você ir embora."
-------------------------
Se você gostou desses, você pode também gostar de ler quanto pior, melhor



































