CPython
CPython é a implementação principal da linguagem de programação Python, escrita em Linguagem C. É desenvolvida e mantida por Guido Van Rossum e diversos outros desenvolvedores espalhados pelo mundo.
CPython é um interpretador de Bytecode. Ele possui uma interface funcional em diversas linguagens incluindo C, na qual os bindings podem ser escritos explicitamente em qualquer outra linguagem diferente de Python.
Índice |
[editar] Plataformas suportadas
|
|
|
|
[editar] Plataformas suportadas anteriormente
PEP 11 lista as plataformas que não são suportadas em CPython por Python Software Foundation. Estas plataformas podem ainda ser suportadas por portas externas. Veja abaixo.
- DOS (não suportado a partir da versão 2.0)
- IRIX 4 (não suportado a partir da versão 2.3)
- Mac OS 9 (não suportado a partir da versão 2.4)
- MINIX (não suportado a partir da versão 2.3)
[editar] Portas externas
Estas são portas não integradas á versão oficial de CPython - Python Software Foundation, contém links para o site de desenvolvimento principal. Portas incluem frequentemente módulos adicionais para funcionalidades específicas de certas plataformas, como API's gráficos e de som para PSP, SMS e para câmeras S60.
- Amiga: AmigaPython
- AS/400: iSeriesPython
- DOS usando DJGPP: PythonD
- PlayStation Portable: Stackless Python para PSP
- Symbian OS: Python para S60
- Windows CE/Pocket PC: porta Python para Windows CE
[editar] Rotinas Concorrentes
A principal dificuldade em utilizar CPython em um computador multiprocessado é a presença de um Global Interpreter Lock em cada processo do interpretador CPython, o qual efetivamente desativa subrotinas concorrentes de um processo em Python.[1] Para ser verdadeiramente concorrentes em um ambiente multiprocessado, processos distintos do interpretador CPython precisam estar rodando, o que faz com que a comunicação entre as tarefas seja dificultado. Há uma constante discussão entre remover o GIL de CPython.[2]
[editar] Notas
- ↑ Martelli, Alex. Python in a Nutshell. 2nd edition ed. [S.l.]: O'Reilly, 2006. 5–7 p. ISBN 0-596-10046-9