Your SlideShare is downloading. ×
0
Iron Python
Iron Python
Iron Python
Iron Python
Iron Python
Iron Python
Iron Python
Iron Python
Iron Python
Iron Python
Iron Python
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Iron Python

1,068

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,068
On Slideshare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
19
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Tiago Bockholt Powered by
  • 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. .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. 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. 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. 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. 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. 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. DLR (Dynamic Language Runtime) Interação entre linguagens dinâmicas e linguagens estáticas baseadas no CLR.
  • 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. 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

×