jueves, octubre 12, 2006

¿Te han acertado el lenguaje?

Java - Llega, encuentra al dragón, desarrolla un framework para aniquilación de Dragones en múltiples capas, escribe varios artículos sobre el framework... pero no mata al dragón.

.NET - Llega, ve la idea del desarrollador de Java y la copia, intenta matar al dragón, pero el bicho se lo come.


ASP (el primo de .Net) - ¿Quién no fue invitado a matar el dragón demanda a esta Web por 2.000.000 por discriminación, se reparte el dinero con el dragón y se van a vivir juntos a Florida.

C - Llega, mira al dragón con mirada de desprecio, tira de espada, degolla al dragón, encuentra a la princesa...y la ignora para ver los últimos checkins del cvs del kernel de Linux.


HTML - Monta una web sobre espadas famosas usadas para matar dragones, pero se pasa los estándares W3C por el forro. Cuando se encara con el dragón descubre que el código no es compatible con su navegador, por lo que se queda compuesto y sin espada. El dragón se lo merienda como aperitivo. (Darkblade, barrapunto)

PHP - Crea una página web que al ejecutarla eliminará al $dragón tirando de una base de datos de armas en MySQL y sobre un servidor Apache. Sin embargo, se olvidó el Where en la query de delete y mata a la princesa, al dragón, a los campesinos, a la bruja, al hechicero y al propio programador.


Analista funcional - Define todos las posibles ataques del dragón, llamaradas, posibles puntos débiles y fuertes, su árbol genealógico, etc. Para cuando tiene listo un primer prototipo, los tataranietos de la princesa se cargan al caballero por el sólo hecho de insinuar el matar a su mascota preferida.

XML/XSLT - Convierten al dragon a XML, lo pasan por un XSLT inintelegible, y sale una lagartija mareada que ni recuerda para que estaba ahi, y nadie recuerda para que se hizo eso, solo saben que XML es cool y que debe servir para algo. Asi que luego le aplican un XSLT para ver si sale algo util, en vano. La princesa queda serializada en algun XML pero no la pueden rescatar porque el schema no se encuentra en ninguna parte.

Software Libre - Si el Dragon adopta la GPL, está todo bien: bravo dragón, princesa mala, la próxima versión de Hurd se llamará Draco, etc. Si no, dragón malvado, propietario, no ético, dragón malo y perverso, todos nuestros post en todos los postnukes del planeta, irán contra tí. Y el dragón sigue vivo...

COBOL - Llega, ve al dragón y piensa que es demasiado viejo para conseguir matar un bicho de ese tamaño y quedarse con la princesa, y entonces se va.

Pascal - Se prepara durante 10 años para crear un sistema de aniquilación de dragones... cuando llega el momento descubre que el programa sólo acepta lagartijas como entrada.

Delphi - Crear una serie de componentes para eliminar dragones, pero cuando se da cuenta esta corriendo en otro ambiente y los componentes son inutiles para este tipo de dragon, asi que mata al caballero y se coje a la princesa. Luego el dragon se los come.

VB - Monta un arma de destrucción de dragones a partir de varios componentes, salta encima del lomo del dragón, y en la hora H descubre que la espada sólo funciona durante las noches de lluvia...

PL/SQL - Recoge datos de otros matadores de dragones, crea tablas con N relaciones de complejidad ternaria, datos en tres dimensiones, OLAP, tarda quince años para procesar la información... y para entonces la princesa se volvió le[sb]iana.

Ensamblador - Cree que está haciendo lo más correcto y eficiente...pero pone un A en lugar de un D y mata a la princesa para terminar fol[lá]ndose al dragón.

FOX PRO - Desarrolla un sistema para matar al dragón. Por fuera es precioso y funciona, pero por dentro está todo parcheado y cuando va a ejecutar el aniquilador de dragones recuerda que olvidó indexar los DBF.

ANALISTA DE PROCESOS - Se acerca al dragón con dos toneladas de documentación desarrollada sobre el proceso de matar un dragón genérico, desarrolla un DFD para liberar a la princesa y casarse con ella, convence al dragón de que es lo mejor para él y que no va a doler.
Al ejecutar el proceso estima el esfuerzo y el tamaño del daño que causará con la firma del Papa, de Buda y de Joan Manuel Serrat para el plano, y entonces compra dos bombas nucleares, 45 cañones, un portaaviones y contrata a 300 hombres armados hasta los dientes...
Cuando en realidad tan sólo el dragón ya se fue... obviamente con la princesa (ella contenta)...

_BLOCKED SCRIPT - El programador intenta matar al gran dragón verde que lanza fuego por la boca. Crean un script que borrará al dragón cuando cargue una página web para unos segundos después crear unas damiselas que lancen flores y hagan soniditos de aplausos. Por desgracia no tuvo en cuenta la estructura Dom del lagarto, también conocido como Mozilla, y lo único que
consigue es rellenar su consola de errores y que el libro de Mozilla narre como acabó devorado.

Programador de videojuegos - Se pasa dos años programando una espada state of the art, con shaders y todo. A la hora de matar al dragón se encuentra con que la mitad de los caballeros no tienen fuerza para mover la espada. Luego alguien programa un parche que revela las escenas de se[x]o con la princesa y Hillary Clinton le monta un escándalo (rogerdv, en barrapunto).

Perl - El caballero decide matar al dragón con una expresión regular, pero se equivoca en los caracteres de comodín y acaba incluyendo en el patrón de mortalidad a Dragones, Iguanas, lagartos, perros, gatos, osos, princesas y ratones.

