reJ v0.6 lançado - Editor de bytecode para plataforma Java  XML
Índice dos Fóruns » Notícias
Autor Mensagem
thingol
Moderador

Membro desde: 29/07/2004 16:10:13
Mensagens: 17543
Offline

Sami,

Outra vez que você voltar ao Brasil dê uma passadinha em Penedo (RJ) (se é que você já não foi lá) - vá tomar um chocolate quente com alguns conterrâneos seus.

http://www.visitepenedo.com/

[WWW]
Sami Koivu
Virtual Machine Man
[Avatar]

Membro desde: 16/09/2004 09:49:27
Mensagens: 574
Localização: Curitiba-PR
Offline

Valeu Ironlynx, Rafael

thingol wrote:Sami,

Outra vez que você voltar ao Brasil dê uma passadinha em Penedo (RJ) (se é que você já não foi lá) - vá tomar um chocolate quente com alguns conterrâneos seus.

http://www.visitepenedo.com/


Obrigado pela dica (e o link que eu não tinha), Thingol. Eu tenho uma amiga - uma Brasileira que mora na mesma cidade como eu, casada com um ornitologista finlandês. Ela é de Penedo e me deu um folheto (brochure, não sei se essa é a palavra correta) sobre essa colônia finlandesa. Muito legal, por sinal, e espero que terei a chance de visitar.

[]s,
Sami
[Email] [WWW] [Yahoo!] [MSN]
mister__m
Virtual Machine Man
[Avatar]

Membro desde: 18/03/2005 16:13:17
Mensagens: 736
Offline

Em primeiro lugar, Sami, parabéns mesmo pelo projeto. Engraçado que sugeri para um amigo fazer um editor que relacionasse o fonte com o bytecode gerado.

Seu projeto faz isso, i.e., é possível visualizar graficamente a relação entre código-fonte x bytecode (binário mesmo) x pseudo-assembly?

PS: Desculpa perguntar ao invés de fazer download, mas o tempo urge.

Michael Nascimento Santos, aka Mister M

Summa Technologies do Brasil - http://www.summa-tech.com/
genesis: Uma nova forma de desenvolver aplicações - https://genesis.dev.java.net/
ThinNB: Suporte a Thinlet no NetBeans - https://thinnb.dev.java.net/
Líder da JSR-310 - Date and Time API
Expert Group Member das JSRs 207 (PD4J), 250 (Common Annotations), 270 (Java 2 SE 6.0), 296 (Swing Framework) e 303 (Bean Validation)
SouJava: Fortalecendo a comunidade Java brasileira - https://soujava.dev.java.net/ https://www.soujava.org.br/
JSR Community @ java.net - http://community.java.net/jsr
Blogs - http://blog.michaelnascimento.com.br/ http://today.java.net/pub/au/80
Twitter - @mr__m
[WWW]
Sami Koivu
Virtual Machine Man
[Avatar]

Membro desde: 16/09/2004 09:49:27
Mensagens: 574
Localização: Curitiba-PR
Offline

mister__m wrote:Em primeiro lugar, Sami, parabéns mesmo pelo projeto. Engraçado que sugeri para um amigo fazer um editor que relacionasse o fonte com o bytecode gerado.

Seu projeto faz isso, i.e., é possível visualizar graficamente a relação entre código-fonte x bytecode (binário mesmo) x pseudo-assembly?

PS: Desculpa perguntar ao invés de fazer download, mas o tempo urge.


Obrigado, Michael. E que nada, estou mais do que disposto a responder.

Ao que interessa: Infelizmente o reJ ainda não consegue visualizar o código fonte. Se a informação sobre a relação entre as linhas de código fonte e o bytecode gerado está presente no arquivo .class ele consegue visualizar isto. Ou seja, ele mostra qual é o número da linha de código fonte original referente a cada instrução de bytecode.

Fazer a decompilação de bytecode para código fonte é algo que eu gostaria de tentar fazer mas como é longe de ser trivial eu nem tenho começado.

Claro que essa visualização gráfica entre código fonte e bytecode poderia ser feito utilizando o código fonte existente, onde disponível. Isto não tinha me ocorrido antes. Assim até seria relativamente simples de implementar.

O que o projeto faz no momento é que ele mostra esse que você titulou de pseudo-assembly com syntax-highlighting, mostrando a definição da classe, dos campos e dos métodos no estilo de código fonte java.

