GUJ Discussões   :   últimos tópicos   |   categorias   |   GUJ Respostas

Ópaió


#1

public class ÓPáió {
	public static void main(String[] args) {
		String óPaió = "Funciona!";
		System.out.println(óPaió);
	}
}

Estou chocado, isso compila e roda!


#2

Caramba véiu, eu já ví de tudo mas isso aí é embaçado em, hahahahahaha.
Nossa véiu, cada doido com a sua doidera hahahahaha.


#3

Ei véiu, o que é Vajra???


#4

Na verdade, você pode se quiser até misturar caracteres do alfabeto árabe, chinês, russo, japonês, grego, hebraico...

public class Main {
    public static void main(String[] args) {
        String шћњҒә = "Hello";
        String فىزبلٮ = "World";
        String ФЉώЭЮ = "!!!!";
        System.out.println(шћњҒә + فىزبلٮ + ФЉώЭЮ);
    }
}

Compila e roda perfeitamente. :smiley:


#5

É, realmente.

JAVA FOREVER.

Mas eu ainda queria saber o que é Vajra???
Vai me dizer que é Java???

ummmmm por que não pensei nisso???!!!.


#6

Sinceramente, não vi qual o problema no código. O programa que contém a classe ÓpaiÓ declara uma variável de nome óPaió e a inicializa com Funciona. Depois manda imprimeir na tela.

Qual o problema ? Não entendi !!!!


#7

[quote=victorwss]Na verdade, você pode se quiser até misturar caracteres do alfabeto árabe, chinês, russo, japonês, grego, hebraico...

public class Main {
    public static void main(String[] args) {
        String шћњҒә = "Hello";
        String فىزبلٮ = "World";
        String ФЉώЭЮ = "!!!!";
        System.out.println(шћњҒә + فىزبلٮ + ФЉώЭЮ);
    }
}

Compila e roda perfeitamente. :smiley: [/quote]

Era o que eu temia! :smiley:


#8

Valder Olmo Corrêa.

Não há problema com a classe... o que espanta é aceitar acento no nome da classe e variável...


#9

Vajra: (masculino, sânscr.; jap. Kongô-Sho; tib. Dorje/Rdo Rje) Diamante; símbolo do vazio indestrutível. Arma de guerra do deus Indra; Raio; Falo; Diamante O mistério tântrico (revelado só aos Adeptos mais avançados). É o Grande Arcano.

fonte: http://www.gnosisonline.org/glossario/glossario_v.shtml


#10

Caramba, que sinistro!


#11

Mas escrever dessa forma funciona em sistemas operacionais diferentes? Já que nos .class é guardado o nome das classes e acho que em outro sistema operacional com outra fonte pode dar erros no ClassLoader.

Um dia também tive essa curiosidade, mas achoq eu pode dar problemas.


#12

Dá problemas sim (por exemplo, se você compilar uma classe cujo nome está em japonês no Windows em português e tentar copiá-la para um Windows em japonês, deve dar algum problema), portanto não é recomendado.

Use por sua conta e risco.


#13

Gostei, muito util para criar interfaces ainda mais fluentes!


#14

Sei - aí veja se o raio da interface fica fluente quando você não consegue efetuar o "deploy" das suas classes no seu web ou application container preferido , porque ele se engasgou com alguma letra acentuada no .class contido em algum .jar, .ear ou .war... :stuck_out_tongue:


#15

Na verdade o que eles queriam com isso era dar mais internacionalização ao java. Mas na verdade isso foi uma péssima idéia porque gera centenas de problemas de compatibilidade, portabilidade e de codepages.

É considerado uma péssima prática de programação colocar quaisquer caracteres fora do conjunto "a-z", "A-Z", "0-9", "_" e "$" no nome de identificadores. E de fato, isso gera problemas entre sistemas operacionais e ferramentas (inclusive classloaders), além de ser horrível na legibilidade. Imagina ter que implementar métodos com nome em chinês de uma interface com nome em árabe, que coisa linda!


#16

Sabia que tinha algo de errado com meu container preferido. :roll:


#17

Se bem que o Java tem um detalhe de implementação que acabou se tornando parte da plataforma.

Em tese não seria necessário que classes ficassem em diferentes arquivos, e que os arquivos, quando compilados, gerassem outros arquivos com determinados nomes. Você poderia ter um ambiente como o do Smalltalk, onde todo o código fica armazenado no ambiente e salvo em um arquivão gigante, por exemplo. A especificação do Java não deveria ter referência a arquivos (por exemplo, "uma classe pública deve estar contida em um arquivo, e o nome do arquivo deve ser o nome da classe").

Se fosse assim, você não teria problemas com tais classes cujo nome é ペパクラ ou coisa parecida.


#18

Não entendi thingol, poderia explicar melhor. Pra mim funcionaria normalmente pois seria uma questão de encoding...


#19

Suponha que você tenha uma classe com o nome ペパクラ. Essa classe deve ser compilada para um arquivo ペパクラ.class, não?
O problema é que aí você vai ficar dependendo de como o Sistema Operacional ou como o formato JAR (ZIP) lidem com tais nomes estranhos para arquivos.
No caso do Windows, embora ele trabalhe internamente com Unicode (do Windows NT e 2000 em diante), você sabe que isso pode dar algum problema.
Por exemplo, tente criar um arquivo com esse nome, e a seguir tente copiar esse arquivo para uma outra máquina na rede, ou então tente zipar esse arquivo, e a seguir copie esse arquivo .zip (ou .jar) e tente abri-lo em uma outra máquina com outra versão do Windows. Pode dar problemas. Outra forma de ter problemas é tentar gravar um CD com esse arquivo . O filesystem de CDs (ISO-9660) pode ter problemas com tais nomes de arquivos.

Como não é fácil lidar com todos esses problemas, (que são basicamente de encoding, mas estão fora de seu controle!) então é melhor evitá-los.


#20

Se você colocar elas em um jar, pode ser que não tenha tanta sorte assim. Ainda mais se esse jar estiver em um servidor de aplicação.