Programadores Grande encontrar soluções simples para problemas complexos
Depois de muito tempo eu poderia encontrar a fonte para a seguinte cotação
Junior programadores criar soluções simples para problemas simples. Senior programadores criar soluções complexas para problemas complexos. Programadores Grande encontrar soluções simples para problemas complexos.
Trata-se de um ensaio chamado Beautiful Software por Charles Connell.
Outra das minhas favoritas é The Zen of Python --
Bonito é melhor que feio.
Explícito é melhor que implícito.
Simples é melhor que complexo.
Complexo é melhor que complicado.
Plano é melhor que aninhados.
Esparso é melhor que denso.
Contagens de legibilidade.
Casos especiais não são especiais o bastante para quebrar as regras.
Embora a praticidade bate pureza.
Erros nunca devem passar silenciosamente.
A menos que explicitamente silenciados.
Diante da ambigüidade, recuse a tentação de adivinhar.
Deve haver uma preferência e apenas uma forma óbvia de fazer isso.
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 é muitas vezes melhor do que o direito * * agora.
Se a implementação é difícil de explicar, é uma má idéia.
Se a aplicação é fácil de explicar, pode ser uma boa idéia.
Namespaces são uma grande idéia honking - Vamos fazer mais dessas!
-------------------------
e depois há Tao clássico de Programação
--
créditos, no site vinculado
Traduzido por Geoffrey James
Transcrito por Duke Hillard
Transmitida por Anupam Trivedi, Tampi Sajitha e Meghshyam Jagannath
Re-HTML-ized e editado por Kragen Sittler
--
Book 1 - The Silent Void
Assim falou o programador mestre:
"Quando você aprendeu a arrebatar o código de erro do quadro interceptar, ele
terá tempo para você ir embora. "1,1
Algo misterioso está formado, nascido no vazio silencioso. Esperando sozinho e
imóvel, que é ao mesmo tempo e ainda continua em constante movimento. É a fonte
de todos os programas. Eu não sei o 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 o pedido é grande. O usuário está satisfeito e não existe
harmonia no mundo.The Tao of Programming fluxos de longe e retornos sobre o vento da manhã.
1,2
O Tao deu a luz a linguagem de máquina. Linguagem de máquina deu à luz a
assembler.A montadora deu à luz o compilador. Agora há dez mil
línguas.Cada idioma tem o seu fim, porém humilde. Cada linguagem expressa o
Yin e Yang do software. Cada idioma tem seu lugar dentro do Tao.Mas o programa não em COBOL se você pode evitá-lo.
1,3
No princípio era o Tao. O Tao deu origem ao Espaço e Tempo.
Portanto Espaço e Tempo são Yin e Yang da programação.Programadores que não compreendemos o Tao estão sempre correndo contra o tempo
e espaço para seus programas. Programadores que compreender 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 Tao e segue. A média
programador é dito sobre Tao e procura por ele. O programador tolo
é dito sobre Tao e ri-lo.Se não fosse para rir, não haveria Tao.
Os sons são mais difíceis de ouvir.
Indo para a frente é uma forma de retiro.
Great talent mostra-se mais tarde na vida.
Mesmo um programa perfeito ainda tem bugs.-------------------------
Livro 2 - Os antigos mestres
Assim falou o programador mestre:
"Depois de três dias, sem programação, a vida fica sem sentido".
2,1
Os programadores de idade foram misterioso e profundo. Nós não podemos compreender
os seus pensamentos, para que todos nós fazemos é descrever a sua aparência.Consciente, como uma raposa passagem da água. Alerta, como um general no
campo de batalha. Tipo, como uma hostess saudação 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
Grão-Mestre de 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 informática foi muito grande para um software
conferência e em seguida, retornou ao relatório para seu gerente, dizendo: "Que tipo
de programadores de trabalho para outras empresas? Eles se comportaram mal e foram
despreocupados com as aparências. Seu cabelo era longo e despenteado e os seus
roupas estavam enrugadas e velhos. Eles caíram nossa suíte de hospitalidade e
rude fazia ruídos durante a minha apresentação. "O gerente disse: "Eu nunca deveria ter-lhe enviado para a conferência. Aqueles
programadores vivem além do mundo físico. Eles consideram a vida um absurdo, uma
coincidência acidental. Eles vêm e vão sem saber suas limitações.
Sem cuidados, 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 novato perguntou ao mestre: "Aqui é um programador que nunca desenhos,
documentos ou testes de seus programas. No entanto, todos que o conhecem o consideram um dos
os melhores programadores do mundo. Por que é isto? "O mestre responde: "Isso programador tem dominado o Tao. Ele foi
além da necessidade para o projeto, ele não fica irritado quando o sistema
falhas, mas aceita o universo sem preocupação. Ele tem ido além do
necessidade de documentação, ele não se importa se alguém vê o seu código.
Ele tem ido além da necessidade de testes, cada um de seus programas são perfeitos
dentro de si, serena e elegante, a sua auto-evidente propósito. Verdadeiramente,
ele entrou no mistério do Tao. "-------------------------
Livro 3 - Design
Assim falou o programador mestre:
"Quando o programa está sendo testado, é demasiado tarde para fazer design
mudanças. "3,1
Era uma vez um homem que foi para uma feira de computador. Cada dia como ele
entrou, o homem disse ao guarda na porta:"Eu sou um grande ladrão, conhecido pelas minhas façanhas de furtos. Ser
prevenido, para esta feira não escapará unplundered ".Este discurso perturbado guarda muito, porque havia milhões de
dólares de equipamentos de informática para dentro, para que ele observava o homem com cuidado. Mas
o homem apenas desviaram da cabina para outra, cantarolando baixinho para si mesmo.Quando o homem saiu, o guarda levou-o de lado e procurou as suas roupas, mas
nada foi encontrado.No dia seguinte da mostra de comércio, o homem voltou e repreendeu o guarda
dizendo: "Eu fugi com um vasto espólio de ontem, mas hoje será ainda
melhor. "Assim, a guarda de observá-lo cada vez mais perto, mas sem sucesso.No último dia da feira, o guarda poderia conter sua curiosidade
não mais. "Thief Senhor", ele disse: "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 estruturados. A
programador novato, tentando imitá-lo, também começou a escrever
programas estruturados. Quando o novato perguntou ao mestre para avaliar o seu
progresso, o senhor criticou-o para escrever programas estruturados,
dizendo: "O que é apropriado para o mestre não é adequado para a
noviço. Você deve entender o Tao antes transcendendo estrutura ".3,3
Era uma vez um programador que foi anexado ao tribunal do senhor da guerra
de Wu. O guerreiro pediu ao programador: "Qual é mais fácil de design: um
pacote de contabilidade ou de um sistema operacional? ""Um sistema operacional", respondeu o programador.
O senhor da guerra soltou uma exclamação de incredulidade. "Certamente uma contabilidade
pacote é trivial ao lado da complexidade de um sistema operacional ", ele
dito."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 ela deve operar, como os relatórios devem constar, e como ele deve
conformidade com a legislação fiscal. Em contraste, um sistema operacional não é limitado
pelas aparências exteriores. Ao projetar um sistema operacional, o programador
visa a harmonia entre a máquina mais simples e idéias. É por isso que um
sistema operacional é mais fácil de design ".O senhor da guerra de Wu acenou e sorriu. "Isso é tudo de bom e bem, mas
o que é mais fácil de depurar? "O programador não respondeu.
3,4
A gerente foi para o programador mestre e lhe mostrou as exigências
documento para uma nova aplicação. O gerente perguntou ao mestre: "Quanto tempo
vai demorar para a concepção deste sistema, se eu atribuir cinco programadores para isso? ""Vai levar um ano", disse o mestre prontamente.
"Mas precisamos deste sistema imediatamente, ou mesmo mais cedo! Quanto tempo vai
se eu tirar dez programadores atribuir a ela? "O programador mestre franziu a testa. "Nesse caso, vai levar dois anos."
"E se eu atribuir uma centena de programadores para isso?"
O programador mestre deu de ombros. "Então o projeto nunca será
concluído ", disse ele.-------------------------
Livro 4 - Codificação
Assim falou o programador mestre:
"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, suas rotinas ligadas como uma
colar de pérolas. O espírito ea intenção do programa deve ser mantido
completamente. Não deve ser nem demasiado pouco ou demasiado, nem
loops de variáveis desnecessárias, nem inútil, nem a falta de estrutura nem
rigidez esmagadora.Um programa deve seguir a lei »de Menor". O que é esta 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 não nestas condições, ele estará em um estado de
desordem e confusão. A única maneira de corrigir isso é reescrever o
programa.4,2
Um novato perguntou ao mestre: "Eu tenho um programa que é executado em algum momento e
às vezes anula. Tenho seguido as regras da programação, ainda estou
totalmente confuso. Qual é a razão para isso? "O mestre respondeu: "Está confusa, porque você não entende o Tao.
Só 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 simulam
determinismo; apenas Tao é perfeito."As regras de programação são transitórios, apenas Tao é eterno. Portanto
você deve contemplar Tao antes de receber a iluminação. ""Mas como vou saber quando eu recebi a iluminação?", Perguntou o
noviço."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 é incorporado em todos os softwares - 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 vídeo game?", Continuou o novato.
"É mesmo em um jogo de vídeo", disse o mestre.
"E é o Tao no DOS para um computador pessoal?"
O mestre tossiu e mudou de posição um pouco. "A lição é sobre
para hoje ", disse ele.4,4
Programador Prince Wang foi a codificação de software. Seus dedos dançavam sobre o
teclado. O programa compilado sem uma mensagem de erro, eo programa
funcionou como um vento suave."Excelente!" O príncipe exclamou: "Sua técnica é impecável!"
"Técnica?", Disse o programador giro de seu terminal, "What I
seguir é o Tao - além de todas as técnicas! Quando comecei a programar eu
veria diante de mim todo o problema em uma massa. Depois de três anos eu não
já vi isso em massa. Em vez disso, eu usei subrotinas. Mas agora não vejo nada.
Todo o meu ser existe um vazio informe. Meus sentidos estão ociosos. Meu espírito,
livre para trabalhar sem plano, segue o seu próprio instinto. Em suma, o meu programa
se escreve. É verdade, às vezes há problemas difíceis. Vejo-os
vinda, eu atrasar, eu assisto em silêncio. Então eu mudo uma única linha de código
e as dificuldades desaparecem como nuvens de fumaça ocioso. Eu, então, compilar as
programa. Eu ficar quieto e deixar que a alegria do trabalho de encher meu ser. Eu fecho meus
olhos por um instante e em seguida, log off. "Prince Wang disse: "Gostaria que todos os meus programadores foram tão sábio!"
-------------------------
Livro 5 - Manutenção
Assim falou o programador mestre:
"Apesar de ser um programa de apenas três linhas longas, algum dia terá de ser
mantida. "5,1
Um bem utilizada porta não precisa de óleo em suas dobradiças.
A swift-flowing stream não cresce estagnada.
Som nem pensamentos podem viajar através de um vácuo.
Software rots if not used.Estes são os grandes mistérios.
5,2
A gerente pediu um programador quanto tempo levaria para concluir a
programa em que ele estava trabalhando. "Será concluído 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 desejo
adicionar. Isso vai demorar pelo menos duas semanas ", disse finalmente."Mesmo que é muito para esperar", insistiu o dirigente, "Eu estarei
satisfeito se você simplesmente me dizer quando o programa estiver completa. "O programador concordou com isso.
Vários anos depois, o gerente aposentado. No caminho para sua aposentadoria
almoço, ele descobriu que o programador adormecido em seu terminal. Ele tinha sido
programação durante toda a noite.5,3
Um programador novato já foi atribuído um código simples pacote financeiro.
O noviço trabalharam arduamente durante muitos dias, mas quando seu mestre revista
seu programa, ele descobriu que ele continha um editor de tela, um conjunto de
generalizado rotinas de gráficos, uma interface de inteligência artificial, mas
não a mais leve menção de qualquer coisa financeira.Quando o mestre perguntou sobre isso, o novato ficou indignado. "Não se
tão impaciente ", disse ele," eu vou colocar no material financeiros eventualmente. "5,4
Será que uma negligência agricultor uma boa colheita, ele 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á um bom programador se recusar a manter o seu código?-------------------------
Livro 6 - Gestão
Assim falou o programador mestre:
"Vamos ser muitos os programadores e os gerentes de alguns -, então todos serão
produtivo ".6,1
Quando os gerentes de reuniões intermináveis, os programadores escrever jogos. Quando
contabilistas falar dos lucros trimestrais, o orçamento para o desenvolvimento é de cerca de
ser cortado. Quando os cientistas falam alto céu azul, as nuvens estão prestes a rolar
polVerdadeiramente, este não é o Tao of Programming.
Quando os gerentes de assumir compromissos, programas de jogos são ignorados. Quando
contabilistas fazer planos de longo prazo, a harmonia ea ordem estão prestes a ser
restaurado. Quando os cientistas seniores resolver os problemas na mão, o
problemas logo será resolvido.Verdadeiramente, este é o Tao of Programming.
6,2
Por que os programadores não produtiva?
Porque o seu tempo é desperdiçado em reuniões.Por que os programadores rebelde?
Porque a gestão interfere muito.Porque é que os programadores de renunciar, um por um?
Porque eles estão esgotados.Tendo trabalhado por má gestão, o valor que já não os seus empregos.
6,3
Um gerente estava prestes a ser despedido, mas um programador que trabalhava para ele
inventou um novo programa que se tornou popular e vendeu bem. Como resultado, a
gerente conservou o seu lugar.O gerente tentou dar o programador de um bônus, mas o programador
recusou, dizendo: "Eu escrevi o programa porque eu pensei que era uma
conceito interessante, e assim eu não esperam recompensa. "O gerente, ao ouvir este comentou: "Este programador, embora ele detém
uma posição de auto-estima de pequeno porte, entende bem o dever de um bom
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 assim
programa que eu posso. Se eu fosse promovida, 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 ao seu programadores e lhes disse: "No que diz respeito ao seu trabalho
hora: você vai ter que entrar às nove da manhã e sair
às cinco da tarde. "Nesta, todos eles ficaram zangados e vários
renunciou no local.Assim, o gerente disse: "Tudo bem, nesse caso, você poderá definir seu próprio
horas de trabalho, contanto que você terminar os seus projectos na agenda. "O
programadores, agora satisfeitos, começaram a chegar ao meio-dia e trabalhar para o pequenino
horas da manhã.-------------------------
Livro 7 - Corporate Sabedoria
Assim falou o programador mestre:
"Você pode demonstrar um programa para um executivo, mas não pode
fazê-lo em informática ".7,1
Um novato perguntou ao mestre: "No leste há uma grande árvore-estrutura
que os homens chamam «Sede Corporativa". É inchada fora de forma com
vice-presidentes e contabilistas. Emite uma série de memorandos, cada
dizendo: Ide, portanto! ou "Go, Cá! e ninguém sabe o que se entende. Cada um
nomes de ano novo são colocados sobre os ramos, mas todos sem sucesso. Como pode
tal entidade ser natural? "O mestre respondeu: "Você percebe esta imensa estrutura e são
perturbado que não tem nenhum propósito racional. Você não pode tomar a partir de diversões
seus giros sem fim? Você não apreciar a facilidade de programação, imperturbável
debaixo de 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
mudanças em um pássaro cujas asas são como nuvens enchendo o céu. Quando isso
movimentos de aves em todo o país, traz uma mensagem de Corporate
Sede. Esta mensagem ele cai no meio dos programadores,
como uma gaivota fazendo sua marca na praia. Então, o pássaro é montado na
vento e, com o céu azul à sua volta, volta para casa.O programador novato olha com espanto para o pássaro, pois ele entende
não. O programador média teme a vinda do pássaro, pois ele teme
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
programador mestre para examinar. O mágico de rodas uma grande caixa preta em
gabinete do comandante, enquanto o mestre esperou em silêncio."Este é um sistema integrado, distribuído, estação de trabalho de uso geral", começou
o mágico ", ergonomicamente projetado com um operacionais proprietários
sistema, linguagens de sexta geração, e do estado múltiplo de arte do usuário
interfaces. Levei meus assistentes várias centenas de anos o homem a construir.
Não será surpreendente? "O mestre ergueu as sobrancelhas ligeiramente. "É realmente incrível", disse ele
dito."Corporate Headquarters ordenou", continuou o mágico ", que
todos usar esta estação de trabalho como uma plataforma para novos programas. Concorda
para isso? ""Certamente", respondeu o mestre, "Eu vou tê-lo transportado para o
centro de dados imediatamente! "E o mago retornou a sua torre, bem
satisfeito.Vários dias depois, vagou um novato no escritório do mestre
programador e disse: "Eu não posso encontrar a listagem para o meu novo programa. Fazer
você sabe onde poderia estar? ""Sim", respondeu o mestre ", os anúncios são empilhados sobre a plataforma em
o centro de dados ".7,4
O mestre se move programador de programa para programa, sem medo. Não
mudança na gestão pode prejudicá-lo. Ele não será demitido, mesmo que o
projeto é cancelado. Por que é isto? Ele é preenchido com o Tao.-------------------------
Livro 8 - Hardware e Software
Assim falou o programador mestre:
"Sem o vento, a grama não se move. Sem software, hardware é
inútil ".8,1
Um novato perguntou ao mestre: "Percebo que uma empresa de informática é muito
maior do que todos os outros. Eleva-se acima de sua competição como um gigante entre os
anões. Qualquer uma de suas divisões poderiam constituir uma empresa inteira. Porque é
isto é assim? "O mestre respondeu: "Por que você pergunta essas perguntas tolas? Esta empresa
é grande porque é grande. Se ele só fez hardware, ninguém iria comprar
ele. Se ele só fez o software, ninguém iria utilizá-lo. Se ele só manteve
sistemas, as pessoas iriam tratá-lo como um servo. Mas porque combina todos os
dessas coisas, as pessoas acham que um dos deuses! Por que não procuram a
esforçar, ele vence sem esforço. "8,2
Um programador mestre passou um programador novato um dia. O comandante observou
preocupação do noviço com uma mão do jogo de computador. "Desculpe-me,"
ele disse, "posso examiná-lo?"O noviço fugiu à atenção e entregou o aparelho para o mestre. "Eu
ver que o dispositivo pretende ter três níveis de jogo: Fácil, Médio e
Difícil ", disse o mestre. "No entanto, cada dispositivo, tem outro nível de
jogo, quando o dispositivo não pretende conquistar o ser humano, nem a ser conquistado
pelo ser humano. ""Orai mestre, grande", implorou o novato ", como é que se encontra presente
definição misteriosa? "O capitão deixou cair o aparelho no chão e esmagou-a sob os pés. E
de repente, o novato foi esclarecida.8,3
Era uma vez um programador que trabalhou em cima microprocessadores. "Olhe como
bem fora Eu estou aqui ", disse ele a um programador mainframe que veio visitar,
"Eu tenho meu próprio sistema operacional e dispositivo de armazenamento de arquivos. Eu não tenho a
partes meus recursos com ninguém. O software é auto-consistente e
easy-to-use. Por que você não sair do seu trabalho actual e juntar-me aqui? "O programador mainframe, em seguida, começou a descrever seu sistema a seu amigo,
dizendo: "O mainframe se sente como um antigo sábio meditando no meio
do centro de dados. Seus drives de disco mentira fim-de-final como um grande oceano de
máquinas. O software é tão multifacetado como um diamante, e as complicadas
como uma selva primitiva. Os programas, cada um único, mover-se através do sistema
como um rio que flui rapidamente. É por isso que eu estou feliz onde estou. "O programador de microcomputador, ao ouvir isto, calou-se. Mas os dois
programadores continuaram amigos até o fim de seus dias.8,4
Hardware Software encontrou no caminho para a Changtse. Software disse: "Está
Yin e Yang I am. Se viajamos juntos vamos ficar famoso e ganhar
vastas somas de dinheiro. "E assim por diante o jogo juntos, pensando em conquistar
o mundo.Atualmente, eles se encontraram Firmware, que estava vestido com trapos e farrapos hobbled
ao longo apoiado em uma vara espinhoso. Firmware disse-lhes: "O Tao mentiras
além do 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. Não procura
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 - Epilogue
Assim falou o programador mestre:
"É hora de você sair."
-------------------------
Se você gostou desses, você pode também gostar de ler quanto pior, melhor



