O binário ele também não mostra no momento. Isto seria extremamente simples de implementar (e visualizar). E por ser tão simples e interessante acho que vou logo implementar como algo que pode ser ligado e desligado (porque cria um pouco mais de "visual noise" que não traz valor extra para todos os casos). A parte de código fonte ainda requer um pouco de planejamento.

Resumindo: Provavelmente não é exatamente o que você tem em mente, mas acho que também não fica muito longe disso e seria uma boa direção para o projeto andar.

A finalidade dessa visualização da relação entre o código fonte x bytecode x pseudo-assembly seria ajudar nós entender melhor a relação, certo? (desculpe a pergunta talvez meio óbvia, mas quero ter certeza que estou conseguindo seguir seu pensamento)

[]s,
Sami

(Slightly) Random Broken Thoughts on Java Security
[Email] [WWW] [Yahoo!] [MSN]
Grinvon
GUJ Master
[Avatar]

Membro desde: 18/08/2003 22:10:49
Mensagens: 1899
Localização: Em qualquer lugar
Offline

Parabéns Sami, darei uma olhada.

Agora me diga, tu é filandês mas morou quanto tempo aqui no Brasil?

Ah.. curte Apocalyptica?

>> Inocêncio.
[MSN] [ICQ]
mister__m
Virtual Machine Man
[Avatar]

Membro desde: 18/03/2005 16:13:17
Mensagens: 736
Offline

A ideia nao seria decompilar e sim usar como ferramenta de ensino. Imagina que o usuario escolha o source root e o class root e o reJ mostre os dois em modo sincronizado. Seria muitissimo interessante pro sujeito entender bytecode! Algumas coisas dao trabalho, como o constant pool, mas seriam as mais divertidas.

Sami Koivu wrote:O binário ele também não mostra no momento. Isto seria extremamente simples de implementar (e visualizar). E por ser tão simples e interessante acho que vou logo implementar como algo que pode ser ligado e desligado


Legal. Eu havia pensado em exibir um split pane com o binario em hexa.

Sami Koivu wrote:A finalidade dessa visualização da relação entre o código fonte x bytecode x pseudo-assembly seria ajudar nós entender melhor a relação, certo?


Sim, como eu disse acima. Seria uma ferramenta unica de compreensao de bytecode, alem de um editor.

Michael Nascimento Santos, aka Mister M

Summa Technologies do Brasil - http://www.summa-tech.com/
genesis: Uma nova forma de desenvolver aplicações - https://genesis.dev.java.net/
ThinNB: Suporte a Thinlet no NetBeans - https://thinnb.dev.java.net/
Líder da JSR-310 - Date and Time API
Expert Group Member das JSRs 207 (PD4J), 250 (Common Annotations), 270 (Java 2 SE 6.0), 296 (Swing Framework) e 303 (Bean Validation)
SouJava: Fortalecendo a comunidade Java brasileira - https://soujava.dev.java.net/ https://www.soujava.org.br/
JSR Community @ java.net - http://community.java.net/jsr
Blogs - http://blog.michaelnascimento.com.br/ http://today.java.net/pub/au/80
Twitter - @mr__m
[WWW]
Sami Koivu
Virtual Machine Man
[Avatar]

Membro desde: 16/09/2004 09:49:27
Mensagens: 574
Localização: Curitiba-PR
Offline

Grinvon wrote:Parabéns Sami, darei uma olhada.

Agora me diga, tu é filandês mas morou quanto tempo aqui no Brasil?

Ah.. curte Apocalyptica?


Valeu. Eu tenho morado um total de 12 meses no Brasil. 7 meses em 2002 em São Paulo e 5 meses em 2006 em Curitiba. Pena que foram 5 meses muito corridos e não deu para conhecer muita gente do fórum.

Apocalyptica? Os caras que tocam músicas de Metallica com Cellos? heheh, pelo que eu tenho ouvido na televisão, o som deles é legal, mas nunca escutei muito. Estava preocupado demais em ouvir música Brasileira para melhorar meu português.

[]s,
Sami

(Slightly) Random Broken Thoughts on Java Security
[Email] [WWW] [Yahoo!] [MSN]
Sami Koivu
Virtual Machine Man
[Avatar]

Membro desde: 16/09/2004 09:49:27
Mensagens: 574
Localização: Curitiba-PR
Offline

