BT

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

We notice you’re using an ad blocker

We understand why you use ad blockers. However to keep InfoQ free we need your support. InfoQ will not provide your data to third parties without individual opt-in consent. We only work with advertisers relevant to our readers. Please consider whitelisting us.