Esta notícia foi originalmente publicada em 30 de abril de 2007 e faz parte da coleção das melhores notícias de 2007 publicadas na InfoQ
A Microsoft anunciou na MIX07 o IronRuby, uma implementação do Ruby rodando no .Net CLR. Neste ponto o IronRuby é similar ao JRuby na Java VM e não deve ser confundido com ferramentas como o Ruby /.NET Bridge o qual apenas conecta um interpretador Ruby com a VM .Net.
Jim Hugunin, desenvolvedor do IronPython, uma versão do Python que roda em .Net, fornece mais informações sobre a tecnologia por trás do IronRuby, IronPython e algumas outras linguagens dinâmicas:
A nova Dynamic Language Runtime (DLR) adiciona um pequeno conjunto de funcionalidades à CLR para torná-la
drasticamente melhor. A DLR adiciona à plataforma um conjunto de serviços projetados especificamente para as necessidades
das linguagens dinâmicas. Esses serviços incluem um sistema compartilhado de tipagem dinâmica, um modelo de hosting padrão e suporte
para facilitar a geração de código dinâmico que seja rápido. Com estas funcionalidades adicionais
criar uma linguagem dinâmica de alta qualidade em .Net ficou drasticamente mais fácil. Mais importante ainda é que essas funcionalidades
permitem todas as linguagens dinâmicas que utilizem a DLR possam compartilhar código com outras linguagens dinâmicas livremente,
bem como, com as poderosas linguagens estáticas já existentes na plataforma, tais como VB.Net e C#.
Ele também aponta que as fontes do IronPython e da nova DLR estão disponíveis.
Uma versão oficial do Ruby da Microsoft tem sido esperada por membros observadores da comunidade Ruby. Um indicativo foi que John Lam, criador do Ruby.CLR e agora na Microsoft, esteve em fóruns tais como o ruby-core, fazendo perguntas detalhadas sobre o comportamento do Ruby e de algumas de suas bibliotecas.
Isto casou com a iniciativa de Charles O. Nutter do JRuby, que está por trás do esforço para obter uma especificação apropriada para o Ruby. Ele começou há muito tempo o Wiki do Ruby Spec e tenta encorajar o envolvimento da comunidade neste projeto. Outro esforço conduzido em dois projetos patrocinados pelo Google SoC (Summer of Code) foi o de definir conjuntos de testes que possam especificar o comportamento do Ruby utilizando RSpec, um framework em Ruby para "especificações executáveis".
Isto é, obviamente, muito importante para todas as implementações do Ruby, tais como JRuby, Rubinius ou o IronRuby, porque saber quais comportamentos e funcionalidades implementar é essencial. O comportamento da maioria das funcionalidades e bibliotecas do Ruby está documentado apenas em seu código fonte.
Em função disto, Charles O Nutter encoraja a Microsoft a se juntar ao esforço:
Nós esperamos que eles (Microsoft) se juntem a nós no esforço de construir uma especificação da comunidade para o Ruby e um conjunto comum de testes open-source de compatibilidade.
Quando perguntado sobre esta entrada da Microsoft no mundo Ruby, Charles O Nutter disse:
É bom ver que a Microsoft também percebeu o potencial do Ruby e que eles estejam começando sua própria implementação do Ruby. Isto valida o tempo e esforço que nós colocamos no JRuby e ajuda a enfatizar a importância do Ruby e de outras linguagens dinâmicas na JVM.