dragon
 

Programadores matando un dragón



Traducción de http://www.amauta.inf.br/index.php?option=com_content&task=view&id=1048&Itemid=29


Reir sigue siendo el mejor remedio (y es gratis)

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

C++ - Crea un pincho 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

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

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


shell(2)- El tío 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 alcohol 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 follándose al 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 tirillas 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 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 necesitaría la espada que tenía en la mano desde el principio


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 gasolina y volver para casa. A la hora de ejecutar recibe un "Bound Error: Array Access" y el dragón se lo come con patatas

That?s all Folks? No, con el efecto Menéame y el efecto Barrapunto coaligados, me han dejado nuevos lenguajes en diferentes foros. Paso a relataros los que más me han gustado


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 (bender the offender, barrapunto)

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)

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, ... (aquelquesiente)

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 distacia 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. (aquelquesiente)

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. (aquelquesiente)

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. (aquelquesiente, barrapunto)

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 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 carácteres de comodín y acaba incluyendo en el patrón de mortalidad a Dragones, Iguanas, lagartos, perros, gatos, osos, princesas y ratones. (emezeta.com)

HyperCard: crea en 5 minutos una pila con un catálogo de armas, con fotos, gráficas y vídeos sobre su utilización y los distintos tipos de dragones que puede matar, y que además fabrica el arma elegida utilizando las herramientas de dibujo, con una interfaz impecable y fantásticos efectos visuales, lo guarda como ejecutable, le pone un bonito icono, pero cuando va a fabricar la espada no funciona porque se dejó un XCMD en casa (Home) (Zydeco, faq-mac)

Macromedia Director: crea una mágnifica interfaz destellante mata dragones, con una espada deslumbrante, fabricada a bases de Xtras de terceros fabricantes, al primer intento de matar al dragon "Script Error", entonces a duras penas se esquiva el mordisco, y se procede al segundo intento... pero el ejecutable va tan lento que se los come a todos (Victor_js, faq-mac.com)

Mathematica. se crea y modela el objeto logico dragon. se modela y crea igualmente la princesa, la espada, al principe. se modela el caso especial de la articulacion manoespada, y la discontinuidad piel de dragonespada.
Cuando todo esta hecho, se le pide a Matematica que lo resuelva, y el resultado es: "Hay que matar al dragon con la espada, y quedarse con la princesa" (Alf, faq-mac.com).


Algunos comentarios de la página:
http://rebotacion.blogspot.com/2006/03/programadores-matando-un-dragn.html

El programador de PERL:

Se bajo el kit de matadragones de CPAN, lo ejecutó, el dragon murió aunque tardó un poquillo y generó algo de basura por pantalla. Al rato, se bajo el kit de noche de amor de CPAN y la princesa paso una nochecita de cuidado ;)
En realidad, el kit matadragones del CPAN tenía un bug en una regexp, y el programador, antes de matar al dragón, tuvo que parchearlo (y envió un mail al desarrollador indicándole el problema y su solución).

PHP.

Hace una búsqueda en google con las palabras "matar dragon fornicar princesa" y encuentra cientos de espadas y condones.
Mata al dragón de un simple sablazo GNU/GPL, y once meses más tarde, la princesa tiene trillizos debido a que los condones se quedaron obsoletos en los dos primeros meses.

ADA
Programa un misil de los EEUU para acabar con el dragón... pero se olvida de manejar un exception y se carga al dragón, a la princesa, al castillo, al pueblo debajo del castillo y todo el terreno en un radio de 15 km.

Haskell

Define una lista infinita de espadas y una lista infinita de métodos para enfrentarse al ataque del dragón y matarlo.
Hace un map entre los métodos y las espadas y va a enfrentarse el dragón.

El dragón lo ve, no le suena de nada, lo ignora y se va. El caballero se queda para siempre combinando espadas y métodos de matar dragones

Modula 2

Implementa un método académicamente impecable para matar al dragón, pero no encuentra ninguna espada de verdad con la que usar dicho método.

Así que se va a aprender Pascal que le han dicho que es como Módula pero que funciona con espadas de verdad. El resultado ya lo habéis visto ;)

Miranda

Igual que el de Modula 2 pero se pasa a Haskell en lugar de Pascal

Miranda:
El programador, luego de analizar detenidamente el problema llega a la conclusión de que lo mejor es que el dragón sea muerto a manos de la princesa, por tal motivo decide darle la espada a la princesa cuando termine de fallársela lo cual ocurrirá luego de liberar al dragón.
(quirón)

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 solo hecho de insinuar el matar a su mascota preferida.

PROLOG: Crea un programa que es capaz de buscar el punto débil del dragón, buscar la espada, y buscar el momento en el que usar la espada con el dragón.Pero cuando ejecuta la sentencia para que resuelva el problema, el interprete le dice "No." (que viene a ser algo así como, no me sale de los webos ^^)

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..."

En Ocaml:

