Hackers & Painters: Big ideas from the computer age

hackers-and-paintersEsse livro é uma coletânea de alguns artigos escritos por Paul Graham, desenvolvedor e empreendedor, entusiasta da linguagem de programação Lisp, fundador de uma empresa de e-commerce adquirida pelo Yahoo! na era pontocom e o primeiro a sugerir o uso de técnicas bayesianas no combate ao spam.

Paul Graham também é conhecido por ter opiniões radicalmente diferentes daquelas que pregam as idéias de “fábricas de software”, “engenharia de software” entre outras tantas que tentam transformar o desenvolvimento de software em algo que pode ser mecanizado e rigidamente estruturado.

O autor desse trabalho defende a idéia de que o desenvolvimento de software se assemelha mais à arte do que à engenharia e demonstra, ao longo de seus artigos, as razões que justificam essas idéias.

Concordando com ele ou não, é um livro que trás a reflexão sobre o desenvolvimento de software e só por isso já o transforma em leitura obrigatória para todo profissional dessa área.

Boa parte do material contido no livro pode ser visto diretamente no site do autor. O livro apenas reedita os artigos do site unindo-os alguns deles em apenas um capítulo e também apresenta alguns ensaios inéditos e dados mais atualizados.

Para comprar: Hackers & Painters: Big ideas from the computer age

Gostou desse artigo?

Assine a minha newsletter quinzenal e receba artigos sobre Programação, Python, Django, carreira e empreendedorismo.

[mc4wp_form]

Google – A História…

Google - A História do Negócio de Mídia de Maior Sucesso dos Nossos Tempos

Terminei de ler o livro Google – A História do Negócio de Mídia de Maior Sucesso dos Nossos Tempos ou pra resumir: Google – A História.

Todos que me conhecem sabem que sou um grande fã dessa empresa extremamente poderosa que nasceu dentro da Internet e hoje faz parte da cultura das pessoas no dia-a-dia.

Antes do Google existir eu tinha uma técnica de pesquisa na Internet que consistia em procurar pelas informações que eu precisava no Yahoo! e depois no Altavista. Eu procurava no Yahoo! porque a qualidade dos resultados era muito grande. Mas infelizmente a manutenção desses resultados era feita quase que manualmente por funcionários da empresa e ficava praticamente impossível ter uma cobertura abrangente de toda a Internet.

Quando eu não encontrava algo bom com o Yahoo! eu passava então para o Altavista que certamente encontraria aquilo que eu procurava e muitas outras coisas e é aí que começavam os problemas: essas “muitas outras coisas” eram um ruído muito grande que ofuscava os bons resultados.

Mas eu até me virava bem dessa forma até que um amigo me disse que tinha um “sitezinho” de busca que misturava as técnicas das duas empresas: “Manutenção do conteúdo de forma automatizada”. Era só eu digitar: www.google.com.

Muitas coisas que li nesse livro eu já sabia por ter acompanhado a trajetória do Google desde muito cedo mas relembrá-las despertou aquela “nostalgia” que é inerente àqueles caras que trabalham com tecnologia.

O livro não é técnico. Ele também não cobre uma série de aspectos técnicos que fazem o Google funcionar e se limita aos chavões “… o Google, com suas centenas de milhares de computadores …” ou à dar uma leve pincelada discorrendo sobre o funcionamento do PageRank (graças ao livro descobri que o “Page” do PageRank tem relação com “Larry Page” e não com “Página”).

Uma coisa legal do livro é que ele martela bastante em cima da cultura Google de Não ser mau e mostra que uma empresa não precisa sacanear com seus clientes, fornecedores e funcionários para ser lucrativa. É uma excelente lição para os empresários que existem por aí e por lá.

Trata também dos dilemas que Larry Page e o Sergey Brin enfrentaram durante a vida do Google: os protestos contra invasão de privacidade do Gmail ou o problema de aceitar a censura chinesa ao acesso à Internet.

Mas o livro não é perfeito. O último capítulo que fala sobre os planos futuros do Google na área da biologia e genética é muito chato. Tão chato que consegue comprometer a qualidade do livro como um todo. Quando eu terminei de ler um último capítulo tão chato eu fiquei com a sensação de que o livro todo era chato.

A tradução da editora Rocco costuma ser melhor do que a desse livro. Tem uma coisa que me irrita em traduções é a não inversão do adjetivo/substantivo quando o texto é vertido para o português. Gramaticalmente é correto usar a forma “adjetivo substantivo” em português mas essa forma não é muito natural e faz com que a leitura seja menos natural.

