[SP-pm] Comparativos Perl vs Java

Leonardo Ruoso leonardo at ruoso.com
Sun Aug 14 12:14:16 PDT 2011


Oi Eden, 



Em Dom, 2011-08-14 às 11:48 -0300, Eden Cardim escreveu:
> >>>>> "Leonardo" == Leonardo Ruoso <leonardo em ruoso.com> writes:
> 
>     Leonardo> Fora isso, no passado, nossa equipe, que vinha de uma
>     Leonardo> experiência exclusiva em Perl de vários anos e se arriscou
>     Leonardo> em um grande projeto J2EE, fizemos tradução automática
>     Leonardo> (usando Perl) de arquivos .pm para arquivos .java e
>     Leonardo> vice-versa com sucesso :-).
> 
> Muito interessante. Não estou querendo parecer sarcástico ou
> tendencioso, mas, acho que características semânticas que não são
> portáveis entre as duas linguagens, tanto na compilação de Java pra Perl
> quanto na conversão de Perl pra Java. O paradigma muda tanto que eu não
> faço idéia nem por onde eu iria começar a fazer o mapeamento, no máximo,
> um compilador perl => jvm.

Talvez o que tenha soado absurdo seja que «uma tradução automática de
arquivos .pm para .java» tenha lhe soado como «um tradutor Perl para
Java». Uma coisa é traduzir classes de uma aplicação ou framework
específico de uma linguagem para outra, outra coisa totalmente diferente
seria ter feito uma aplicação de uso geral. Acho que agora vai lhe soar
menos fantástico...

> Em particular estou curioso pra saber como vocês (por sinal, quem é o
> sujeito oculto de "fizemos"? :) ) 

Seria injusto atribuir qualquer dos resultados de um trabalho em equipe,
produzido como resultado do trabalho e do aprendizado coletivo, contando
as linhas de código dos commits (aliás eu acidentalmente pus fim ao
histórico do CVS há alguns meses), ainda mais com pair programming...

> traduziram coisas como:
> 
> Java => Perl
> - final method
> - final class
> - abstract class
> - proteção de memória
> - referências cíclicas (que não são um problema porque java usa
>   mark-and-sweep, enquanto que perl usa reference counting e vaza
>   memória nesses casos)
> 
> Perl => Java
> - programação não-OO
> - manipulação da tabela de símbolos
> - referências de subrotinas e closures
> - eval
> - passagem implícita de argumentos por referência
> - regex
> - globs
> - tie
> - operator overloading
> 
> Imagino que tem uma linha de corte no que vocês compilam ou não, mas
> mesmo assim é difícil enxergar onde seria essa linha de corte, e você
> teria que se restringir a ficar dentro do subset de semântica com a qual
> o compilador perl/java java/perl consegue lidar, do ponto de vista
> administrativo, o overhead administrativo de garantir esse subset mata o
> ROI que uma solução dessa poderia oferecer.

Acho que ficou claro lá no começo que sua leitura foi muito mais
abrangente do que minha intenção ao escrever. Eu espero ter esclarecido,
senão, basta olhar a coisa por outro lado, simplificando as coisas até
você dizer: «Ah! Tá! Isso era possível...»  

> 

-- 
Leonardo Ruoso - Journalist/Perl Developer
Media - UFC/2006 - Telecommunications - IFCE/1998
leonardo em ruoso.com - (11) 3522-9612



More information about the SaoPaulo-pm mailing list