Após o sucesso do PHP, do Ruby, principalmente com a plataforma Rails, e do crescimento exponencial de Python, a Microsoft investe para disponibilizar estas novas linguagens também na plataforma .NET. Com a filosofia “desenvolva em qualquer linguagem, desde que seja na minha plataforma”, a Microsoft vem ganhando cada vez mais adeptos, e gerando cada vez mais recursos para facilitar e fidelizar (ou evangelizar, como a MS gosta de falar) o desenvolvedor.
Linguagens dinâmicas
As linguagens dinâmicas existem desde 1956, com o Lisp, depois seguidas pelo Fortran, Logo, SmallTalk, PhP, Python, Ruby, JavaScript, entre outras. Diferente das linguagens estáticas, as linguagens dinâmicas não validam o código durante a compilação, mas sim em tempo de execução, podendo ser uma grande vantagem quando é necessário fazer alterações sem muita “burocracia”.
Em projetos que se requer agilidade, o uso deste tipo de linguagem é de grande valia, pois permite realizar basicamente o que você quiser, com pouco código, porém como tudo na vida há um preço a se pagar, por exemplo: é mais difícil se aproveitar um código dinâmico do que um código “estático”.
Performance
Umas das grandes preocupações de linguagens dinâmicas é a performance da aplicação. Em testes, a versão do Python para o .NET, o IronPython apresentou performance equivalente ou superior à versão do Python baseada em C. Existe uma crença de que linguagens dinâmicas possuem uma performance inferior às linguagens estáticas, porém com as máquinas cada vez mais poderosas, esta diferença fica cada vez menos observável.
DLR
O DLR (Dynamic Language Runtime) permite rodar linguagens dinâmicas em cima do CLR (Common Language Runtime), que provê serviços comuns a todas as linguagens suportadas pelo framework. O DLR inclui funcionalidades que suportam linguagens dinâmicas, como a criação de códigos dinâmicos de forma rápida, além de prover suporte para as bibliotecas já existentes no framework .NET e manter uma interoperabilidade com as linguagens estáticas.