Portanto, tradutores, prefiram sempre fazer “traduções boas” no lugar de “boas traduções”.

Para comprar: Google – A História… ou Google – Story…

Expressões Regulares – Uma abordagem divertida

Expressões Regulares - Uma abordagem divertida (ISBN 8575221000)Essa será, sem sombra de dúvidas, a resenha de livro mais complicada de se escrever que já apareceu por aqui. As razões para isso são:

  1. O autor deste livro é um grande amigo meu.
  2. O meu nome consta na lista de agradecimentos da obra.
  3. Eu sinto uma inveja infinita da forma com que o esse autor escreve.
  4. Eu tenho uma edição do antigo guia de referência, que deu origem à este livro, autografada pelo autor.

O livro chegou pra mim via correio e a ansiedade fez com que o prazo de entrega da Livraria Cultura se tornasse insuportável. Mas agora que estou com ele em mãos e já tive tempo de avaliar o material e até mesmo ler uma parte significativamente grande dele eu me sinto apto a fazer essa resenha.

Primeiro de tudo o livro é pequeno (em dimensões e volume) e após folheá-lo eu pude notar que boa parte do antigo guia de referência de expressões regulares estava lá. Ótimo sinal. O guia de ER é o melhor que eu tenho.

As novidades ficam por conta de revisões e correções de “bugs” e à algumas extensões ao capítulo que trata das ferramentas. A forma de utilizar expressões regulares em novas linguagens importantes, como Ruby, fazem parte desta nova obra.

A capa é muito legal e representa fielmente a forma com que o conteúdo é exposto no livro. Diversão. Expressões Regulares são um assunto chato e por vezes complexo e a forma com que o Aurélio lida com isso é impressionante. Ele realmente transforma em diversão.

Costumo ouvir que é fácil escrever de maneira didática sobre um assunto que você domina. Eu discordo disso porque eu, modestia à parte, entendo bem de Python e não consigo escrever da mesma maneira. Outros dizem que a prática da escrita a aprimora mas também acho isso bobagem porque eu e o Aurélio costumamos escrever em quantidades muito semelhantes (ele só me ganha nesse livro 🙂 ).

Mas deixando a rasgação de seda de lado e voltando ao livro eu posso afirmar que esta obra faz parte da minha lista de “Leitura Obrigatória” que eu vinha publicando até pouco tempo atrás.

Na verdade eu acho que esse livro deveria ser dado por empresas da área de informática a seus funcionários porque as expressões regulares são uma ferramenta extremamente útil para todo tipo de profissional de nossa área, podendo ser usada por administradores de rede, e programadores.

A diagramação da editora Novatec, como sempre, é primorosa e o artifício das ilustrações melhoram ainda mais a linguagem do livro.

Aliás, eu preciso deixar aqui os meus parabéns para a editora Novatec e a sua política de apoio aos autores nacionais. O Rubens Prates (dono da editora) é o tipo de brasileiro que deveria ser usado como exemplo de empreendorismo num segmento de mercado tão importante e tão pouco valorizado pelo nosso povo. Eu só acho que ele deveria publicar um livro sobre Python na editora dele 😛 (além do guia que já foi publicado e atualmente saiu de circulação)

Uma outra observação para a Novatec fica por conta da distribuição: eu moro em Recife, uma das maiores cidades do nordeste brasileiro, e não pude encontrar o livro em nenhuma livraria daqui onde temos a Saraiva mega-store e a Livraria Cultura mega-store (entre outras).

Para comprar (não perca tempo): Expressões Regulares – Uma abordagem divertida.

Python in a Nutshell

Python in a NutshellSeguindo adiante com o review de mais um dos livros que a editora O’Reilly me enviou para avaliar irei comentar as minhas impressões sobre o livro Python in a Nutshell.

A edição que recebi em mãos e já “li” (é um livro de referência, então poucas coisas são para serem “lidas”) já está superatualizada e já cobre certos aspectos até mesmo do Python 2.5 que foi lançado somente depois do livro já ter sido publicado.

Tenho pouca coisa pra comentar sobre ele porque trata-se de um livro de consulta e não uma obra que ensina algo a alguém. Mas como referência é um excelente trabalho e até já me socorreu algumas vezes no meu trabalho.

