Arquivo do Dia 15 de Outubro de 2008
Novas (e antigas) técnicas de programação
Um colega me enviou um link interessante sobre o BDD (Boss Driven Development). Achei muito divertido, principalmente por ser verdade em muitas empresas. Graças a Deus, onde trabalho não é assim, mas já trabalhei em lugares onde a idéia é agradar o chefe, e a empresa como um todo fica em último plano. Realmente horrÃvel.
Usando o HT do HTML, encontrei o blog Fragmental que, entre outras coisas, falou o que penso das consultorias. Bom saber que não é opinião só minha. E, mais um link depois, achei a pérola que eu queria: um artigo que fala que nem só de VOs e BOs vivem as aplicações JavaEE.
Odeio cebolas. Tanto as leguminosas quanto as feitas em Java. As duas são amargas, cheias de camadas e fazem você chorar quando começa a mexer com elas. Para mim, não tem nada mais grotesco do que uma aplicação cebola, com mais camadas que classes.
A receita para uma aplicação cebola é simples: basta colocar um design pattern em cada recurso novo de seu sistema. “Tenho que fazer 2+2 aqui” - transforme em uma factory de operações matemáticas que recebe a operação (um command) e uma lista de operandos, todos na forma do flyweight. Afinal, daqui a uns cinco anos, alguém pode querer fazer uma subtração ou somar “1+1″.
Claro que esse exemplo é extremista, mas a realidade não é muito distante. Já vi situações em que o programador previu a possibilidade de enviar um item para vários MDBs diferentes, cada um com seu filtro próprio, para dizer se deve ir ou não para aquele destino. Ótima idéia, mas a aplicação ficou dois anos em produção até surgir a possibilidade do segundo MDB e, quando surgiu, esse pattern foi a primeira coisa ejetada da aplicação, pois o filtro iria para outra aplicação.
Pergunto: adiantou levar todo esse tempo para elaborar esse arcabouço?
Nenhum comentárioQuero ser Babaca Malkovich
Ao ler um post interessante sobre a Microsoft querendo lançar o “Windows Cloud”, deparei-me com o comentário de um sujeito que se entitula “Breno Alves” chamando a Microsoft de “babaca” por querer ser a primeira a lançar tudo.
Um comentário desses nem merece resposta, mas, como estou aguardando minha próxima demanda aqui no trabalho, tenho um ou outro minuto para jogar fora respondendo. A resposta ficou tão grande que decidi colocá-la no meu blog.
Aliás, falando em trabalho, torço para que ele seja um bom trabalhador e que goste disso, pois uma atitude dessas é tÃpica de alguém que vai passar a vida toda trabalhando para outros, sem nunca atingir um cargo de chefia.
Se é babaca querer ser o primeiro, eu quero ser o maior babaca do mundo. Aqui, mesmo, já fiz a babaquice de resolver todas as minhas demandas da quinzena além de outras que nem estavam no cronograma, mais uns problemas que ninguém sabia da existência e adiantar alguns projetos pessoas. Foi uma semana bem produtiva (quer dizer, bem “babaca”).
Imagino se “babacas” como o William Henry “Bill” Gates III ou o meu guru financeiro Warren Edward Buffett teriam verdadeiros impérios se fossem esperar algum outro “babaca” concorrente sair na frente? Se bem que, se não fosse o “babaca” do Bill Gates, a humanidade não teria que lidar com comentários como esse, pois ele provavelmente nem teria acesso a um “computador pessoal”.
Aliás, quem não lembra dos celulares que os “babacas” de décadas atrás lançaram primeiro? Enormes, pesados, chiavam mais que tudo e funcionavam só em lugares e poses bem especÃficos (além de cobrarem para RECEBER a ligação). Quer comparar eles com o iPhone, que surgiu DECADAS depois?
Até fico com a sensação que esse tipo de pessoa acha que é só fazer “plim” e aparece uma super-power tecnologia nova. Antes do google nascer, houve engines podres de pesquisa (quem lembra das primeiras versões do Yahoo?). Antes dos monitores LCD nem existiam monitores (alguém lembra que o MSX ligava na televisão?) - lembrando que hoje você paga caro por uma placa que ligue na TV. Aliás, antes do Windows (ou até do DOS) nascer, houve um negócio chamado terminal burro… Já ouviu falar? Usei todas essas “babaquices”, e nunca vi problemas nelas. Na época, era a única opção - hoje é “retrô” e divertido lembrar.
Detalhes: também odeio os problemas do Windows, mas aprendi a entendê-los e a lidar com eles. Acho que só vi uma tela azul nesse ano, e foi quando meu HD pifou com o computador ligado - e o “gatinho” sobreviveu muito tempo antes de aparecer a BSOD.
Aliás, o “Breno” também falou de problemas, que, segundo ele, era do Windows: “Conflito de IP” e “Estouro de Pilha”. “Conflito de IP” eu só vi quando tinha uma anta gerenciando os endereços da rede. Anta que, no mÃnimo, não sabia associar IP ao MAC. “Estouro de pilha” eu via no século passado, quando programava Pascal e fazia uma recursividade infinita no DOS com um stack de 16k ou menos. Aliás, esses dois problemas só ocorreram por causa de BIOS (Bicho Ignorante Operando o Sistema).
Já programei sistemas dos menores aos mais monstruosos. Todos, sem exceção, tem algum problema. Testar, achar e corrigir bugs não é fácil. Tente só CONCEBER um cenário de testes (fictÃcio) do tipo “se o Windows for XP sem o KB123456, mas com o KB123444, com o Word 2003 visualizando um documento 97 com uma figura .PNG 320×120 vinculada, o Windows trava por que a biblioteca XPTO.DLL (que o KB123444 altera, o KB123456 desativa, o Word 2003 usa para descompactar o ZLIB do PNG do DOC versão 97 e o KERNEL32 usa para abrir uma parte do cabeçalho das pastas NTFS compactadas) recebe um buffer de exatos 123kb, que gera um erro de módulo zero, que gera um E_ACCESS que é camuflado, e bloqueia as futuras chamadas do KERNEL32″.
ImpossÃvel testar um caso tão absurdamente especÃfico. Só em produção, mesmo. E tome-lhe tela azul e usuário xingando. Eu agradeço por ser uma tela azul, e não um “seu arquivo foi perdido”. Ou, como um BIOS que um dia foi concertar (aquilo não foi um conserto) meu PC e, ao ver que o supracitado não efetuava o boot, simplesmente FORMATOU o HD. Detalhe que anos depois eu tive o mesmo problema e descobri que foi só mau contato.
1 comentário