Parrot 3.0
Enviado por Elvis (elvisΘbol·com·br):
“”Foi lançada a versão 3.0 do Parrot, um programa de máquina virtual para executar bytecode para diversas linguagens dinâmicas. Atualmente ele suporta uma série de implementações, como Tcl, Javascript, Ruby, Lua, Scheme, PHP, Python, Perl 6, APL e um tradutor .NET.”” [referência: guiadohardware.net]
• Publicado por Augusto Campos em
2011-01-19
programa órfão do Perl6.
O que ele faz?, uma espécie de “sandbox”, ou o que?
@rogerio machado,
É uma máquina virtual que roda bytecodes gerados a partir das linguagens que ele suporta. É “semelhante” à máquina virtual do java, da .Net, Dalvik do Android. etc.
Veja
http://en.wikipedia.org/wiki/Parrot_virtual_machine
e
http://en.wikipedia.org/wiki/Comparison_of_application_virtual_machines
para uma comparação de recursos entre o Parrot e outras máquinas virtuais.
Quais as vantagens de usar essa VM em relação aos compiladores / interpretadores originais de cada linguagem?
@devnull,
Em relação aos interpretadores, creio que a vantagem é a velocidade de execução a partir da segunda execução do código porque aí não será mais preciso analisar o código-fonte, apenas rodar os bytecodes já “compilados” na primeira execução.
Em relação à compilação direta para código de máquina, creio que a vantagem é a flexibilidade e a possibilidade maior de integrar códigos escritos nas várias linguagens que a máquina virtual suporta.
eu acompanhava sua evolução avidamente 5 anos atrás. Depois, parei de me importar, assim como com Perl6…
Sinceramente acho uma perda de tempo fazer outra máquina virtual para várias linguagens .Isso não faz o Software Livre/Open Source crescer pois é um grande trabalho repetitivo que fica necessitando de desenvolvedores para fazer mais do mesmo.
Na minha opinião para o Software Livre/Open Source progredir deveria ser investido tempo em uma linguagem de programação extremamente fácil e que economiza muita dinheiro. Deveriam pegar toda essa equipe do parrot e fazer isso.
@self_liar Isso. Chega de reinventar a roda: fiquemos com as de pedra! :P
@self_liar Quanta bobagem!
@Siberian
Temos rodas muito boas :linguagens e máquinas virtuais muito boas .Fazer de novo a mesma coisa?
Não está na hora de ver as outras coisas que o software livre necessita? Drivers por , jogos e guias por exemplo?
@self_liar, eu prefiro muito mais fazer alguma coisa por gostar de estar fazendo (mesmo que seja “reinventar”) do que ser obrigado a fazer algo que “faça o open source progredir”. Como a maioria dos projetos open source são voluntários, aqueles que trabalham neles o fazem por prazer. Ser obrigado a fazer algo sem prazer só leva à diminuição de produtividade. Deixa o pessoal trabalhar. Não é incomum que pessoas de projetos distintos se comuniquem para “trocar uma ideia”. Não por obrigação, mas por prazer.
@Tenchi
Entendo,mas é realmente importante que as comunidades livre/opensource criem foco. Não dá para fazer 1000 distros , 1000 players de música,1000 sistemas operacionais e etc. Isso deixa as coisas enfraquecidas.
Até entendo que façam como forma de satisfação pessoal,mas talvez mudar para um projeto que tenha mais importante para o software livre,não é tão ruim assim .É só uma questão de compreensão.
Se o software livre quiser progredir ,terá que levar a comunidade bem unida e não ter tempo para diversão que enfraqueça a comunindade.
@self_liar, hoje vou descordar completamente do seu ponto de vista. Em geral você apresenta um ponto de vista de quem gosta do software livre, mas isso que você sugere é simplesmente estúpido. Um grupo de desenvolvedores se reúne e lança um software qualquer, mas mais do que isso, eles o disponibilizam como software livre, que pode ser estudado, compartilhado e modificado/reutilizado para qualquer propósito, aí vem um bando de gente que não contribui em NADA com o código dos caras e diz: -Ei caras, vão ajudar a “comunidade” por que vocês não estão ajudando “reinventando” a roda e blá blá blá. Pois eu digo que se eu fosse um desses desenvolvedores mandaria você catar coquinho, falar menos e fazer mais, ou melhor se não tem nada melhor pra falar ou criticar _em relação ao meu(deles) projeto_, não fale nada.
O meu ponto é, faça software, mas o faça livre, seja qual for o propósito, sempre haverão interessados em formar uma comunidade em torno desse software se ele for bom. Acho inclusive um erro primário tratar o universo do software livre como uma _comunidade_ quando na verdade são _várias comunidades_, cada qual com afinidade e interesses próprios, mas que compartilham um ideal/interesse em comum, o software livre.
@self_liar: É bom que haja diversidade e que tenham vários projetos concorrentes entre si. Unanimidades geram comodismo, e projetos grandes cedo ou tarde tendem à divisão.
E, quanto ao Parrot, acho que é um projeto bom. Quantas empresas não possuem dezenas de servidores de aplicação, cada um para uma linguagem diferente, com opções de tuning e de manutenção que dão nos nervos? O Parrot, ao se tornar um “guarda-chuva para linguagens dinâmicas”, tem um potencial enorme para fincar de vez a bandeira do SL em ambientes corporativos.
@Marcelo Mendesao
Falou TUDO.
@Marcelo Mendesao
Creio que a crítica é válida, pois senão entraremos em um circulo de “não-evolução” que é o seguinte: EU critico, mas como não colaboro com o software minha opinião é nula. Não é BEM assim que funciona.
A crítica foi válida, e concordo que o self_liar também deve ter uma opinião de que seria melhor UNIR forças para desenvolver projetos já existentes como a OpenJDK, o Perl, porém existem dois quesitos antes a serem verificados
1) Se o projeto PARROT por exemplo, não é fruto de uma necessidade específica: Implementação de VM híbrida em dispositivos de poucos recursos
(não necessariamente um dispositivo embarcado, mas uma distro minimalista, para micros que rodaram 2 ou 3 linguagens abordadas nas suportadas pelo PARROT)
2) Se os projetos que poderiam ser aprimorados ao invés do PARROT possuem a necessidade de aprimoramento, e se eles possuem ABERTURA a atualizações, pois alguns softwares são beeeeeeeem burocráticos no quesito colaboração.
Eu apoio a iniciativa do Parrot, mas acho que eles podem esbarrar em problemas do tipo, softwares que EXIGEM a VM de uma linguagem, como por exemplo, o banco online de “certo banco”, que vive dando pau quando se usa a OpenJDK…
Acho inclusive um erro primário tratar o universo do software livre como uma _comunidade_ quando na verdade são _várias comunidades_, cada qual com afinidade e interesses próprios, mas que compartilham um ideal/interesse em comum, o software livre.
Na minha opinião esse ideal comum não deve ser tratado como segunda mão. Se o a comunidade de software livre fosse mais unida e não fizesse tudo por diversão ,muitos projetos teriam mais estabilidade e mais recursos disponíveis.
Temos que entender que o software livre é uma variável que deve ser mantida crescente .Projetos que dispersam seu crescimento simplesmente por questões técnicas ou de diversão acabarão destruindo o software livre pois existem competição constante que pode nos ultrapassar.
É só imaginar uma coisa : O que vale mais?Um player bom estável ou 10 players ruins feitas com linguagens diferentes?
Parece-me possível fazer um player bom e estável aproveitando-se boas idéias de 10 players “ruins” feitos com linguagens diferentes.
bota uma métrica ae! até 10 projetos tá valendo a diversidade, passando disso, deve-se juntar a um deles! mais justo para todos!
Valtoir
É que você não entendeu, se todo mundo fazer um projeto open-source do jeito que quiser sem relevar os outros integrantes da comunidade,então o software livre/open source vai definhar.