mister__m wrote:A ideia nao seria decompilar e sim usar como ferramenta de ensino. Imagina que o usuario escolha o source root e o class root e o reJ mostre os dois em modo sincronizado. Seria muitissimo interessante pro sujeito entender bytecode! Algumas coisas dao trabalho, como o constant pool, mas seriam as mais divertidas.


mister__m wrote:Legal. Eu havia pensado em exibir um split pane com o binario em hexa.


mister__m wrote:Sim, como eu disse acima. Seria uma ferramenta unica de compreensao de bytecode, alem de um editor.


Idéias, sugestões, visões! Valeu mesmo pelo feedback, Michael.

A parte do constant pool realmente é complicado com associado com várias linhas de código fonte e cada linha de código fonte associada vários itens do constant pool. Mas dá para fazer, acho, dá para descobrir quais atributos, métodos, campos e instruções utilizam cada item do constant pool e associar instruções com linhas de código fonte é simples, claro. O resto (os campos, por exemplo) requer que a fonte é parseado.

E split pane para mostrar o binario em hexa também parece uma boa idéia. Já havia pensado em adicionar (ou escrever ou tentar encontrar) um componente para visualizar (e talvez editar) binario em hexa para qualquer atributo que não é conhecido pelo reJ e que por isso não pode ser parseado.

[]s,
Sami

(Slightly) Random Broken Thoughts on Java Security
[Email] [WWW] [Yahoo!] [MSN]
mister__m
Virtual Machine Man
[Avatar]

Membro desde: 18/03/2005 16:13:17
Mensagens: 736
Offline

Sami Koivu wrote:O resto (os campos, por exemplo) requer que a fonte é parseado.


Pra isso voce pode usar as APIs de annotation parsing e do javac (Tree API). A primeira jah foi padronizada e serah parte do Java 6 e a segunda com certeza nao vai demorar muito nao O NetBeans 6 usa elas com Java 5.

Michael Nascimento Santos, aka Mister M

Summa Technologies do Brasil - http://www.summa-tech.com/
genesis: Uma nova forma de desenvolver aplicações - https://genesis.dev.java.net/
ThinNB: Suporte a Thinlet no NetBeans - https://thinnb.dev.java.net/
Líder da JSR-310 - Date and Time API
Expert Group Member das JSRs 207 (PD4J), 250 (Common Annotations), 270 (Java 2 SE 6.0), 296 (Swing Framework) e 303 (Bean Validation)
SouJava: Fortalecendo a comunidade Java brasileira - https://soujava.dev.java.net/ https://www.soujava.org.br/
JSR Community @ java.net - http://community.java.net/jsr
Blogs - http://blog.michaelnascimento.com.br/ http://today.java.net/pub/au/80
Twitter - @mr__m
[WWW]
boaglio
Moderador
[Avatar]

Membro desde: 09/09/2002 21:23:39
Mensagens: 1865
Localização: Sampa City
Offline

Sami Koivu wrote:
Apocalyptica? Os caras que tocam músicas de Metallica com Cellos? heheh, pelo que eu tenho ouvido na televisão, o som deles é legal, mas nunca escutei muito. Estava preocupado demais em ouvir música Brasileira para melhorar meu português.


Melhorar? Seu português é melhor do que muita gente por aqui...

Só o primeiro álbum do Apocalyptica faz cover do Metallica, os outros variam mais, incluindo outras bandas como por exemplo o Refuse/Resist do Sepultura e Domination do Pantera no álbum Inquisition_Symphony.



 

Tem dúvidas de Java? Poste no fórum! Não respondo dúvidas de Java via MP!
[WWW]
Grinvon
GUJ Master
[Avatar]

Membro desde: 18/08/2003 22:10:49
Mensagens: 1899
Localização: Em qualquer lugar
Offline

Sami Koivu wrote:
Grinvon wrote:Parabéns Sami, darei uma olhada.

Agora me diga, tu é filandês mas morou quanto tempo aqui no Brasil?

Ah.. curte Apocalyptica?


Valeu. Eu tenho morado um total de 12 meses no Brasil. 7 meses em 2002 em São Paulo e 5 meses em 2006 em Curitiba. Pena que foram 5 meses muito corridos e não deu para conhecer muita gente do fórum.

Apocalyptica? Os caras que tocam músicas de Metallica com Cellos? heheh, pelo que eu tenho ouvido na televisão, o som deles é legal, mas nunca escutei muito. Estava preocupado demais em ouvir música Brasileira para melhorar meu português.

[]s,
Sami


