Fechar

01104588500

Seja híbrido!

Olá galera!

Venho tocando frequentemente no assunto Jython aqui no PTI e acho que já é hora de falarmos abertamente sobre outros dialetos conhecidos do Python.

Segundo o Wikipedia:

Um dialeto é a forma como uma língua é realizada numa região específica.

Python tem influência forte de linguagens como LISP, Smalltalk, Modula-3, Haskell, etc. Por ser uma linguagem de script, e com orientação a objetos forte, é possível criar desde scripts de configuração à frameworks robustas de uma forma uniforme e clara.

No caso de uma framework, temos à disposição uma camada de ferramentas. Alguns comportamentos são executados sem o “consentimento” do desenvolvedor (claro, se você entende a arquitetura da framework que usa com certeza sabe o que acontece), outros requerem uma intervenção mais direta. Mas acima de tudo, não deixamos de programar na linguagem.

No caso dos dialetos Python, temos uma camada de escrita Python que executa sobre a camada de recursos de um ambiente. Os dialetos Python que conheço são:

  • CPython: É a implementação principal da linguagem. É desenvolvida e mantida por Guido van Rossum e sua comunidade;
  • IronPython: É a implementação da linguagem para a plataforma .NET;
  • PyPy: É uma implementação de Python escrita em Python;
  • Jython: É uma implementação de Python para máquinas virtuais Java.

CPython: Um dialeto?

CPython é a implementação de Python escrita em C. É a forma padrão de executar Python.

A máquina virtual que você possui aí é implementada nas especificações do CPython. Todos os recursos da linguagem estão alí, o que você escreve é só um documento Python que o interpretador irá ler, tentar entender e traduzir para o computador.

Em outras palavras: É o interpretador Python compilado para a sua arquitetura, traduzindo diretamente suas instruções Python para comando de máquina.

IronPython: Python para plataformas .NET

Já no IronPython é possível escrever Python utilizando recursos da plataforma .NET. IronPython é escrito em C# e a forma de escrita do script é praticamente a mesma do CPython, o que muda são as bibliotecas que você têm à disposição.

Tem algumas listas e fóruns que chegam a mencionar que a performance do IronPython é superior a do CPython. Bom, como não sou usuário Windows não tenho como comprovar.

Em outras palavras: O seu script Python será executado em .Net.

Jython: Escrevendo Python para JVMs

A mesma filosofia! Só que para Java.

Possuímos um interpretador específico que irá interpretar e gerar o bytecode para as máquinas virtuais do Java. É a sintaxe do Python acessando recursos do Java. Simples assim…

Em outras palavras: Jython é um .class Java, ou seja, uma máquina virtual Python rodando sobre uma máquina virtual Java.

PyPy: Python em Python?

O PyPy é interessante… o interpretador é construído em RPython e não em C.

O RPython é um dialeto Python com uma série de restrições que permite criar de extensões para a linguagem até sistemas standalone. Um bom exemplo de uso é escrever um jogo em Flash utilizando RPython.

Em outras palavras: É um interpretador Python feito em Python =)

No site oficial do Python, há uma lista com mais dialetos.

Até a próxima…

Marcadores: , , ,





Confira os 14 comentários deixados

  1. Jackson via Rec6
    15:17 em 17 de março de 2009
    1

    Python: Seja híbrido! Use dialetos | Profissionais TI…

    Venho tocando frequentemente no assunto Jython aqui no PTI e acho que já é hora de falarmos abertamente sobre outros dialetos conhecidos do Python….

  2. Python: Seja híbrido! Use dialetos
    16:59 em 19 de março de 2009
    2

    [...] por Jackson (faleΘprofissionaisti·com·br) – referência [...]

  3. Carina Moraes
    20:15 em 19 de março de 2009
    3

    Credo, que site feio. Cheio de publicidade inutil, vc usou o br-linux.org para gerar pageview né?! tsc, tsc, tsc

  4. Jackson
    22:55 em 19 de março de 2009
    4

    Olá Carina,

    Se tiveres capacidade de fazer algo melhor e se puderes tbm pagar as contas, dá um toque, estamos abertos a negociações.

    Obrigado pelo pageview ;)

  5. André
    9:17 em 20 de março de 2009
    5

    Python sucks..

  6. ejedelmal
    12:26 em 20 de março de 2009
    6

    Faltou um (eu instalei uma vez):

    http://pippy.sourceforge.net/

  7. Klaus Peter Laube
    14:58 em 20 de março de 2009
    7

    @Carina
    Crítica anotada! Obrigado por participar.

    @André
    Sinceramente André, não concordo com você. Tens argumentos?

    @Ejedelmal:
    Não conhecia esse… obrigado por compartilhar.

  8. Douglas Cunha
    17:42 em 20 de março de 2009
    8

    Por que implementar um interpretador Python em Python?
    Quais os benefícios desse tipo de coisa?

  9. Klaus Peter Laube
    18:26 em 20 de março de 2009
    9

    @Douglas
    Segundo o Python Brasil [1] o objetivo do PyPy é gerar um interpretador Python mais rápido e flexível do que o CPython.
    Vale salientar que não estamos falando de “interpretador rodando em cima de interpretador”. Estamos falando de RPython e arquivos “estaticamente compilados” [2]

    [1] – http://www.pythonbrasil.com.br/moin.cgi/PyPy
    [2] – http://en.wikipedia.org/wiki/PyPy

  10. O Google está resolvendo o “problema” de performance do Python | Profissionais TI
    9:54 em 31 de março de 2009
    10

    [...] Posts AleatóriosPython: Seja híbrido! Use dialetos [...]

  11. Resumo do 5° mês do Profissionais TI | Profissionais TI
    0:38 em 6 de abril de 2009
    11

    [...] Python: Seja híbrido! Use dialetos [...]

  12. Curso on-line e gratuito de Python – Fique ligado! | Profissionais TI
    12:00 em 20 de abril de 2009
    12

    [...] leu e não é pegadinha do malandro. Se você, assim como eu, estava afim de conhecer mais sobre Python, o Evaldo Junior Bento do site InFog nos dá essa forcinha. Para começar o curso, basta clicar [...]

  13. Rodrigo Macedo
    17:30 em 15 de maio de 2009
    13

    Trabalho com .net há alguns anos, sempre tive vontade de conhecer outra linguagem, especialmente fora da CLR do .net para conseguir flexibilidade. Acho Python uma excelente iniciativa, mas python puro. Desconheço o lucro real de programar indiretamente para um ambiente (JVM / CLR).

    Enfim, ótimo post. Bom trabalho.

  14. Livro Python para desenvolvedores – Excelente material de estudo | Profissionais TI
    20:26 em 29 de maio de 2009
    14

    [...] disponível para download de forma gratuita o livro Python Para Desenvolvedores, do autor Luiz Eduardo [...]

Deixe seu comentário, participe!