Ópaió

[code]public class ÓPáió {

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

}[/code]

Estou chocado, isso compila e roda!

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.

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

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:

É, realmente.

JAVA FOREVER.

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

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

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 !!!

[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:

Valder Olmo Corrêa.

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

[quote]Mas eu ainda queria saber o que é Vajra???
Vai me dizer que é Java??? [/quote]

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

Caramba, que sinistro!

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.

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.

Gostei, muito util para criar interfaces ainda mais fluentes!

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:

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!

[quote=thingol]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:
[/quote]

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

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.

[quote=thingol][quote]
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.
[/quote]

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. [/quote]

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

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.

[quote=renato3110][quote=thingol][quote]
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.
[/quote]

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. [/quote]

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

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.