martes, 13 de marzo de 2007

De la implementación del Universo en Java y los Monty Python

Cerúlea se me ha quedado la cara leyendo el comentario al post de ayer de mi buen amigo Malasombra. Y es que este ladino personaje sabe dar donde duele: primeramente, en la entrepierna, y, a continuación, en el orgullo. El mero hecho de hablar de algo y no mentar a los Monty Python ya debiera hacerme arrastrar por el barro avergonzándome de dejar en el olvido sus aportaciones al siempre infravalorado mundo de la programación spaghetti.

Siguiendo al hilo de las sanas costumbres programáticas según las cuales se puede uno hacer imprescindible para cualquier modificación de lo ya codificado e instalado en cliente, siempre se pueden aprender emocionantes y novedosas técnicas. Me van a tener que permitir citar el ejemplo original en la lengua de Shakespeare:

Use constant names like LancelotsFavouriteColour instead of blue and assign it hex value of $0204FB. The color looks identical to pure blue on the screen, and a maintenance programmer would have to work out 0204FB (or use some graphic tool) to know what it looks like. Only someone intimately familiar with Monty Python and the Holy Grail would know that Lancelot's favorite color was blue. If a maintenance programmer can't quote entire Monty Python movies from memory, he or she has no business being a programmer.
¡Qué belleza!, ¡qué elegancia!, ¡qué sofisticación!, ¡qué maravilloso compendio de mala leche y profundo conocimiento de los más intrincados mecanismos de codificación de una simple variable!.

Sin embargo, quien piense que este nivel de malsana inquina es difícilmente superable, no ha visto el siguiente ejemplo:
for(j=0; j < myArray.length; j+=8)
{
total += myArray[j+0];
total += myArray[j+1];
total += myArray[j+2]; /* Main body of
total += myArray[j+3]; * loop is unrolled
total += myArray[j+4]; * for greater speed.
total += myArray[j+5]; */
total += myArray[j+6];
total += myArray[j+7];
}
Bello, ¿no es cierto? Para el lector bienintencionado o el ojo poco entrenado no es más que la suma de todos los valores contenidos en un cierto array, pero, bajo la perversa mano del programador extremo, esto es lo que en realidad está codificado:
for(j=0; j < myArray.length; j+=8)
{
total += myArray[j+0];
total += myArray[j+1];
total += myArray[j+2]; /* Main body of
total += myArray[j+3]; * loop is unrolled
total += myArray[j+4]; * for greater speed.
total += myArray[j+5]; */

total += myArray[j+6];
total += myArray[j+7];
}
¡Cuánta pérfida perfección contenida en tan pocas líneas! ¡Bjarne Stroustrup se revolvería en su tumba de no ser porque el hijo de puta aún sigue vivo!

Ahora, si alguien espera que retome el tema que me había traído aquí, que no era otro que el de codificar el universo en Java según el punto de vista Pythoniano, va de culo.

No obstante, y por pegarme la machada de cara a la galería, ahí dejo lo siguiente:
public interface HijoDeDios extends Dios {...}

public abstract class Hombre implements HijoDeDios,
Serializable {
...
public static boolean isPringao() {
return true;
}
...
}

public abstract class Mujer implements HijoDeDios,
Serializable {
...
public Mujer (Costilla costilla);

public static boolean isGolfa() {
return true;
}

public final void tenerConversacion()
throws UndefinedException {
throw
new UndefinedException("Método no implementado");
}
...
}

public class Pringao extends Hombre {...}

public class Golfa extends Mujer {...}

Hombre adan = new Pringao();
Mujer eva = new Golfa(adan.getCostilla();

Y para satisfacer personalmente a nuestro querido Pedro, usamos el Factory para la creación del sentido de la vida:
SentidoDeLaVida sdv = new SentidoDeLaVidaFactory()
.getSentidoDeLaVida("Monty Python",
hijoDeDios.getDatosUsuario());
universo.put("sentidoDeLaVida", sdv);

Queridos niños: como hemos visto en la llamada al constructor, la implementación del sentido de la vida depende de cada hijo de Dios. Buscad el vuestro y, cuando lo encontréis, haced el favor de no venir a tocar los cojones a los desgraciados de siempre.

PD: Para más información acerca de los antipatrones de diseño, no me preguntéis a mí. ;)

9 comentarios:

  1. Bueno, ya sabes lo que se dice...
    Que rectificar es de sabios...

    Aunque esa es la tipica excusa para cuando la caga un listillo...

    Muy bien, muy bien Venturita...
    Me esta gustando el nivel de las ultimas entradas...

    Y ahora idos de aqui, peggos ingleses! O inventare maaas insultos!

    ResponderEliminar
  2. demasiado ofuscado para leerlo a las 8'30 y contestarte...xDDDD

    ResponderEliminar
  3. miedda miedda, se me acumula el trabajo, increible documento señor, creo que utilizaré algunas de las líneas, si da usted su permiso, para dotar de vida a mis futuros programas, tenía pensado algo en plan Johnny número 5, DAAAATOS!!! http://interocitor.com/images/johnny5.jpg

    ResponderEliminar
  4. Pero que es esto? Por Dios Ventura... que clase de post es este. Soldado, necesita un pequeño empujón para que dar lo mejor de ti. No noto ese odio visceral que es el combustible de psicópatas, megalómanos y supervillanos.

    Espero que ahora no te dediques a tocar niños en urinarios y cosas así... porque... empiezo a sospecharlo.

    Amigo Ventura, el universo realmente es un middleware TIBCO que nos une a todos, no somos más que meros componentes que manejan rudimentariamente información para un fin mejor, que espero que esté relacionado con una puta de 200kg, 3 tarrinas de margarina y un remo.

    Yo francamente espero que Dios exista, así cuando casque le podré decir "¿Que pasa tio? ¿Que clase de mierda es esta? Bueno, todos nos hemos reido y todo eso... pero ahora me toca la buena... ¿no? ya sabes la de verdad"

    ResponderEliminar
  5. Una puta de 200 kgs?
    Tienes algo que contarnos, amigo Dragomir? Alguna enfermiza y depravada perversion??

    Te gusta vestirte de niña y que te azoten?

    En fin.
    Respecto a su pregunta sobre la existencia de Nuestro Señor...
    Le dire, que la misma informatica nos da la respuesta:

    GOD IS REAL

    unless declared integer...

    Besitos

    ResponderEliminar
  6. Mi verdadera pasión es vestirmo de tierno infante y que una tia me azote vestida de institrutiz alemana mientras me grita insultos en germano.

    Pero ojo, después cambiamos las tornas y ella se viste de inocente campesina del volga y yo de señor feudal y entonces cojo y....

    Creo que mejor paro, no quiero acabar en una carcel turca como usted.

    Y Dios existe, yo soy una prueba de que no solo juega a los dados sino que también consume sustancias psicotrópicas.

    Te despides con "besitos...", estos estupendos de mierda... ahora vas a ser un jodido emo de esos.

    Un hombre se despide mandando a tomar por culo.


    Annnnnnnnnnndatomarporculo!!!

    ResponderEliminar
  7. pero que os esta pasando ......
    mi novio es un enfermo y sus amigos unos deprabados. y como he podido acabar yo con vosotros como compañia, si yo soy una mujer de bien que no ha roto un plato nunca. que dios me salve.

    ResponderEliminar
  8. ¿"depraBados"? ¿Esto es lo que enseñas a la generación del futuro?

    :´´(

    ¡Y la tecla del acento está al lado de la Ñ!

    ResponderEliminar