Se fosse pra eu comprar esse livro eu não o faria. Mas não pela qualidade do livro em si mas sim pelo fato de que eu não gosto mais de livros de referência em papel. Desde que surgiram os modernos sistemas de busca na Internet consultar algo em material impresso se tornou uma tarefa muito chata. A documentação oficial da linguagem Python (disponível no site) também é muito rica para justificar a aquisição de um livro extra somente para referência.

O livro trás algumas informações extras que não estão disponíveis na documentação oficial de Python e é prático para quem gosta de consultar um assunto à maneira ‘antiga’ (no papel). Vale tê-lo em mãos, também, pelo fato dele estar atualizado para a versão atual da linguagem Python (2.5).

É verdade também que, agora que tenho o meu Python in a Nutshell, ele ficará sempre ao alcance de minhas mãos em minha mesa de trabalho.

Por último, vale lembrar que esse livro ainda não tem tradução para o português.

Para comprar: Python in a Nutshell.

O guia do mochileiro das galáxias

O guia do mochileiro das galáxiasArthur Dent é mais um daqueles terráqueos como você… normal. Ele leva a vida dele normalmente, se é que se pode chamar uma vida onde você tem que impedir a demolição da sua casa todos os dias de normal. Arthur estava preocupado com a sua casa mas nem imaginava que algo pior estava para acontecer naquela manhã em que seu amigo Ford Prefect lhe conta que ele é um alienígena e que precisa fugir porque sabe de um plano interestelar para a demolição do planeta terra visando a construção de uma rodovia interestelar. Ford Prefect é um mochileiro que, de posse de seu formidável guia, vaga pelas galáxias à procura de aventuras. Mas ele não imaginava que dessa vez a sua aventura seria tão emocionante.

É dessa maneira louca que Douglas Adams começa a sua “trilogia de cinco livros”. O “O guia do mochileiro das galáxias” é o primeiro livro dessa série que é sucedida de “O restaurante do fim do universo“, “A vida, o universo e tudo mais“, “Até logo e obrigado pelos peixes” e o quinto livro que não tem tradução para o português e é conhecido por “Mostly Harmless“.

Essa fantástica série, que surgiu de uma série produzida para uma rádio, é muito conhecida dos fãs do gênero ficção científica mas pode ser lida também por quem não aprecia muito esse gênero pois o mesmo é escrito em forma de sátira e é repleto de boas tiradas.

Em 2005 essa história foi transformada em filme que logo e transformou em sucesso de bilheteria. O filme trás uma compilação com trechos da história dos 4 primeiros volumes da série e o destaque fica para o Robô depressivo Marvin.

Esse é o livro ideal para quem pretende ter horas agradáveis de leitura e ter vários acessos de riso com as situações absolutamente inusitadas que são criadas pelo autor. O leitor mais atento também conseguirá notar algumas críticas mais ácidas ao estilo de vida britânico (o autor é inglês). O autor também apresenta respostas para questões mais profundas que tratam sobre a vida, o universo e tudo o mais levando o leitor a entender porque o número 42 é tão importante para todo o universo.

A tradução para o português feita pela editora Sextante, apesar de não ser a ideal, não compromete a qualidade do material. O único problema mais visível foi a tradução de “Babelfish” para “Peixe Tradutor” onde infelizmente não consigo sugerir nada melhor.

Atualização: O quinto livro da séria também foi traduzido para o português sob o título de “Praticamente Inofensiva“.

Para comprar: siga os links fornecidos ao longo da resenha.

A arte de fazer acontecer

A Arte de Fazer AcontecerAnda sem tempo para fazer as coisas? Vive atarefado e não consegue se organizar? Acha que os sistemas convencionais de organização de tempo não funcionam? Investir na aquisição de um organizador pessoal ou em softwares de agenda está fora de cogitação?

As respostas para essas questões sem dúvida poderão ser encontradas no livro A arte de fazer acontecer, tradução do original Getting Things Done. Nesse livro o autor David Allen, papa da organização pessoal, te ensina a adotar uma metodologia simples, leve e prática para organizar as suas atividades de maneira efetiva permitindo que lhe sobre tempo para fazer as coisas que realmente importam para uma pessoa: o convívio com a família.

De maneira fácil Allen explica etapa por etapa a adoção do seu modelo de gerenciamento de tempo e faz com que o leitor adquira hábitos saudáveis de organização que farão até mesmo as pessoas que não acreditam em gerenciamento de tempo, como eu, adotar as práticas sugeridas.

