Código informático extraño

Todo el mundo necesita descanso de vez en cuando. Si usted es un estudiante muy trabajador del lenguaje de programación Java, usted debe tomar tiempo libre para mirar a algunas peculiaridades del lenguaje de programación - cosas peculiares que encuentras en Java y otros lenguajes de programación. La mayoría de estas peculiaridades son divertidos, y algunos de ellos son francamente alucinante!

Video: El código binario | Explicación

código ofuscado

Si visitas https://weblogs.java.net/blog/forax/archive/2006/10/obfuscated_java.html, se encuentra uno de los programas de Java más extrañas que se han escrito:

Video: Código fuente

/ * Sólo JavaPeter van der LindenApril 1, 1996.u0050u0076u0064u004cu0020u0031u0020u0041u0070u0072u0039u0036u002au002fu0020u0063u006cu0061u0073u0073u0020u0068u0020u007bu0020u0020u0070u0075u0062u006cu0069u0063u0020u0020u0020u0020u0073u0074u0061u0074u0069u0063u0020u0020u0076u006fu0069u0064u006du0061u0069u006eu0028u0020u0053u0074u0072u0069u006eu0067u005bu005du0061u0029u0020u007bu0053u0079u0073u0074u0065u006du002eu006fu0075u0074u002eu0070u0072u0069u006eu0074u006cu006eu0028u0022u0048u0069u0021u0022u0029u003bu007du007du002fu002a * /

A simple vista, el programa se ve como una gran comentario. Y si pega el código en un editor de Eclipse, la mayor parte del código es de color verde (lo que significa que es parte de un comentario). Cuando se ejecuta el código, nada debe suceder. Pero las apariencias engañan. Cuando se ejecuta este código, la salida es

¡Hola!

Este código es un ejemplo de un programa ofuscado. Un ofuscado programa es uno que es intencionalmente difícil para la gente a leer y entender. Hay dos razones para crear código ofuscado: (1) por diversión, y (2) para evitar que otras personas la comprensión de sus trucos de codificación y el robo de sus ideas.

Muchos productos comerciales pueden convertir código regular en código ofuscado, pero los ejemplos más divertidos vienen de personas que escriben código ofuscado desde cero. Para otros ejemplos de código Java ofuscado, visita diseños semánticas y el blog Nota personal.

comportamiento lingüístico sorprendente

Algunas lenguas tienen características que desafían intuiciones. El siguiente ejemplo (y muchos otros) son de stackoverflow.com.

En este ejemplo, las líneas entre las etiquetas son el código javascript. javascript tiene poco que ver con Java. (Los nombres Java y javascript son similares sólo por razones históricas.) La gente usa javascript principalmente como un lenguaje para incrustar código dentro de las páginas web.

En javascript, las expresiones 5 + 3 y 5 - 3 son muy similares, por lo que se imaginaría que los dos expresiones se comportan de la misma manera. Pero es sólo no es así! Si visita el código de esta sección en un navegador web, se ve

532

El signo más concatena el carácter 5 y el carácter 3- el signo menos resta el número de 3 a partir del número 5. Supongo que nunca se!

programas autorreproductores

UN Quine es un programa que envía una copia de sí mismo, a pesar del hecho de que no recibe ninguna entrada. El sitio La página Quine es un repositorio de ejemplos Quine. El sitio contiene Quines en unos 50 diferentes lenguajes de programación. El siguiente programa (creado por Bertram Felgenhauer) es casi un Quine - “casi”, porque para que sea un Quine, que tiene que escribir todo el programa en una línea con ningún salto de línea. (Para los fines de este artículo, los saltos de línea están presentes para que pueda ver todo el código a la vez.)

clase S {void Main ([] una cadena) {= public static cadena s"clase S {public static void main (String [] a) {String s = -char c = 34-System.out.println (s.substring (0,52) + c + s + c + s.substring (52) ) -}}"-char c = 34-System.out.println (s.substring (0,52) + c + s + c + s.substring (52)) -}}

El mundo de los lenguajes de programación

Es posible que escuche algunos programadores frente fresca dicen que quieren aprender a código en todas los lenguajes de programación. ¡Buena suerte! Hay miles de lenguajes de programación. (Se puede ver las influencias que los lenguajes populares tienen el uno del otro, visitando IBM.com.)

Video: EL ULTIMATE MAS EXTRAÑO! NUEVO YORICK! - REWORK YORICK | LIVE

La página esolangs.org enumera cerca de 800 de los idiomas más oscuros. Aproximadamente uno de cada diez de estas lenguas fueron creados como chistes. (Las lenguas broma tienen su propia página especial en http://esolangs.org/wiki/Joke_language_list.)

Un idioma favorito no está en la lista Esolang. Es el lenguaje de máquina ilimitada Registro que tiene sólo tres tipos de instrucciones. Se puede añadir 1 a una variable, restar 1 a una variable, o bucle mientras que el valor de una variable no es cero.

miVar ++ miVar - while (! miVar = 0) {}

Eso es todo lo que puede hacer en el lenguaje de Registro de la máquina sin límites. Pero aquí está la línea de golpe: Mediante la combinación de las declaraciones, uno tras otro, en este idioma, se puede implementar cualquier estrategia que se puede implementar en Java (o en cualquier otro de propósito general, lenguaje de programación de potencia industrial). Para más información visite la página de la Universidad Estatal de Portland.

Artículos Relacionados