Eu gosto muito de apocalyptica, começei escutando os primeiros albúns, que tocam músicas realmente do MetallicA.

Seu português é muito bom, pensei que você fosse um brazuca que mora na Filândia!

>> Inocêncio.
[MSN] [ICQ]
Grinvon
GUJ Master
[Avatar]

Membro desde: 18/08/2003 22:10:49
Mensagens: 1899
Localização: Em qualquer lugar
Offline

boaglio wrote:
Sami Koivu wrote:
Apocalyptica? Os caras que tocam músicas de Metallica com Cellos? heheh, pelo que eu tenho ouvido na televisão, o som deles é legal, mas nunca escutei muito. Estava preocupado demais em ouvir música Brasileira para melhorar meu português.


Melhorar? Seu português é melhor do que muita gente por aqui...

Só o primeiro álbum do Apocalyptica faz cover do Metallica, os outros variam mais, incluindo outras bandas como por exemplo o Refuse/Resist do Sepultura e Domination do Pantera no álbum Inquisition_Symphony.



Para mim o Inquisition Symphony é o melhor álbum deles, não pelo Sepultura que gosto muito (das antigas), mas o trabalho em si do CD é fantástico, tenho o último trabalho deles é muito bom também, mais pop para ficar mais atingível, porém muito bom, até melhor que o "Cult" creio eu.

>> Inocêncio.
[MSN] [ICQ]
Sami Koivu
Virtual Machine Man
[Avatar]

Membro desde: 16/09/2004 09:49:27
Mensagens: 574
Localização: Curitiba-PR
Offline

mister__m wrote:
Sami Koivu wrote:O resto (os campos, por exemplo) requer que a fonte é parseado.


Pra isso voce pode usar as APIs de annotation parsing e do javac (Tree API). A primeira jah foi padronizada e serah parte do Java 6 e a segunda com certeza nao vai demorar muito nao O NetBeans 6 usa elas com Java 5.


Valeu mesmo pelas dicas, Michael. Eu até ia perguntar se você soubesse um API mas achei que seria abuso. Bom, legal, vamos ver se já consigo pelo menos uma parte dessas novidades para o próximo release. Com certeza irá melhorar a parte de entendimento do bytecode.

[]s,
Sami

(Slightly) Random Broken Thoughts on Java Security
[Email] [WWW] [Yahoo!] [MSN]
Sami Koivu
Virtual Machine Man
[Avatar]

Membro desde: 16/09/2004 09:49:27
Mensagens: 574
Localização: Curitiba-PR
Offline

boaglio wrote:Melhorar? Seu português é melhor do que muita gente por aqui...


Grinvon wrote:Seu português é muito bom, pensei que você fosse um brazuca que mora na Filândia!


Obrigado, gente, mas vocês deveriam ouvir meu sotaque que é horroroso. Cadê o Marcio? Ele teve que sofrer tentando entender meu português falado.

E sobre o Apocalyptica, foi mal, não quis dizer que eles só tocam músicas do Metallica é só que é assim que eu estou acostumado a definir o grupo. Talvez não seja justo, mas é prático.

Conversa entre Sami e amigos finlandeses wrote:
-Acho que esse grupo é o Apocalyptica.
-Hein?
-Apocalyptica.
-Hnnh?
-Os caras que tocam Metallica com Cellos.
-Ahh, eles, sei.

(Slightly) Random Broken Thoughts on Java Security
[Email] [WWW] [Yahoo!] [MSN]
kuchma
Moderador
[Avatar]

Membro desde: 17/01/2003 19:36:16
Mensagens: 1231
Localização: Curitiba - PR
Offline

Sami Koivu wrote:Obrigado, gente, mas vocês deveriam ouvir meu sotaque que é horroroso. Cadê o Marcio? Ele teve que sofrer tentando entender meu português falado.


Que isso - nao eh horroroso nao, apenas interessante. Tua comunicacao verbal em portugues esta em um nivel legal - da pra sustentar a conversacao numa boa.

Mas nao pecam ao Sami que fale sobre batatas.


Marcio Kuchma

E tu, Belém-Efrata, pequena demais para figurar como grupo de milhares de Judá, de ti me sairá o que há de reinar em Israel, e cujas origens são desde os tempos antigos, desde os dias da eternidade. Mq 5:2, Miquéias, 750 AC aprox.
[WWW] [ICQ]
 
Índice dos Fóruns » Notícias
Ir para:   
Powered by JForum 2.1.8 © JForum Team