BT
x Por favor preencha a pesquisa do InfoQ !

IronJS: uma linguagem sobre o DLR do .Net

por Roopesh Shenoy , traduzido por Leonardo Campos em 04 Out 2012 |

O IronJS é uma implementação do ECMAScript 3.0 sobre o DLR (Dynamic Language Runtime). Em entrevista recente concedida ao i-programmer, o criador do IronJS, Fredrik Holmström, comenta os detalhes da implementação de uma linguagem sobre o DLR do .Net. Um detalhe enfatizado por Fredrik é a quantidade de trabalho que se reduz com o uso do runtime:

O DLR oferece muitos benefícios, sem custos, como a interoperabilidade com linguagens, além da confiabilidade no código do próprio DLR. Grande parte do problema tecnológico é resolvida devido à geração do IL (Intermediate Language).

Fredrik aponta duas formas de se utilizar o DLR - por meio do uso de binders associados - ou por intermédio do DLR, como gerador de linguagem intermediária e ferramenta de compilação, fazendo-se o próprio binding. Como a primeira opção é mais lenta, o IronJS usa a segunda. O efeito colateral de se fazer as próprias associações, porém, é a perda de interoperabilidade com outras linguagens que rodam sobre o DLR.

O parser do IronJS é atualmente escrito em F#, com o runtime principal escrito em C#. Fredrik planeja substituir todo o código escrito em F# por C#, com o intuito de aumentar ainda mais a velocidade do IronJS. No entanto, em entrevista a Scott Hanselmann, Fredrik declara que mais cedo ou mais tarde o IronJS chegará ao limite de desempenho, por ser implementado sobre o CLR (Common Language Runtime) - isso se comparado a soluções como o V8, escrito em código nativo.

Caso deseje implementar sua própria linguagem sobre o DLR, um bom lugar para começar é a documentação. Pode-se também estudar o código-fonte de uma das linguagens "Iron", como IronPython ou IronRuby.

Avalie esse artigo

Relevância
Estilo/Redação

Olá visitante

Você precisa cadastrar-se no InfoQ Brasil ou para enviar comentários. Há muitas vantagens em se cadastrar.

Obtenha o máximo da experiência do InfoQ Brasil.

Dê sua opinião

HTML é permitido: a,b,br,blockquote,i,li,pre,u,ul,p

Receber mensagens dessa discussão
Comentários da comunidade

HTML é permitido: a,b,br,blockquote,i,li,pre,u,ul,p

Receber mensagens dessa discussão

HTML é permitido: a,b,br,blockquote,i,li,pre,u,ul,p

Receber mensagens dessa discussão

Dê sua opinião
Feedback geral
Bugs
Publicidade
Editorial
Marketing
InfoQ Brasil e todo o seu conteúdo: todos os direitos reservados. © 2006-2016 C4Media Inc.
Política de privacidade
BT

Percebemos que você está utilizando um bloqueador de propagandas

Nós entendemos porquê utilizar um bloqueador de propagandas. No entanto, nós precisamos da sua ajuda para manter o InfoQ gratuito. O InfoQ não compartilhará seus dados com nenhum terceiro sem que você autorize. Procuramos trabalhar com anúncios de empresas e produtos que sejam relevantes para nossos leitores. Por favor, considere adicionar o InfoQ como uma exceção no seu bloqueador de propagandas.