El programador se curra una función recursiva terminal que mata a dragones de tamaño "n" con alta eficiencia y aún encima se puede modificar en pleno asesinato y terminar follándose a la princesa sin llenar la pila.
En el momento de utilizarla se dá cuenta de que la función acepta un tipo 'a como tipo de entrada y mata a la princesa y lo sodomiza.

Sinclair Basic

El programador introduce la cinta para cargar el compilador en el sistema y escribe LOAD "". Esta tan concentrado esuchando los piip piip de la cinta que no se da cuenta que la princesa, cansada de esperar, le coge la espada y se la clava a si misma para evitar morir de aburrimiento.

Cuando el programador termina de picar, guardar y cargar el programa el dragon ya se ha ido a otro pais y ya ha encontrado otra princesa a la que comerse.

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.

El PhD en Computer Science

Resuelve que la matanza del dragón es un problema NP-Completo y que no tiene solución con la computación existente en la actualidad. Así que decide que mientras no se popularice la computación cuántica, no ira a matar al dragón.

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.

Action Script:

El programador utiliza un servicio web para consultar las armas de las que dispone para matar al dragón, pero entre que tarda dos eternidades en inicializarse y completar la transferencia y que la variable poema de amor se escribe sobre la variable escudo (a pesar de ser de tipos distintos) el dragón y la princesa acaban cenando caballero a la brasa para cenar

M4

El programador se preparó una macro que enviaría al dragón a otra dimensión (divert), se le olvidaron unas comillas y acababaron apareciendo 4 réplicas iguales del mismo dragón.

Este programador se acojonó y salió corriendo. Aprendió a usar XSLT y volvió con una plantilla para transformar a los dragones en lagartijas y aplastarlos a todos.

Cuando la princesa vio al programador se horrorizó de ver lo feo que era. Éste se sintó herido emocionalmente y decidió hacerse un arreglo estético, lamentablemente el estándar XSL-FO nunca será una realidad.

PHP

El programador Stehen prepara un while con sockets apuntando al dragon suelta los tiros con un intervalo de 1 ms pero recibe un Connection closed: Too many connections from your host y el dragon cheka en sus /var/log/httpd localiza al programador vuela a su pequeño antro y lo hace mierda y se da cuenta de que el programador no estaba ahi sino que con AJAX puso su web para un intervalo X controlado desde su PALM, entre tanto a la salida del dragon la princesa logra escapar con su programador(Stehen) y ejecuta otro proceso con AJAX para usar la api de google en busca de hoteles baratos con condones de regalo.

PHP

El caballero paso horas mirando al dragon pero en elinstante de ejecutar el ataque noencontró su espada. Le dijeron que estaba en el castillo asi que fué a buscarla a la habitacion de la princesa, a la que pudo sobar pero fue achicharrado por el dragon ya que su espada realmente estaba donde se quedó a observar al dragon. Dias despues la princesa mira porla ventana y ve 18 princesas, 40 dragones y 4 principes. Quedandose sola esperando el porvenir.

DIV 2:
Crea el programa matadragones en 2 minutos con todos los detalles, planos 3d, sprites, y demas , pero cuando lo va a correr se da cuenta de que el dragon es joven y DIV 2 no lo soporta... Entonces es devorado por el dragon...

CSS
Tras crear el caballero un contenedor y un supercontenedor para mantenerse centrado y estable a pesar de las envestidas del dragón, olvida definir un DOCTYPE correcto y el dragón se lo merienda cual pincho de calamares.

Perl

Lee peldoc perlrun y decide utilizar un one liner. Justo al acabar se da cuenta que sed bastaba para la tarea.

WEB 2.0

Desarrolla una forma de matar al dragon utilizando XML, tonos pastel y letras grandes, y permite que todos los guerreros del mundo opinen sobre la mejor forma de matar al dragon con un sistema de tags y puntuaciones.

En medio de la discusión, una horda de trolls revienta la convencion y mueren todos.


CSS

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

ASP (el primo de .net) - Quien no fue invitado a matar el dragon demanda a esta Web poe 2.000.000? por discriminacion, se reparte el dinero con el dragon y se van a vivir juntos a Florida

Consultor externo: Aconseja una estrategia planificada con un incremento progresivo de medios y personal empleado, dosificado a partir de un comite de expertos internos y externos que se reuniran con periodicidad bimensual para analizar los informes de progreso. Una actitud proactiva debe ser impulsada en general en la seleccion de personal, asi como un buen ambiente interno. De hecho su propia empresa tiene expertos especializados en la seleccion de personal de programacion y en la dinamizacion de ambientes laborales. Una ciudadela de programacion es lo mas adecuado para dar estabilidad y solidez a la empresa. Conviene que se asuma desde el principio que el gasto de formacion de personal no debe ser cicatero, si queremos que la cosa avance, asi como que el sistema de pruebas debe de estar estandarizado y documentado para cada programa, para evitar sorpresas indeseables de ultima hora.
Si en el transcurso del proyecto se produjera la extincion de los dragones o de las princesas, ya fuera por la desaparicion de su entorno natural por deforestacion o sepultamiento bajo informes documentados o por el advenimiento de la revolucion francesa, entonces habria que redirigir el proyecto-ciudadela a los canales publicos de reconversion industrial de urgencia social, para lo cual seria conveniente un comite de expertos internos y externos que se reunieran con periodicidad bimensual para establecer las politicas de reconversion y los ajustes necesarios a la luz de los informes de progreso.


