Projeto Rubor

rubor

A quantidade e a diversidade de linguagens de programação é algo impressionante (http://bit.ly/1q09XKw). Neste conglomerado computacional, cada linguagem traz consigo as marcas de sua filosofia e propósito de uso. Quem já teve a oportunidade de trabalhar com várias destas linguagens, provavelmente terá condições de enumerar pontos fortes e a presença de elementos facilitadores de cada uma.

Neste “passeio” entre linguagens é muito comum que desenvolvedores queiram que determinadas features sejam compartilhadas entre sintaxes diferentes. Diante disto foi que Yan Justino, que recentemente utilizava Ruby enquanto estava na Codeminer(www.codeminer42.com), criou o projeto Rubor(https://github.com/ycodeteam/rubor).

A proposta deste projeto é trazer para o C# algumas features da linguagem Ruby. Para tal, a biblioteca fornece várias extensões que criam e abstraem métodos C# com assinaturas da linguagem Ruby. Um exemplo disto é o método Times da classe Integer do Ruby:

3.Times { puts ‘olá mundo’ }
=> olá mundo
=> olá mundo
=> olá mundo

No código acima, o métdo Times itera três ciclos executando o block/lambda passado como argumento. Utilizando as extensões do Rubor podemos realizar a mesma operação em C#:

3.Times(x => { Console.Write(‘olá mundo’); });
=> olá mundo
=> olá mundo
=> olá mundo

Seguindo as tendências e causas abraçadas recentemente pela comunidade .net, O Rubor é mais uma iniciativa open source que tenta compartilhar código de forma livre e aberta. Este projeto é encabeçado pela ycode, que além do Rubor, também vem reescrevendo outras features Ruby para .net. Para saber mais sobre a ycode e o Rubor acesse https://github.com/ycodeteam.

Tags: ,
  • Alexsandro

    Legal, não conhecia. :)

  • http://marciopmm.blogspot.com Marcio Paulo Mello Martins

    Muito bom! Espero que o Rubor seja para o C# 5.0 o que foi o Elevate na versão 1.1. O Elevate era um framework de extensão do C# com diversas classes e métodos auxiliares. Na versão 2.0 ele foi incorporado ao .NET Framework. Então, tomara que o Rubor seja incorporado ao C# nas versões vindouras! Parabéns!