Ferramentas simples como fichas de papel, escaninhos, grampeadores, clipes, etiquetas, pastas e um calendário começarão a fazer parte do seu dia-a-dia permitindo que toda a papelada que geralmente rodeia as nossas mesas de trabalho sejam reduzidas ao ponto de se ficar com apenas o extritamente necessário para desempenhar as tarefas nas quais você está trabalhando agora. Delegar e monitorar as tarefas delegadas também se tornará algo muito fácil de ser feito.

O fato dessa sua metodologia não exigir ferramentas caras como softwares e organizadores pessoais e ser simples podem explicar porque esse livro foi sucesso de vendas nos Estados Unidos. A popularidade deste livro é tão grande que diversos sites na internet tratam de fornecer idéias e ferramentas para tornar a sua eficácia ainda maior. Uma procura rápida por “Getting Things Done” ou simplesmente “GTD” em um site de buscas certamente irá te revelar uma série de materiais valiosos.

O livro é pequeno, de fácil leitura, recheado de citações brilhantes e a tradução para o português, feita pela Editora Campus, ficou muito boa, tornando assim a assimilação do conteúdo muito mais agradável.

Para comprar: A arte de fazer acontecer ou Getting Things Done

Programming Embedded Systems, Second Edition

Programming Embedded Systems, Second EditionRecentemente recebi gratuitamente uma encomenda com 4 livros da editora O’Reilly para que eu fizesse as resenhas desses livros.

Antes de tudo eu devo avisar que essa resenha não pertence à série de resenhas que eu vinha fazendo, e que devo continuar em breve, à qual eu dei o nome de “Leitura Obrigatória”.

O livro de hoje é o Programming Embedded Systems, Second Edition. Eu já estou quase terminando a leitura deste livro e já me sinto à vontade para recomendá-lo por aqui porque eu realmente me empolguei com o material.

Como muitos já sabem eu voltei a praticar o antigo hobby de montar dispositivos eletrônicos, e desde que eu havia parado de brincar com essas coisas muita coisa mudou. Hoje em dia é muito comum encontrar microprocessadores e microcontroladores em vários projetos, e trabalhar com esses componentes exige um conhecimento que mora entre a eletrônica “pura” e a informática.

Como eu já tenho bons conhecimentos de informática e meus conhecimentos de eletrônica “pura” estavam evoluindo com a prática do meu antigo hobby, estava faltando construir a ponte que iria unir essas duas áreas do conhecimento.

Na mesma época recebi uma proposta da O’Reilly para fazer resenhas dos livros de Python deles e aproveitei para pedir alguns títulos que tratavam de dispositivos embarcados. Recebi este livro juntamente com outros 3 de Python (aguardem resenhas) e comecei a lê-lo.

O livro tem foco prático como em quase todos os títulos da editora O’Reilly. Os autores realmente irão desenvolver o assunto em cima de uma plataforma real de desenvolvimento que usa um processador ARM XScale e irão conduzir o leitor desde o ponto onde a gente faz um LED piscar até o momento onde desenvolvemos aplicações reais com RTOS e Linux.

O livro fala sobre device drivers, interrupções, registradores, memória e sobre como gerenciar e desenvolver software em C (gcc) para usar todas essas funcionalidades.

Vale destacar que esse livro fica exatamente na fronteira entre um livro de nível básico e um livro avançado, ou seja, se você não entende nada de eletrônica e muito pouco de informática esse livro não irá lhe servir. Se você também já é um especialista no assunto pode achar o livro massante demais na primeira parte que trata de assuntos mais básicos.

O próximo passo agora é adquirir um kit de desenvolvimento parecido com esse que foi proposto no livro e começar a brincar. Eu tenho certeza que eu vou me divertir muito com esse tipo de coisa depois de ler este livro.

Para comprar: Programming Embedded Systems, Second Edition

Fundamentos do desenho orientado a objetos com UML (Fundamentals of Object-Oriented design in UML)

Fundamentals of Object-Oriented design in UMLComo eu já havia comentado na minha resenha anterior (Padrões de Projeto) este livro foi fundamental para o meu entendimento sobre programação orientada à objetos. De todos os livros que considero leitura obrigatória este entrou na lista este entrou na lista mais por “gratidão aos serviços prestados” do que por ser um livro “matador”.

É bem provável que existam livros que tratam sobre o desenho orientado à objetos que são mais completos do que este mas esse me cativou pela forma como foi escrito. Ele é um livro que trata de assuntos realmente chatos e complicados de se explicar usando uma dose muito sutil de bom-humor.