PYTHON
Como solo hay UNA forma obvia de matar al dragon:
>>> from muertesObvias import hacerBrocheta
>>> dragon
dragon malo que dice agggh y tira fuego at 0x3007c370>
>>> hacerBrocheta(dragon)
>>> dragon
>>> brocheta de dragon traigan vino asi empedamos a la princesa at 0x3007c370>

hacer brocheta tambien manda un mail de invitacion a que hagan reportaje de los canales de cable locales, publica una entrada diciendo que el caballero mato al dragon en su blog, da de baja todos los dominios que tenia registrados el dragon a su nombre y se conecta con un servidor jabber para avisar a los familiares del dragon que lo mataron a tito. (el nombre del dragon)

Programador de NQC:

Crea un robot con el Lego Mindstorms para manejar la espada para aprovechar el tiempo y llevarse a la princesa. A la hora de desarrollar el codigo, el limite de 32 variables globales le fastidia sus aspiraciones de grandeza y tiene que reflashear el RCX con BrickOS y programarlo en C. Como no tiene ni idea de C, termina matando al dragon dandole con el robot en la cabeza. La princesa termina no haciendole caso porque tiene miedo de los robots, y como el programador no se atreve a decirle que la quiere termina en su casa viendo paginas de Teens. :-P


Programador de GAMBAS:

Define la clase dragon, la clase princesa, la clase espada y la clase principe sin saber ni siquiera que es una clase, y sus profesores se rien de el y le dicen que aprenda C.
A la hora de compilar el programa en su iBook, le sale un error de violacion de segmento porque Gambas no corre sobre LinuxPPC por problemas de endian y termina aprendiendo C+x (C con prisas y extres) y OpenGL para matar al dragon dentro de un juego de plataformas 3D, que es mucho mas seguro que enfrentarse al bicho... La princesa piensa que la protagonista del juego se parece mucho a ella :-P

REDCODE / COREWAR:

El programador ejecuta un programa trasgo ( mov 0,1) contra el dragón, que termina convertido en otro un trasgo forzando un empate.

Después de varias ejecuciones, el dragón consigue acabar con el programa trasgo, desempata, y se queda con la princesa.

Al programador le quedan varios ciclos de CPU para salir por patas y evitar ser merendado.

Python

"Python lo mata en dos o tres lineas después de instalar un módulo para matar dragones."

LOGO:
Programa a su "tortuga" para que dibuje una cuerda alrededor del cuello del dragón, y así ahogarle. Pero como la tortuga trabaja sólo en 2 dimensiones, el plan fracasa.

Además, la tortuga y el dragón se hacen amigos, luego amantes; y de su amor nace un bicharraco inmundo, un dragón con caparazón de tortuga, que es mucho más fuerte que su papi-dragón.
Deciden hacer un asado con la princesa y el programador, ya que:

1.- El dragón ya tiene a la tortuga para desfogar sus más bajos instintos.

2.- El hijo bicharraco les sale homosexual, y aunque podría pensar en el programador para soltar todo su "amor", lo cierto es que el programador no hace ninguna clase de ejercicio, y se pasa los fines de semana metido en su casa viendo pelis (porno) y jugando al Quake; así que está bastante ceporro y al bicharraco no le atrae.

Al menos, en el momento en que depositan a la princesa y al programador en la parrilla, éste aprovecha y "se la pasa por la piedra" (algo es algo).

Algoritmos geneticos:

El principe trata de descubrir la mejor manera de aniquilar el dragon con un cultivo de 10.000 cadenas de ADN. En el tiempo en que se desarrolla el algoritmo, el dragon es matado por el bisnieto de la princesa, que al ver que nadie la hacia ni caso se apunto a una secta satanica. Cuando el programa termina, resulta ser el elixir de la eterna juventud, haciendo que el dragon resucite con 10 años menos.

Lisp
Antes de de escribir una función que mate al dragón, el programador de Lisp escribe una función que mate al dragón.

El programador de Ajax:

Prepara una Interface para mentenerse alejado del Dragon y Atacar. Arma la Espada de DIV's y viste a su caballero de hermosos CSS's y lo manda a combatir. Cada vez que su caballero necesitaba algo, lo solicitaba y recibia inmediatamente lo que necesitaba, super armas, cambio de armaduras, invisibilidad, etc etc. Pero el dragón pendejo con unos escupitazos de fuegos crea una Firewall que hace lento al caballero Ajax. y de aburrido se lo come y lo caga al lado de Web 2.0
Last modified: Thursday, 20 September 2012, 11:18 PM