Ópaió

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

}

Estou chocado, isso compila e roda!

26 Respostas

GALACTUS

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.

GALACTUS

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

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:

GALACTUS

É, realmente.

JAVA FOREVER.

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

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

Valder_Olmo_Correa

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

renatosilva

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:

Era o que eu temia! :smiley:

wbdsjunior

Valder Olmo Corrêa.

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

D

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

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

GALACTUS

Caramba, que sinistro!

Marky.Vasconcelos

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.

T

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.

C

Gostei, muito util para criar interfaces ainda mais fluentes!

T

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:

victorwss

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!

C

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:

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

T

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.

renatosilva

thingol:

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.

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.

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

T

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.

victorwss

renato3110:
thingol:

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.

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.

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

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.

T

Eu já tive problemas (e nem foram em japonês, mas em português mesmo). Zipei um diretório que tinha um acento no nome, e fui tentar recuperá-lo em outra máquina. Adivinhe se não consegui recuperar direito os arquivos - eu tive de renomear o diretório manualmente.

renatosilva

.

T

Mas isso não é exclusividade do Windows.

ralphsilver

Nossa, e esse tópico gerou polemica hein.

pois é… é por problemas de codificação entre SOs e linguagens que o java utiliza certos padrões como a não acentuação das classes e variáveis, etc.

renatosilva

Ópaió!

T

Eu me lembro que o Daniel Destro tinha postado um slide do Sun Tech Days (Moscou) onde o palestrante tinha posto o nome de uma classe em russo. Consegui determinar que o nome da classe era o nome de um passarinho e de uma cidade :stuck_out_tongue:

danieldestro

voilá!
http://www.guj.com.br/posts/list/103003.java

Criado 14 de outubro de 2008
Ultima resposta 15 de out. de 2008
Respostas 26
Participantes 11