O Zen de Python
por Tim Peters
Acho que muitas boas práticas de programação estão incluídas neste texto e, principalmente, muitas características positivas da linguagem Python, como:
por Tim Peters
Bonito é melhor que feio.
Explícito é melhor que implícito.
Simples é melhor que complexo.
Complexo é melhor que complicado.
Plano é melhor que aninhado.
Esparso é melhor que denso.
Legibilidade conta.
Casos especiais não são especiais o bastante para se quebrar as regras.
Embora a simplicidade supere o purismo.
Erros nunca deveriam passar silenciosamente.
A menos que explicitamente silenciados.
Ao encarar a ambiguidade, recuse a tentação de adivinhar.
Deveria haver uma – e preferencialmente apenas uma – maneira óbvia de se fazer isto.
Embora aquela maneira possa não ser óbvia à primeira vista se você não for holandês.
Agora é melhor que nunca.
Embora nunca, seja muitas vezes melhor que pra já.
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 idéia estupenda – vamos fazer mais deles!
Acho que muitas boas práticas de programação estão incluídas neste texto e, principalmente, muitas características positivas da linguagem Python, como:
Legibilidade conta.Por isso eu acho que fazer desses conhecimentos, hábitos, pode ser muito positivo para o trabalho de programadores de quaisquer linguagens.
Notas
- Zen – De acordo com o Wikicionário: Do japonês zen (meditação religiosa).
- O texto, aqui traduzido, pode ser obtido a partir do próprio interpretador Python (é um Easter Egg). Para isto, basta usar a seguinte linha de código:
import this
Atualizações
- 2009/02/26 – exatamente agora passa a ser traduzida como pra já, atendendo a sugestão do leitor anônimo.
- 2008/10/23 – Namespaces deixa de ser traduzida e a observação sobre ela é excluída. Purity e may be passam a ser traduzidos, respectivamente como purismo e pode ser. [Agradecimentos a Vinícius Assef e ao companheiro anônimo pelos comentários que estimularam estas mudanças!]
Ótimo post. Não conhecia este easter egg. Acredito que há coisas que ficam mais claras não traduzidas. Para mim, namespace é uma delas.
ResponderExcluirEu também não gostei muito da tradução. Por isso deixei uma nota no final do texto. Estou pensando em não traduzir esta palavra, alterando o post, mas ainda não decidi...
ResponderExcluirObrigado pelo comentário! :)
Eu trocaria "Embora a simplicidade supere a pureza" por "Embora a simplicidade supere o purismo".
ResponderExcluirTrocaria também "Se a implementação é fácil de explicar, deve ser uma boa idéia." por "Se a implementação é fácil de explicar, pode ser uma boa idéia."
Também não traduziria Namespaces, por ser um termo técnico.
No mais, ficou legal. :-)
Boas observações, Vinícius!
ResponderExcluirJá vou alterar o texto.
Quanto a namespaces, vou deixar de traduzi-lo.
:)
"Pra já" ou "pra agora" é mais veemente e traduz melhor a idéia do que "exatamente agora".
ResponderExcluir;-)
Salve!
ResponderExcluirBoa ideia, cara! Não tinha visto por esse lado. Já alterei o texto, mas faltou o seu nome para dar os créditos...
[]!
Utilizei sua tradução no meu blog.... mas citei a fonte ok ...
ResponderExcluirDeixei o link no website do comentário.
Grande abraço
@Valdinei Valeu, cara! ;-)
ResponderExcluirVlw Cara post muito maneiro
ResponderExcluir