Webinsider

Desenvolvimento - Tecnologia

Handerson Ferreira Gomes
Programação

Zen e a arte de programar

20 de julho de 2000, 0:00

Resolver problemas complexos com soluções simples é um dos maiores desafios da área de tecnologia.

Por Handerson Ferreira Gomes

Diz a lenda que um nobre da antiga China certa vez perguntou ao seu médico, membro de uma família de terapeutas, qual de seus familiares era mais hábil na arte da medicina.

O médico, de uma reputação tão difundida que seu nome era sinônimo da própria ciência médica na China, respondeu: “Meu irmão mais velho percebe o espírito da doença e o remove antes que possa assumir qualquer forma, e por isso seu nome não sai de casa. Meu segundo irmão mais velho cura a doença quando esta ainda é bem pequena, e por isso seu nome não passa da vizinhança.

Quanto a mim, perfuro as veias, prescrevo poções e massageio a pele, e por isso, de tempos em tempos, meu nome cruza as fronteiras e chega aos ouvidos dos nobres.”

Este talvez seja um dos maiores desafios da área tecnológica, resolver problemas complexos com soluções simples. Temos sempre a vontade de fazer algo grande, complexo, difícil, para que possamos nos superar, aparecer na mídia, superar a máquina e até mesmo algumas vezes a tecnologia que estamos usando.

Tenho acompanhado dezenas de estudantes desenvolvendo sistemas complexos e trabalhosos que pouco serão aplicados no dia–a–dia, um verdadeiro genocídio de idéias e esforço intelectual.

Achar que todo o aval tecnológico existente deve ser usado em um projeto não é uma regra e nem sempre uma recomendação. Partir do desenvolvimento de uma solução para encontrar em seguida problemas que ela resolva não é a melhor forma de desenvolver um sistema. E por incrível que pareça, conheço vários sistemas que começaram assim.

A adoção de soluções simples no desenvolvimento de projetos resulta quase sempre em vários ganhos, como facilidade de manutenção do código, utilização de menos recursos de servidores, facilidade de contratação de recursos para agregar valor a equipe, para citar alguns.

Mas atenção, todo cuidado para não confundir simplicidade com comodidade. Desenvolver um sistema sem se preocupar com concorrência a base de dados, performance de acesso, disponibilidade e portabilidade não é ser simples, é ser cômodo e isso é imperdoável e crucial.

Mas nem sempre a melhor solução é a mais simples, certamente alguns projetos necessitam de uma boa dose de tecnologia e algumas vezes teremos que fazer como o médico, perfurando veias e prescrevendo poções, mas isto se aplica nos casos mais graves.

Como diz a lenda, a verdadeira arte não consiste em resolver o complexo, mas não deixá–lo complicar–se. Buscar a simplicidade. Paradoxalmente a simplicidade é difícil de ser conquistada e mais ainda de ser reconhecida. Por que?

Porque é conseguida no plano das idéias, em nossa cabeça, e não numa impressionante sucessão de classes, métodos e packages. Pouca gente sabe “ler” a beleza de uma solução simples, mesmo porque, se for mesmo simples, vai parecer natural, e portanto não parecerá obra do pensar … Não se fica famoso por fazer coisas simples, mesmo quando fazê–lo exige gênio e sabedoria.

O Tao Te King tem algo sobre isso (que, claro, serve para tudo na vida ):

“Planeja o difícil enquanto é fácil, faz o que é grande enquanto ainda é pequeno. As coisas mais difíceis devem ser feitas enquanto ainda são fáceis, as maiores enquanto ainda são pequenas. Por isso o sábio nunca faz o que é grande, e é por este motivo que alcança a grandeza”.

Baseado no texto original de Milton Adrião [web insider]

Sobre o autor

Handerson Ferreira GomesHanderson Ferreira Gomes (handerson.gomes@summa-tech.com) é consultor senior da Summa Technologies nos Estados Unidos.

Apoio:

  • LayerDev Serviços de Webhosting Profissional

Palavras-chave relacionadas a este texto: []

Comentários

6 pessoas comentaram o artigo "Zen e a arte de programar"

Ramon Bispo Data: 01/08/2006 às 15:09

Atividade:

Cidade: Rio de Janeiro

Perfeito!

roger Data: 03/08/2006 às 18:03

Atividade:

Cidade:

legal

Fernando Aquino Data: 04/08/2006 às 10:18

Atividade:

Cidade:

Esse eu tive o privilégio de ler em 2000, quando saiu do forno =). Parece que foi escrito ontem!

Renan Lima Data: 07/08/2006 às 0:07

Atividade:

Cidade: Rio de Janeiro

Eu já não tive esta sorte Fernando, lí hoje o artigo e gostei muito..

Não tem muito o que dizer..

…como disse o Ramos: PERFEITO !

Marcelo Data: 07/08/2006 às 10:41

Atividade:

Cidade:

Belo paralelo com o livro Zen e a Arte para Manutenção de Motocicletas… que caiu em minhas mãos, conhecidentemente, bem quando eu iniciava meus estudos em programação…

Recomendado!

Hélio correa Data: 17/12/2007 às 15:31

Atividade:

Cidade:

também gostei ainda nao li este livro mas vou procurar por ele

Avisos
Os ítens com asterisco ( * ) são campos de preenchimento obrigatório.
Todos os links inseridos nos comentários possuem o atributo rel="nofollow" para impedir com que user agents (como os mecanismos de busca) sigam os links inseridos para desestimular spammers.
Todos devem se identificar através de e-mail válido.
Os e-mails dos usuários não serão divulgados no site.
Comentários:

Preencha os dados abaixo e clique em enviar

Webinsider