La característica más extraña que has visto en un lenguaje

so

Que Bueno!

Acabo de leer un post muy cachondo en Stack Overflow, y todavía me estoy riendo por acabo de leer. En este post se puede leer:

“What is, in your opinion, the most surprising, weird, strange or really ‘WTF’ language feature you have encountered?”

Que podriamos traducir algo así como:

“Cual es en tu opinión, la característica de un lenguaje más sorprendente, rara, extraña, o más ‘pero que co… es esto’ que has visto jamás”

La verdad es que después de leer el post, veo que a algunas de ellas ya las conocía, pero otras han sido tremendamente reveladoras. Al final me quedo con dos cosas: La primera es mi reafirmación en mi odio produndo a Javascript (pues si, que pasa… no me gusta nada de nada, aunque tenga que usarlo por OO). Y la segunda es que todos los lenguajes o plataformas tienen sus cosas, y .NET no es una excepción, pero esta de Java no tiene desperdicio:

Fun with auto boxing and the integer cache in Java.

Integer foo = 1000; 
Integer bar = 1000; 
 
foo <= bar; // true 
foo >= bar; // true 
foo == bar; // false 
 
//However, if the values of foo and bar are between 127 and -128 (inclusive) 
//the behaviour changes: 
 
Integer foo = 42; 
Integer bar = 42; 
 
foo <= bar; // true 
foo >= bar; // true 
foo == bar; // true 

Ni esta otra, en PL/1:

IF IF THEN THEN = ELSE ELSE ELSE = THEN

En fin, tremendo!!! :-)))

Cual es la mejor en vuestra opinión? No tiene porque estar en el post original…

Ver el post original:

http://stackoverflow.com/questions/1995113/strangest-language-feature

Saludos desde Andorra,

** crossposting desde el blog de Lluís Franco en geeks.ms **

3 thoughts on “La característica más extraña que has visto en un lenguaje

  1. Solo quiero comentar un detalle. Para no satanizar.
    Es cierto que la conversion asi directa (usando operadores) genera un desconcertante valor False.
    Pero es debido a que INTEGER es de tipo objeto y no tipo primitivo INT, por lo que en esa asignacion trata de definir si el objeto1 es igual al objeto2
    ahora bien si se hiciera la misma comparacion usando INT en ver de integer. el resultado seria correcto. Solo que para los que estamos acostumbrados a Microsoft… se nos hace extraño. Cuestion de documentarse un poco.

  2. Bueno, lo del PL/1tartamudo no lo entiendo, realmente parece una comparación pero no hay valores que comparar por ningún sitio. Supongo que ese grupo de palabras así puestas producen algún resultado por alguna especie de suerte. El compilador ha sido sobornado, seguro.
    Y si esas palabras mágicas se pueden ejecutar ¿ qué hacen ? ¿ envido a pares, quizás ? ¿ o pedir otra ronda para todas la líneas del procedimiento que invitan las excepciones ?
    Quizás no produce error pero hace nada,
    como la Power Balance.
    🙂

  3. Bueno, lo del PL/1tartamudo no lo entiendo, realmente parece una comparación pero no hay valores que comparar por ningún sitio. Supongo que ese grupo de palabras así puestas producen algún resultado por alguna especie de suerte. El compilador ha sido sobornado, seguro.
    Y si esas palabras mágicas se pueden ejecutar ¿ qué hacen ? ¿ envido a pares, quizás ? ¿ o pedir otra ronda para todas la líneas del procedimiento que invitan las excepciones ?
    Quizás no produce error pero hace nada,
    como la Power Balance.
    🙂

Leave a Reply

Your email address will not be published. Required fields are marked *