Oi Eden,
Em Dom, 2011-08-14 às 11:48 -0300, Eden Cardim escreveu: > >>>>> "Leonardo" == Leonardo Ruoso <[email protected]> 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 [email protected] - (11) 3522-9612 =begin disclaimer Sao Paulo Perl Mongers: http://sao-paulo.pm.org/ SaoPaulo-pm mailing list: [email protected] L<http://mail.pm.org/mailman/listinfo/saopaulo-pm> =end disclaimer
