Knuth, TDD e $2.56

April 27th, 2008 § 5 comments

Uma entrevista muito interessante como Donald Knuth está fazendo as rondas na Internet e há gente comentando sobre o fato de que o velho mestre não só não é muito fã de TDD (e suas variantes) como não gosta de quase nada no que se refere a Extreme Programming.

O Phillip Calçado já escreveu sobre o assunto brevemente, referenciando Keith Braithwaite, que diz:

  1. Você não é Donald Knuth;
  2. Você está preparado para fazer o que Knuth faz para que seus programas funcionem sem TDD?
  3. Se sim, quem vai lhe pagar por isto?

Como Braithwaite diz, a vida de um programador como Knuth, que vive de pesquisas e escrever seus livros é completamente diferente de um programador em uma empresa qualquer, lidando com dezenas de outras variáveis, equipes, sistemas, integrações, etc. Não que isso queria dizer nada em termos de melhor ou pior, somente que situações diferentes precisam de estratégias diferentes. TDD e Extreme Programming são uma resposta ao tipo de aplicação que muda constantemente e que geralmente é integrada ao longo de um amplo espectro de pessoas e interfaces. Além de ser um poderoso fator motivador, TDD serve como um fallback para o tipo de problemas que aparecem constantemente quando a especificação do código muda diariamente.

Vale lembra que Donald Knuth investe centenas de horas em seus programas–usando principalmente literate programming que, primeiro, requer que o código seja verbalizado, e, segundo, funciona como uma espécie de TDD em prosa. Da mesma forma, ele fechou o código original do TeX e não divide o controle do mesmo com ninguém. Em outras palavras, é um projeto de um homem só em que ele pode ser tão detalhado quando quiser. Finalmente, como já foi mencionado por outros, ele oferece $2.56 por bug encontrado em seu código ou algoritmos.

Em outras palavras, se você quer descartar TDD porque você não quer fazer ou qualquer outro motivo similar, ótimo. Agora, se é porque o que Donald Knuth disse lhe deu um warm feeling inside de vindicação, me lembre de nunca chegar perto do seu código.

Tagged

§ 5 Responses to Knuth, TDD e $2.56"

  • […] o único propósito de colocar mais lenha na atual discussão sobre a entrevista do Donald Knuth, segue a minha […]

  • Concordo totalmente com a conclusão no último parágrafo, mas queria fazer uma observação:

    Acho engraçado como programadores importantes, como Knuth, são tratados como deuses e ditadores de regras inquebráveis quando confirmam o que aceitamos como verdade absoluta e, quando discordam, rapidamente se transformam em programadores «que vive de pesquisas e escrever seus livros», «completamente diferentes de um programador em uma empresa qualquer».

    []’s
    Cacilhas, La Batalema

  • Ronaldo says:

    Opa, Rodrigo! Eu considero o Knuth um excelente programador e acho que ele realmente está acima da maioria dos programadores, mas não o consideraria um deus ou seguiria qualquer coisa que ele diz simplesmente por que ele disse. E também acho que ele vive em um mundo diferente, mas nem por isso melhor do que o de outros programadores. Eu gosto de pesquisa, por exemplo, mas não sei de daria certo trabalhando com programação academicamente. Com literatura, sim; programação, não. :-)

    Existem muitos mundos de programação diferentes. Eu já passei por vários e gosto de todos. Só não quero ficar preso em um por tempo demais. Mas, pelo menos na minha experiência, regras diferentes se aplicam a situação diferentes. Dito isso, acho que concordamos. :-)

  • Luiz Rocha says:

    É uma questão de validação. Praticar o que um grande ícone do seu ramo pratica valida o ego de um desenvolvedor — sou comparável ao Knuth, faço como ele.

    Mas quando se acredita em alguma coisa e alguém com grande diferencial faz diferente, muitos repudiam por perderem sua validação e outros seguem ele por pura necessidade de validação.

    O difícil — e eu acho que em tempo de internet, cada vez mais difícil mesmo — é ter a sua própria opinião, balisada pela sua experiência e seus próprios “achismos” e não depender de exemplos e associações com os grandes figurões.

  • Robson says:

    Programação é muito bom principalmente quem já programa ah um bom tempo, mas dá um trabalho pra aprender ainda e que é mais trabalhoso e leva muita surra, depois é só alegria e virar definitivamente um garoto ou garota de programa.

Leave a Reply

Your email address will not be published. Required fields are marked *

What's this?

You are currently reading Knuth, TDD e $2.56 at Superfície Reflexiva.

meta