Uma Aventura com uma Princesa, um Cavaleiro e um Dragão!

Apesar de utilizar de elementos fantasiosos e uma boa dose de humor, ajuda a entender um pouco mais (ou menos) as tão diferentes linguagens de programação. Tal análise (com uma boa pitada de humor e que não retrata nem a opinião deste Blog nem envolvidos) só reforça a seguinte premissa: não existe uma melhor linguagem de programação, mas sim a que melhor se adequá a esta ou aquela ocasião.

Esta história (fazendo uso de uma Princesa, um Cavaleiro e um Dragão), (tentar) explicar as diferentes linguagens.

Sendo aí vai a relação.

Encarem com descontração e reflitam se tais afirmações se encaixam na análise feita:

Para entender as diferentes linguagens de programação, vamos imaginar uma situação e seus respectivos desfechos na abordagem de cada estilo:

No alto do castelo, há uma linda Princesa – muito carente – que foi ali trancada, e é guardada por um grande e terrível dragão”.
E o Programador sera o Cavaleiro

Veja como cada programador de uma certa linguagem agiria nesta situação:

Java
Chega, encontra o dragão. Desenvolve um framework para aniquilamento de dragões em múltiplas camadas. Escreve vários artigos sobre o framework, mas não mata o dragão.

.NET
Chega, olha a ideia do Javanês e a copia, tenta matar o dragão, mas é comido pelo réptil.

C
Chega, olha para o dragão com olhar de desprezo, puxa seu canivete, degola o dragão. Encontra a princesa, mas a ignora para ver os últimos checkins no cvs do kernel do linux.

C++
Cria um canivete básico e vai juntando funcionalidades até ter uma espada complexa que apenas ele consegue entender ? Mata o dragão, mas trava no meio da ponte por causa dos memory leaks.

COBOL
Chega,olha o dragão, pensa que tá velho demais para conseguir matar um bicho daquele tamanho e pegar a princesa e, então, vai embora de volta ao seu mundinho.

Pascal
Se prepara durante 10 anos para criar um sistema de aniquilamento de dragão? Chegando lá descobre que o programa só aceita lagartixas como entrada.

VB
Monta uma arma de destruição de dragões a partir de vários componentes, parte pro pau pra cima do dragão 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 de 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 baita fama, falando que é o melhor faz tudo, quando vai enfrentar o dragão mostra um videozinho dele matando um dragão ? O dragão come ele de tédio.

Smalltalk
chega, analisa o dragão e a princesa, vira as costas e vai embora, pois eles são muito inferiores.

Shell
A uma arma poderosa para matar os dragões, mas, na hora H, não se lembra como usá-la.

Shell (2)
O cara chega no dragão com um script de 2 linhas que mata, corta, estripa, empala, pica em pedacinhos e empalha o bicho, mas na hora que ele roda, o script aumenta, engorda, enfurece e coloca álcool no fogo do dragão.

ASSEMBLY
Acha que está 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 código, mata o dragão vai ao encontro da princesa ? mas esta o chama de tiuzinho e sai correndo atrás 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 dragões lembra que esqueceu de indexar os DBF’s.

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.

É mais ou menos isso o que cada programador faz com a sua linguagem, lembrando que é apenas um historia, que nada do que esta descrito acima tem fundamentos verídicos.