Código de computador estranho

Todo mundo precisa de pausa de vez em quando. Se você é um estudante trabalhador da linguagem de programação Java, você deve ter tempo livre para olhar algumas peculiaridades da linguagem de programação - coisas estranhas que você encontra em Java e outras linguagens de programação. A maioria dessas peculiaridades são divertidas, e alguns deles são francamente incompreensível!

código ofuscado

Se você visitar https://weblogs.java.net/blog/forax/archive/2006/10/obfuscated_java.html, você encontrar um dos programas Java mais estranhas já escritos:

/ * Apenas JavaPeter van der LindenApril 1, 1996.u0050u0076u0064u004cu0020u0031u0020u0041u0070u0072u0039u0036u002au002fu0020u0063u006cu0061u0073u0073u0020u0068u0020u007bu0020u0020u0070u0075u0062u006cu0069u0063u0020u0020u0020u0020u0073u0074u0061u0074u0069u0063u0020u0020u0076u006fu0069u0064u006du0061u0069u006eu0028u0020u0053u0074u0072u0069u006eu0067u005bu005du0061u0029u0020u007bu0053u0079u0073u0074u0065u006du002eu006fu0075u0074u002eu0070u0072u0069u006eu0074u006cu006eu0028u0022u0048u0069u0021u0022u0029u003bu007du007du002fu002a * /

A olho nu, o programa se parece com um grande comentário. E se você cole o código em um editor de Eclipse, a maior parte do código é verde (o que significa que ele é parte de um comentário). Quando você executar o código, nada deve acontecer. Mas as aparências enganam. Ao executar este código, a saída é

Oi!

Este código é um exemplo de um programa ofuscado. A ofuscado programa é um que é intencionalmente difícil para as pessoas a ler e compreender. Há duas razões para a criação de código ofuscado: (1) para se divertir, e (2) para manter outras pessoas de compreender seus truques de codificação e roubar suas idéias.

Video: Desligando computador por código

Muitos produtos comerciais pode transformar código regular em código ofuscado, mas os exemplos mais divertidos vêm de pessoas que escrevem código ofuscado a partir do zero. Para outros exemplos de ofuscado código Java, visita Semantic Designs eo blog Note to self.

comportamento linguagem surpreendente

Algumas línguas têm características que desafiam a intuição. O exemplo a seguir (e muitos outros) são de stackoverflow.com.

Neste exemplo, as linhas entre as tags são códigos javascript. javascript tem pouco a ver com Java. (Os nomes Java e javascript são semelhantes apenas por razões históricas.) As pessoas usam javascript principalmente como uma linguagem para a incorporação de código dentro de páginas da web.



Em javascript, as expressões 5 + 3 e 5 - 3 são muito semelhantes, de modo que você iria adivinhar que as duas expressões se comportam da mesma maneira. Mas não é só por isso! Se você visitar o código desta seção em um navegador da web, você vê

532

O sinal de adição concatena o personagem 5 eo caráter 3- o sinal de menos subtrai o número 3 a partir do número 5. Você nunca adivinharia isso!

programas de auto-reprodutores

UMA Quine é um programa que gera uma cópia de si mesmo, apesar do fato de que ele não recebe nenhuma entrada. O site A página Quine é um repositório para exemplos Quine. O site contém Quines em cerca de 50 diferentes linguagens de programação. O programa a seguir (criado por Bertram Felgenhauer) é quase um Quine - “quase”, porque, para torná-lo um Quine, você tem que digitar o programa inteiro em uma linha sem quebras de linha. (Para os fins deste artigo, as quebras de linha estão presentes para que você possa ver todo o código ao mesmo tempo.)

Video: Código Binário do Computador

classe S {void main ([] uma string) {String s = public static"classe S {public static void main (String [] a) {String s = c = -char 34-System.out.printlnl (s.substring (0,52) + c + d + c + s.substring (52) ) -}}"-char c = 34-System.out.printlnl (s.substring (0,52) + c + d + c + s.substring (52)) -}}

O mundo das linguagens de programação

Você pode ouvir alguns programadores enfrentada fresca dizer que eles querem aprender a código todos as linguagens de programação. Boa sorte! Existem milhares de linguagens de programação de computador. (Você pode ver as influências que as línguas populares têm umas sobre as outras, visitando IBM.com.)

A página esolangs.org Listas de cerca de 800 das línguas mais obscuros. Cerca de um em cada dez dessas línguas foram criados como piadas. (As línguas piada têm sua própria página especial na https://esolangs.org/wiki/Joke_language_list.)

Uma linguagem favorita não está na lista Esolang. É a linguagem de máquina Register Unbounded que tem apenas três tipos de instrução. Você pode adicionar 1 a uma variável, subtrair 1 de uma variável, ou loop while valor de uma variável não é zero.

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

Isso é tudo o que você pode fazer na língua Register Máquina Unbounded. Mas aqui é a punch line: Ao combinar declarações, um após o outro, nesta língua, você pode implementar qualquer estratégia que você pode implementar em Java (ou em qualquer outro de propósito geral, a linguagem de programação de força industrial). Para mais informações visite página de Portland State University.


Publicações relacionadas