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.
Desenvolvedor | Guido van Rossum, além do time central de desenvolvedores e da comunidade Python |
Plataforma | Multiplataforma |
Versão estável | 3.3 (29 de setembro de 2012 | )
Escrito em | C (linguagem de programação) |
Licença | Python Software Foundation License |
Página oficial | Python Programming Language – Official Website., acessado pela última vez há 624 semanas e 3 dias |
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.
Plataformas suportadas
editar
|
|
|
|
Plataformas suportadas anteriormente
editarA proposta de melhoria do Python 11 (PEP 11) lista as plataformas que não são suportadas em CPython por Python Software Foundation.[1] Estas plataformas podem ainda ser suportadas por portas externas.
- 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)
Enterprise Linux
editarEssas versões do Python são distribuídas com distribuições empresariais Linux atualmente suportadas.[2] O status de suporte do Python na tabela refere-se ao suporte da equipe principal do Python, e não do mantenedor da distribuição.
Portas externas
editarPortas externas são portas não integradas à versão oficial de CPython. 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
Rotinas concorrentes
editarA 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.[3] 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.[4] Há uma constante discussão entre remover o GIL de CPython.[5]
Embora muitas propostas tenham sido feitas para eliminar o GIL, o consenso geral é que, na maioria dos casos, as vantagens do GIL superam as desvantagens; nos poucos casos em que o GIL é um gargalo, o aplicativo deve ser construído em torno da estrutura de multiprocessamento.[6]
Notas
editar- ↑ Martelli, Alex (2006). Python in a Nutshell 2ndition ed. [S.l.]: O'Reilly. pp. 5–7. ISBN 0-596-10046-9
Referências
- ↑ Martin von Löwis, Brett Cannon. «Removing support for little used platforms». 7 de julho de 2002. Consultado em 14 de setembro de 2021
- ↑ https://linuxlifecycle.com
- ↑ Python/C API Reference Manual: Thread State and the Global Interpreter Lock
- ↑ «Python Complete Course From Scratch To Software House Level». python.engineering. 14 de setembro de 2021
- ↑ Python Library and Extension FAQ: Can't we get rid of the Global Interpreter Lock?
- ↑ Zed Shaw (2017). Learn Python the hard way. [S.l.]: Addison-Wesley Professional. ISBN 978-0134692883