Como matar un dragón

images

Rescatado de las antiguas news de chile comp y actualizado de algunas blogs.

Java – Llega, encuentra al dragón, desarrolla un framework para aniquilación de tragones 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

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.

MONO : El caballero viene saltando, contento con su fiel espada Gtk# diseñada con Glade2 y encomendandose a San Miguel de Icaza. Esquiva las llamaradas del dragón con un par de objetos, lanza una excepción contra las garras del bicho que le salva por un pelo, y cuando se presta a dar la estocada mortal, resulta que las estocadas matadragones del objeto espada no estan implementadas todavía, y tampoco hay documentación al respecto. Sus últimas palabras fueron “To: lista@mono Subject: ¿Alguien sabe como…”

C++ – Crea un programa básico y va juntando funcionalidades hasta tener una espada compleja que apenas consigue entender… mata al dragón pero se atasca en medio del puente por culpa de pérdidas de memoria (memory leaks)

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.

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ó lesbiana.

Ruby – Llega con muchísima fama, diciendo que es el mejor en hacer cualquier cosa y cuando va a enfrentarse al dragón muestra una peliculita en la que él mismo aparece matando a un dragón… el dragón se lo come de puro aburrimiento.

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.

Smalltalk – Llega, analiza al dragón y a la princesa, se da la vuelta y se va: ellos son muy inferiores.

Smalltalk (2)- 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….

shell – Crea un arma poderosa para matar dragones, pero en la hora H no recuerda como usarla

shell(2)- Se acerca al dragón con un script de dos líneas que mata, corta, destripa, empala, pica en pedacitos y empaca al bicho, pero a la hora de ejecutarlo el script aumenta, engorda, enfurece y pone gasolina en el fuego del dragón.

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 encamandose con el dragón

Fortran – Llega y desarrolla una solución con 45 mil líneas de código, mata al dragón, va al encuentro de la princesa… pero ella le llama vagabundo y se va corriendo detrás del programador de java que era elegante y además es rico

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 el 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 del presidente  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 necesitaría la espada que tenía en la mano desde el principio.

El ingeniero de Software: Se le ocurre hacer una especificación de requerimientos para desarrollar la espada que matará al dragón. Para lograrlo, debe realizar entrevista los stakeholders involucrados, por lo tanto va donde el dragón para saber las características de este para construir la espada.
Realiza con la entrevista con el dragon y desarrolla la especificación y la espada y decide volver. Cuando vuelve, el Dragon le dice que esto no era lo que quería y se come al ingeniero por no satisfacer sus requerimientos.

 

CLIPPER: Monta una rutina que carga un array de codeblocks para insultar al dragón, cantarle a la princesa, cargar la espada a memoria, moler al dragón, limpiar la suciedad, preparar un vaso de leche condensada con moras para la princesa, follar a la princesa, darse un baño, encender el coche, ponerle combustible y volver para casa. A la hora de ejecutar recibe un “Bound Error: Array Access” y el dragón se lo come.

Lisp, donde el famoso caballero andante, tras hablar con numerosos expertos en matar dragones y modelar el conocimiento que ellos poseen, programa el sistema y se da cuenta… de que se ha dejado algún paréntesis.

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.

Prolog: Piensa que para matar al dragón necesita un arma. Busca en un catálogo 182014 armas. Para cuando la princesa muere de vieja ya ha logrado descubrir como fabricar todas las armas que empiezan por la A: Armas atómicas, Alabardas,Alfanges, Asesinos contratados, Armas blancas, Antiaéreos, Arcos, …

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 dragon, a los campesinos, a la bruja, al hechicero y al propio programador.

JavaScript: El programador intenta matar al gran dragón verde que lanza fuego por la boca. Crean un script que borrará al dragón cuando carge 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.

ActiveX: Los programadores crean un tunel para entrar a la guarida del dragón desde el castillo y ejecutar un programa que matará al dragón desde una distancia segura y prudencial. El dragón descubre el tunel, se come a los trabajadores que cavaban, a los matadores de dragones y esclaviza a todos los siervos del castillo que pasan a ser sus esclavos. El castillo pasa a ser un lugar de cría de dragones lleno crías que manda en pop ups a otros castillos. Los restos poco apetitosos de los caballeros los mete en latas de Spam y manda también a otros castillos como advertencia.

Basic: Crean un arma capaz de matar a dragones de papel, pero mucho que la perfeccionan descubren que no sirve para matar a ningún dragón más grande que una cría de caniche.

Matlab: Crean un bucle que calcula las trayectorias para lanzar una flecha gigante contra el dragón. El programa funciona perfectamente. Sólo faltan los voluntarios capaces de lanzar la flecha con la fuerza y puntería necesaria.

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 sexo con la princesa.

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

CSS : Oculta al dragon con un display: none; pero lo unico que ha conseguido es hacerlo invisible y ponerselo  al proximo programador que venga.

El experto en IA:  Decide crear una red neuronal que mediante casos de asesinatos de dragones pueda converger a una acción que permite realizar la matanza con el mínimo de error posible. Cuando la red estaba lista, el programador en C  ya había matado el dragon, y la princesa esta sola esperando que la follaran, pero el experto era virgen y tuvo que hacer otra red neuronal que le enseñara a tener sexo.