[SP-pm] Map Reduce

Eden Cardim edencardim at gmail.com
Thu Jan 13 04:13:27 PST 2011


>>>>> "Alexei" == Alexei Znamensky <russoz em gmail.com> writes:

    Alexei> O meu cotidiano no trabalho, right now, consiste, dentre
    Alexei> outras coisas, de instalar binários (.class compilados em
    Alexei> máquinas Windows/Intel de desenvolvimento) para executar em
    Alexei> JVMs que rodam em AIX/PowerPC. Seria muito difícil ter isso
    Alexei> sem VMs. Sem VMs, todos os developers (quase
    Alexei> que-independentemente da linguagem a ser escolhida) seriam
    Alexei> obrigados a usar algum servidor AIX para compilar e testar
    Alexei> seu código. Como os ciclos de desenvolvimento, hoje, estão
    Alexei> extremamente calcados em tentativa-e-erro (por vários
    Alexei> motivos que não vou entrar no mérito agora), o tempo gasto
    Alexei> para desenvolver o mesmo código caiu drasticamente, pois o
    Alexei> developer pode usar sua CPU e SO baratos para malhar o
    Alexei> código e rodar testes unitários, e o binário que ele gera
    Alexei> localmente pode ser simplesmente copiado para o servidor de
    Alexei> testes, onde será novamente, e mais duramente,
    Alexei> sabatinado. Não é preciso recompilar (ou, não seria, mas
    Alexei> nunca subestime a estupidez humana).

    Alexei> Por outro lado, VMs têm o custo de performance associado à
    Alexei> interpretação/execução dos opcodes virtuais, então com o
    Alexei> tempo, os implementadores de JVMs acabaram fazendo essas
    Alexei> "traduções" de opcodes virtuais para nativos em tempo de
    Alexei> execução, para melhorar esse ponto. Me parece uma evolução
    Alexei> quase que "natural" do conceito.

Certo, mas porque não pegar os opcodes, distribuir, e compilar para
código nativo na máquina-alvo antes de rodar, já que tudo vai
eventualmente ser compilado de qualquer forma.

    Alexei> Assim, meio que respondendo ao email que o Otávio mandou
    Alexei> enquanto escrevo este, a JVM já está caminhando para ser
    Alexei> mais do que "a VM para rodar Java", e está se tornando "a
    Alexei> 'Java' (as in 'um nome qualquer') VM, que roda programas em
    Alexei> diversas plataformas físicas, em qualquer linguagem original
    Alexei> que elas tenham sido feitas". Hence, temos JRuby, Scala,
    Alexei> Jython, etc...

    Alexei> Digo mais (sob o risco de polemizar ainda mais o tópico): se
    Alexei> o Perl tivesse uma versão que gerasse bytecode no padrão de
    Alexei> JVM, aí sim a linguagem iria abocanhar de volta uma gorda e
    Alexei> suculenta fatia do mercado (claro que não seria somente
    Alexei> isso, não é bala de prata, mas isso ajudaria bastante,
    Alexei> IMHO).  </disclaimer>

É isso que o pessoal do parrot está tentando fazer.

-- 
Eden Cardim
Software Engineer
+55 73 9986-3963
edencardim.com


More information about the SaoPaulo-pm mailing list