23 abril, 2007

Como programador mata dragão?

Para quem nunca viu esse texto, leia pois é muito interessante. É uma brincadeira com diversas linguagens e formatos usados para matar dragões, isto é, cada programador desenvolve seu sistema para matar um dragão e salvar a princesa. Cada um tem seu final de acordo com suas famas e capacidades.
Achei ser um texto legal para postar, já que vivemos de programação!

Enfim, com qual você se identifica?


Java

Chega, encontra o dragão, desenvolve um framework para aniquilamento de dragoes em multiplas camadas, escreve varios artigos sobre o framework mas nao mata o dragao.

.NET
Chega, olha a ideia do Javanes e a copia, tenta matar o dragao, mas é comido pelo reptil.

C
Chega, olha para o dragao com olhar de desprezo, puxa seu canivete, degola o dragao, encontra a princesa, mas a ignora para ver os ultimos checkins no cvs do kernel do linux.

C++
cria um canivete basico e vai juntando funcionalidades até ter uma espada complexa que apenas ele consegue entender ... mata o dragao mas trava no meio da ponte por causa dos memory leaks.

COBOL
Chega, olha o dragao, pensa que ta velho demais para conseguir matar um bicho daquele tamanho e pegar a princesa e, então, vai embora.

Pascal
Se prepara durante 10 anos para criar um sistema de aniquilamento de dragao ... chegando lá descobre q o programa só aceita lagartixas como entrada.

VB
monta uma arma de destruição de dragoes a partir de varios componentes, parte pro pau pra cima do dragao e, na hora H, descobre que a espada só funciona durante noites chuvosas...

PL/SQL
Coleta dados de outros matadores de dragão, cria tabelas com N relacionamentos complexidade ternaria, dados em 3 dimensões, OLAP, demora 15 anos para processar a informação. Enquanto isso a princesa virou lésbica.

Ruby
chega com uma p*t* fama, falando que é o melhor faz tudo, quando vai enfrentar o dragão mostra um videozinho dele matando um dragao ... o dragão come ele de tédio.

Smalltalk
chega, analisa o dragao e a princesa, vira as costas e vai embora, pois eles sao muito inferiores.

shell
cria uma arma poderosa para matar os dragoes, mas, na hora H, nao se lembra como usá-la.

shell(2)
o cara chega no dragão com um script de 2 linhas que mata, corta, stripa, empala, pica em pedacinhos e impalha o bicho, mas na hora q ele roda o script aumenta, engorda, enfurece, e coloca alcool no fogo do dragão.

ASSEMBLY
acha que ta fazendo o mais certo e enxuto, porém troca um A por D, mata a princesa e transa com o dragão.

Fortran
Chega desenvolve uma solução com 45000 linhas de codigo, mata o dragão vai ao encontro da princesa ... mas esta o chama de tiuzinho e sai correndo atras do programador java que era elegante e ficou rico.

FOX PRO
Desenvolve um sistema para matar o dragão, por fora é bunitinho e funciona, mas por dentro está tudo remendado, quando ele vai executar o aniquilador de dragoes lembra que esqueceu de indexar os DBF.

ANALISTA DE PROCESSOS
Chega ao dragão com duas toneladas de documentação desenvolvida sobre o processo de se matar um dragão genérico, desenvolve um fluxograma super complexo para libertar a princesa e se casar com ela, convence o dragão que aquilo vai ser bom pra ele, e que não será doloroso. Ao executar o processo ele estima o esforço e o tamanho do estrago que isso vai causar, a assinatura do papa, do buda e do Raul Seixas para o plano, e então compra 2 bombas nucleares, 45 canhões, 1 porta aviões, contrata 300 homens armados até os dentes, qdo na verdade necessitaria apenas da espada que estava na sua mão o tempo todo.

CLIPPER
Monta uma rotina que carrega um array de codeblocks para insultar o dragão, cantar a princesa, carregar a espada para memória, moer o dragão, limpar a sujeira, lascar leite condensado com morangos na princesa gostosa, transar com a princesa, tomar banho, ligar o carro, colocar gasolina e voltar pra casa. Na hora de rodar recebe um "Bound Error: Array Access" e o dragão come ele com farinha.


Um abraço a todos!


Vinícius Luiz

17 abril, 2007

O que podemos aprender com OO + BBB - Liçoes para a vida inteira.

Olá amigos!
Tive pensando em algo essa semana que me deixou meio encabulado quanto a essas
analogias que temos feito entre a VIDA REAL e o mundo da ORIENTAÇÃO A OBJETOS.

Os primeiros dias do Big Brother Brasil, por exemplo, mostra o quanto conseguimos aplicar de maneira errada nossos conceitos e, mais cedo ou mais tarde, o "PROGRAMA DA VIDA" do cara vai dar um "PAU" tão sinistro que pode ocasionar a sua eliminação na casa. Não sei se vocês conseguiram captar o que analisei, mas tipo, se você pegar um programa, utilizar um "Comportamento" de forma inadequada ou usar algo que o objeto não faça, o que irá acontecer?

Então! O Diego Alemão, vencedor do BBB7, simplesmente utilizou seu comportamento de forma adequada e exatamente como é. Apesar de ser maladrão e tals, o cara ganhou por manter sua postura de fora, dentro da casa. Já outros participantes, não se deram tão bem. O Alberto, por exemplo, foi um jogador dentro da casa, usou táticas e estratégias para fazer as escolhas. Essa visão de estratégista que mostrou na casa não é a dele, então, foi odiado por milhões de brasileiros. Isso se chama utilização inadequada de Comportamentos pessoais.
Você pode até não concordar, mas o que ocasionou a fama do Cowboy foi exatamente ser lá dentro o que não é aqui fora. Claro que com um pouco de influencia das edições da Globo!

Enfim, a utilização bem feita de comportamentos levam qualquer um ao objetivo principal, sejam eles físicos ou virtuais.
Isso que podemos aprender, a ser nós mesmo!
Parece até um livro de auto-ajuda não? Rsrs

Então é isso! Vou procurar fazer essas comparações para facilitar nossa discussão.


Até a próxima amigos.
[]'s


Vinícius Luiz.

02 abril, 2007

Quem não possui instâncias que atire a primeira pedra!

Olá amigos! Quanto tempo hein!

Vamos tentar dar prosseguimento em nosso projeto!

Assim como os sistemas, nós podemos ser formados por inúmeros objetos ativos (sem trocadilhos!). E cada objeto desse, em particular, é chamado de Instância. E essas diferentes instâncias possuem estados próprios.
Encontrei um exemplo muito interessante em uma aportila de OO feita por Daniel Destro do Carmo.
Segue abaixo um exemplo de nossas instâncias:



Conforme o que já conversamos, cada instância de pessoa possui um estado diferente,
Porém, cada instância, além do estado, também possui seus métodos
(comportamento) que operam sobre o próprio estado. Em outras palavras,
para pular, cada pessoa vai fazer uma determinada força dependendo da
sua idade, altura e peso, por exemplo. Algo que já discutimos no terceiro post no dia 20 de julho de 2006.

Enfim, essa explicação deixa mais clara nossa relação (sem malícia) com sistemas e faz com que apliquemos cada vez mais essas teorias em nossas vidas!
O que acha de mostrarmos nossas instâncias em pessoal? Pode ser engraçado!!!

Então, é isso. Um abraço a todos e até mais!



Vídeo interessante: Bill Gates e o lançamento do Windows 98 na CNN



Vinícius Luiz.