LISP - Envuelve al dragon en una serie de parentesis infinito, y lo asfixia. Como nunca vuelve de esa funcion recursiva, no llega a procesar princesa.

APL - Designa una letra griega para representar dragon, le aplica la identidad, y luego lo hace desaparecer en una sarta inintelegible de aplicaciones de funciones.

Maquina de Turing - pone al dragon en alguna parte de la cinta de entrada, y haciendola avanzar y retroceder, consigue que el dragon se maree, vomite, y muera ahogado en su propio vomito. La princesa, lamentablemente, sigue la misma suerte.

Prolog - se escribe un predicado dragon(X), y en la parte derecha le pone tantos "cut" que el dragon muere desangrado. Nunca tiene un fail, asi que no llega al predicado princesa(Y), donde a la derecha, hay predicados referidos a sexo sin limite, algo como princesa(Y) :- sexocon(Y), princesa(Y).

Kernel de Linux - pone al dragon al final de la tabla de procesos, y le aplica un parche que ejecuta todos los procesos menos el ultimo, asi que el dragon deja de existir. Cuidado, que con un rootkit, puede hacer que el dragon se convierta en administrador. Princesa no existe: no hay mujeres en
Linux.

NUnit, JUnit - se escribe un test que prueba si el dragon existe, si tiene hambre, si esta despierto, si esta enojado. Se lo ejecuta a cada momento, con integracion continua, y el pobre dragon se suicida, ante tal panorama de vida. Mientras, todos los test de la princesa quedan en verde.

Smalltalk - Los programadores de Smalltalk no se dedican a matar dragones. No, ellos no programan. No, ellos tienen un ambiente. No, no insistan, no es programar. Ni tampoco son objetos. No les hablen de Java, .NET o dragones. No, estan todos equivocados. Ellos saben que es la realidad y todo eso, porque la simulan. Crean su propio universo, sin dragones, sin gente molesta que "dice que programa", y lo guardan en la imagen, que es imposible de subir a memoria, en ningun otra variante de Smalltalk que la original....

SOA - Arman el contrato MatarDragon, arman el mensaje Dragon, Princesa, lo envian por Indigo o el nuevo framework de IBM, alguien en alguna parte se olvide de actualizar el contrato, todo aborta, todo desaparece, y todo el departamento de IT se pregunta: "donde m... fue a parar ese mensaje??"

UML - Arman el diagrama de clases Dragon, Princesa. Tratan de aplicarle un caso de uso Matar Dragon. Comienza sencillo, pero de pronto explota en actores, diagramas de secuencia, diagramas de actividad. Se llena el disco con diagramas, antes de poder llegar a alguna conclusion. En la version 86.12 de los documentos, alguien se da cuenta que hay que agregar un metodo matardragon(). Gran discusion: será estático? será de la instancia? Cada diagrama de secuencia, se hace tan ancho como Rusia, y su impresion amenaza con deforestar el Amazonas... Finalmente alguien programa 10 lineas en cualquier lenguaje, y mata el dragon. En el post mortem, se decide usar una nueva version de UML, porque esta les quedo chica.

GE Smallworld - Intenta levantar la imagen del dragon con tanta lentitud que dragon lo da por muerto. Cuando por fin termina de cargar la imagen se da cuenta de que no tiene la licencia para matar esta especie de dragones. El dragon viendo inutiles intentos de matarlo se muere de risa solo. Y la princesa se escapa cuando ve a este sujeto viejo, torpe e ineficaz que vino a rescatarla.

Lotus Domino - Todos los dragones parecen de la misma especie workflow, sacas la espada anti-workflow, descubres que no sirve contra el dragón y que tus otras armas se comportan de maneras impredecibles. A la princesa le toca adaptarse al extraño caballo en el que llegas y a tener al dragón vivo y siguiéndolos.


A mi si que me lo han acertado :/

Sacado de http://carolbanas.blogspot.com/2006/10/programadores-matando-un-dragn-la.html

4 comentarios:

Jaco dijo...

Jejeje, me he reído bastante.

Python: Crea un módulo que define una clase DestruirDragon. A continuación hace una instancia con el dragón como parámetro y una lista vacía (por si acaso). El programador se olvida de la princesa, emocionado por la belleza de su propio código.

my 2cents :D

Unknown dijo...

Yo soy de C, ¿se ha notado mucho?

Anónimo dijo...

JavaScript: Comprueba quien le ejecuta, y si no es capaz de determinarlo, decide hacerle morir. Si es capaz de determinar quien es, determina que subvariante de su propio idioma es capaz de entender con quien le ejecuta. Si no es capaz, decide hacerle morir. Una vez ha determinado que se entiende con quien le ejecuta, determina si es un dragón o alguna otra case de reptil. En caso contrario, decide hacer morir a quien ejecuta el programa. Luego intenta determinar si las propiedades del dragón no van a cambiar, en caso de que cambien on-line, hace consultas mediante AJAX que contestan a eso, y a unas 347582475829753 preguntas que no había hecho. En caso contrario, se caso de no poder determinar el estado del dragón, decide casarse con el, porque le gustan los dragones indeterminados. Cuando por fín decide hacerse la pregunta si es posible matar el dragón, determina que no, porque varias iteraciones antes el dragón determinó comerse a la princesa y al usuario que inició el programa.

servidora dijo...

Bueno, yo es que pondría una máquina de turing multicabezal. Así, mientras un cabezal me tiene al dragón entretenido, dedicaría otro a maquearme al principe encantador para irnos después a hacernos unas birritas a la cinta de salida...

:-D