Em um dos capítulos o autor, Meillir Page-Jones, lista uma série de erros comuns que são cometidos por programadores de primeira viagem e explica porque esses erros ocorrem. O exemplos citados por eles são bastante capciosos e em alguns casos a gente consegue perceber que estão errados mas não conseguimos imaginar como consertaríamos esses erros. Neste caso então ele nos acompanha passo a passo até a solução do problema listado.

Outros assuntos tratados de forma mais séria e profunda no livro são relacionados à idéia básica da POO que é desenvolver sistemas com:

  • Alta coesão
  • Baixo Acoplamento

Desenvolver componentes de software com alta coesão, baixo acoplamento e pensando em interfaces no lugar de tipos (como sugerido no livro Padrões de Projeto) certamente farão com que seus sistemas fiquem extremamente robustos. Se eles forem acompanhados de Testes automatizados (XP), refatorados constantemente (Refatoração) não consigo pensar em um adjetivo melhor do que “perfeito” para atribuir ao seu trabalho.

Eu li a versão traduzida para o português deste livro. A tradução foi feita pela editora Makron e achei a tradução razoável. Não é uma boa tradução mas a leitura e o entendimento do assunto não fica comprometida por causa dela. Me parece também que a versão traduzida saiu de circulação e por essa razão pode ser mais complicado achar a versão traduzida para comprar.

Para comprar: Fundamentos do desenho orientado a objetos com UML ou Fundamentals of Object-Oriented design in UML

Design Patterns (Padrões de Projeto) – Review

design-patterns-bookProgramo computadores há muito tempo. Quando iniciei minha ‘carreira’ usava a linguagem BASIC e LOGO em meu MSX Expert (BASIC) e um TK3000 (LOGO). A linguagem BASIC causou alguns estragos gigantescos em meu cérebro tornando superdifícil aprender a programar em uma linguagem estruturada futuramente. Foi difícil eu perder o meu apego ao “GOTO”.

Mas depois de ter lido um livro sobre Turbo Pascal, cujo nome do autor infelizmente não me recordo, todo o que eu já tinha visto sobre o paradigma procedural se encaixou magicamente e aquilo começou a fazer sentido pra mim. Eu gosto de chamar isso que aconteceu comigo de ‘iluminação’.

Então esse livro sobre Turbo Pascal me iluminou para que eu compreendesse o paradigma procedural.

Mas então os programadores gritaram: “Faça-se a OO” e a OO “se fez”. Lá fui eu novamente correr atrás de entender como essa tal de “Programação Orientada a Objetos” funcionava.

Li muita coisa. Vi muito hype em cima do assunto. Vi muita mágica sendo feita e muita mágica sendo desfeita usando-se POO. Mas aquilo ainda não fazia muito sentido pra mim.

Depois de ler um livro chamado “Fundamentos do Desenho Orientado a Objetos” (que falarei no futuro) o meu cérebro começou a criar as conexões entre todo o conhecimento que eu já tinha adquirido. Mas faltava a faísca para produzir o fogo que me iluminaria.

Com a popularização da linguagem Java vários hypes surgiram (e continuam a surgir) e entre eles estavam os “Design Patterns“. Nem dei muita atenção porque as ‘modinhas’ produzidas no universo javanista são tão duradouras quanto a fama que o grupo musical “Polegar” teve no passado.

Certo dia um livro chamado “Design Patterns” caiu em minhas mãos e resolvi folheá-lo. Notei que não tinha uma única linha de código em Java e então percebi que aquilo ali já existia antes mesmo de Java ter começado a lançar suas modinhas.

Comecei a ler o livro e em uma passagem encontrei uma frase que dizia algo parecido com: “No desenvolvimento Orientado à Objetos não desenvolva para tipos, desenvolva para interfaces.” e aí então a faísca foi lançada.

Devorei o livro rapidamente e adquiri uma cópia (uma tradução para o português que estava muito mais barata do que o original em inglês) e devorei o conteúdo em uma semana.

O livro tem alguns capítulos que introduzem o conceito de padrões, fala sobre o modelo MVC (Model-View-Controller) para separação dos componentes de uma aplicação e fala sobre alguns conceitos de OO que são bem interessantes. A partir daí temos os padrões que são catalogados de maneira a possibilitar uma rápida consulta.

