Tiago Bockholt




Powered by
Sobre Mim
   Tiago Bockholt
    ◦ (2003.2 – 2008.2) Graduação em Eng. da
      Computação (Poli-UPE)
      2006.1 Semest...
.NET Framework
   Arquitetura

                  Iniciativa da empresa Microsoft,
                  que visa uma platafor...
CLR (Common Language Runtime)
1.    O CLR oferece serviços compartilhados as
      linguagens .NET.
2.    Garbage Collecto...
Python
   Arquitetura
Python é uma linguagem de programação de alto
nível, interpretada, imperativa, orientada a objetos,...
IronPython
   Definição
IronPython é uma implementação da linguagem de
programação Python escrita em C#, para plataforma....
IronPython

 IronPython      IronRuby          C#           VB.NET         Others…



              Dynamic Language Runti...
DLR (Dynamic Language Runtime)
1.     Incluido no .NET Framework 4.

    O CLR passará a ter um conjunto de serviços proj...
DLR (Dynamic Language Runtime)
Interação entre linguagens dinâmicas e
linguagens estáticas baseadas no CLR.
C# utilizando DLR




   Quando os operadores são dynamic…
   • seleção do tipo do objeto atribuida em tempo de execução
 ...
Conclusões
1.   IronPython tira proveito de todas as virtudes de Python.

2.   Com o projeto mono, a aplicação usando Iron...
Upcoming SlideShare
Loading in …5
×

Iron Python

1,309 views
1,196 views

Published on

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,309
On SlideShare
0
From Embeds
0
Number of Embeds
126
Actions
Shares
0
Downloads
21
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Iron Python

  1. 1. Tiago Bockholt Powered by
  2. 2. Sobre Mim  Tiago Bockholt ◦ (2003.2 – 2008.2) Graduação em Eng. da Computação (Poli-UPE)  2006.1 Semestre acadêmico na TU-BS.  2006.2 Desenvolvedor na GNS-Systems (Projeto Datafinder).  2007.1 Desenvolvedor na dotX (Zope e Plone).  2008.1 Desenvolvedor na Ávila Soluções (.NET) ◦ (2009.1 – 2011.1) Mestrado CIN-UFPE.  2009.1 – (dias atuais) Consultor na Ávila Soluções.
  3. 3. .NET Framework  Arquitetura Iniciativa da empresa Microsoft, que visa uma plataforma única para desenvolvimento e execução de sistemas e aplicações. Todo e qualquer código gerado para .NET, pode ser executado em qualquer dispositivo que possua um framework de tal plataforma.
  4. 4. CLR (Common Language Runtime) 1. O CLR oferece serviços compartilhados as linguagens .NET. 2. Garbage Collector 3. Compilação JIT (just-in-time 4. Suporte ao Visual Studio.  Compartilhar esses recursos proporciona duas grandes vantagens aos implementadores de linguagem: é mais fácil implementar uma linguagem porque grande parte do trabalho de engenharia de nível inferior já foi feita; e as linguagens em execução no CLR podem ser integradas tranqüilamente.  Compartilhar as bibliotecas e as estruturas permite que novas linguagens do CLR sejam criadas a partir do trabalho de outras.
  5. 5. Python  Arquitetura Python é uma linguagem de programação de alto nível, interpretada, imperativa, orientada a objetos, de tipagem dinâmica e forte. 1. Concebido no final de 1989. 2. 1ª versão lançada em 1994. 3. Atualmente a linguagem é usada em diversas áreas, como servidores de aplicação e computação gráfica.
  6. 6. IronPython  Definição IronPython é uma implementação da linguagem de programação Python escrita em C#, para plataforma.NET e Mono, criada por Jim Hugunin. A Versão 1.0 foi lançada a 5 de Setembro de 2006[1]. A Versão 2.0 foi lançada a 10 de Dezembro de 2008[2]. IronPython é totalmente escrita em C#.  Arquitetura
  7. 7. IronPython IronPython IronRuby C# VB.NET Others… Dynamic Language Runtime Expression Trees Dynamic Dispatch Call Site Caching Object JavaScript Python Ruby COM Binder Binder Binder Binder Binder
  8. 8. DLR (Dynamic Language Runtime) 1. Incluido no .NET Framework 4.  O CLR passará a ter um conjunto de serviços projetados especificamente para atender às necessidades das linguagens dinâmicas.  O DLR agrega funcionalidades como um sistema de tipos dinâmico compartilhado, um modelo de hospedagem padrão e suporte para facilitar a geração rápida de códigos dinâmicos e tabelas de símbolos rápidos.  Com esses recursos adicionais, é muito mais fácil criar implementações de linguagem dinâmica de alta qualidade para o .NET.  Além disso, esses recursos permitem que as linguagens dinâmicas criadas a partir do DLR compartilhem bibliotecas escritas em outras linguagens dinâmicas ou em linguagens estáticas baseadas no CLR (Principal Diferencial).
  9. 9. DLR (Dynamic Language Runtime) Interação entre linguagens dinâmicas e linguagens estáticas baseadas no CLR.
  10. 10. C# utilizando DLR Quando os operadores são dynamic… • seleção do tipo do objeto atribuida em tempo de execução • Em tempo de execução, o tipo corrente será dynamic • Qualquer operação terá como resultado um dynamic
  11. 11. Conclusões 1. IronPython tira proveito de todas as virtudes de Python. 2. Com o projeto mono, a aplicação usando IronPython fica portável tanto em ambientes Windows como Linux. 3. IronPython permite utilizar o visual studio como ferramenta de desemvolvimento. 4. A consolidação do DLR vai permitir uma maior integração entre as diferentes linguagens de programação. Sejam elas, estáticas ou dinâmicas. 5. Construção de GUI utilizando ironpython pode ser feita WYSIWYG. 6. Reutilização das bibliotecas .NET já implementadas. 7. Permite implementar multiparadigmas no .NET Framework; IronPython suporta os vários paradigmas de programação: Programação estruturada Programação Orientada a Objeto Programação Funcional

×