Cada padrão acompanha uma descrição, um diagrama explicativo, os casos de uso, os casos onde não devemos usar tal padrão, o relacionamento desse padrão com outros e exemplos em Smalltalk e C++.

Esse livro não é adequado para pessoas que ainda não conhecem os conceitos básicos da Programação Orientada a Objetos pois ele assume que o leitor já conheça ao menos o básico sobre este assunto.

padroes-de-projeto-livroA cópia traduzida que eu tenho é editada pela Bookman e tem uma tradução excelente onde os nomes dos padrões são preservados na forma original em inglês.

Esse livro é um clássico da literatura técnica e algumas pessoas o chamam de “GoF” que é a abreviação para “Gang of Four“, uma alusão aos quatro renomados autores do livro: Erich Gamma, Richard Helm, Ralph Johnson e John Vlissides.

Para comprar: Padrões de Projeto ou Design Patterns

Gostou desse review?

Assine a minha newsletter quinzenal e receba artigos sobre Programação, Python, Django, carreira e empreendedorismo.

[mc4wp_form]

Programação Extrema Explicada (Extreme Programming Explained)

Programação Extrema Explicada (Extreme Programming Explained)Nunca gostei de estudar metodologias de desenvolvimento. Também não gostava das chatíssimas aulas de “Análise de Sistemas” que costumava assistir no curso de Processamento de Dados que fiz. E eu nunca gostei de estudar isso porque tudo que as metodologias diziam nunca se aplicava ao universo onde eu trabalhava.

Eu não trabalhava com coisas muito especiais. O tipo de software que eu costumava desenvolver era tão comum quanto os atuais sistemas de gestão para os quais essas metodologias de desenvolvimento dizem servir.

Um exemplo da minha experiência com essas metodologias ‘tradicionais’ tem relação com a análise de requisitos. Eu estudava tudo o que era dito sobre análise de requisitos e tentava aplicar no meu dia-a-dia mas nada funcionava. Eu me sentia o mais burro dos programadores por não conseguir fazer isso dar certo. Achava que o problema era comigo até perceber que o problema era do cliente.

A análise de requisitos ensinada pelos métodos convencionais não funciona porque nenhum cliente tem noção do que realmente precisa em um sistema. Eu percebi que o cliente sabe o que é o problema mas não sabe como resolvê-lo e em alguns casos ele sequer tem uma noção exata do problema a ser resolvido.

Se nem o cliente sabe do que precisa, para que serviria a melhor das análise de requisitos? De nada. E esse é o caso que se aplica apenas à análise de requisitos. Acredite em mim: eu tenho um caso desses para cada uma das etapas do desenvolvimento de uma aplicação.

Uma coisa que as metodologias de desenvolvimento atuais também assumem, de maneira errada, é que um software é algo estático. Isso é uma visão extremamente equivocada do que é software. Software é flexível, software muda (o tempo todo), software evolui, software cresce…

E é nessa diferença fundamental que a metodologia XP (eXtreme Programming) se difere das outras. Ela assume que software muda.

A algum tempo atrás, comecei a trabalhar em uma empresa que utilizava a metodologia XP para desenvolver alguns projetos. Por curiosidade fui dar uma olhada nessa metodologia e descobri que finalmente alguém, que trabalhou com desenvolvimento de software, tinha criado uma metodologia que reflete a realidade de um ambiente de desenvolvimento de software.

O livro “Programação Extrema Explicada” foi escrito por Kent Beck que é o idealizador dessa metodologia e que é o ponto de partida para muitos outros livros que detalham essa metodologia. É um livro curto, de leitura leve, e que fala direto com o desenvolvedor utilizando histórias reais no lugar de usar documentos formais e densos e chatos.

Ao mesmo tempo é um livro que ‘cutuca’ o desenvolvedor e levanta polêmicas sobre assuntos que deveriam ser debatidos por todos os desenvolvedores que já trabalharam em projetos que fracassaram.

Atualmente estou lendo a versão em português, traduzido pela editora Bookman, mesmo já tendo lido a versão original em inglês. Usando XP e relendo o livro estou confirmando que aquela sensação agradável que tive ao ler essa obra pela primeira vez é verdadeira.

Por essa razão considero a leitura desse trabalho obrigatória para todos os desenvolvedores, mesmo para aqueles que já conhecem XP e não gostam de algumas de suas propostas.

Para comprar: Programação Extrema Explicada – Acolha as mudanças ou Extreme Programming – Embrace Change