Ir para o conteúdo principal
HistóriaHistória da informáticaIniciante

Python: legibilidade, baterias incluídas e um ecossistema global

De ABC ao steering council: como a legibilidade, extensibilidade e governação comunitária moldaram Python.

Publicado 17 de agosto de 2026Leitura : 8 minPor Yann Bastien
Python representado através de legibilidade, baterias incluídas e um ecossistema global
Mostrar índice
  1. Antes de Python: a experiência com ABC
  2. Natal de 1989: um projeto pessoal
  3. Porque se chama Python?
  4. 1991: a primeira versão pública
  5. Indentação como sintaxe
  6. “Batteries included”
  7. Módulos, pacotes e reutilização
  8. Python 1.0, CNRI e os PEPs
  9. Python 2.0 e a Python Software Foundation
  10. PyPI e o ecossistema de pacotes
  11. Python na Web
  12. Python 3: quebrar compatibilidade de forma deliberada
  13. Python 2 versus Python 3
  14. Computação científica
  15. Jupyter e computação interativa
  16. pandas e ciência de dados
  17. Python e inteligência artificial
  18. Como Python pode ser rápido sem ser sempre rápido
  19. O GIL
  20. Uma linguagem para educação e automatização
  21. Governação depois de Guido van Rossum
  22. Porque teve Python tanto sucesso?
  23. Perguntas frequentes
  24. Quem criou Python?
  25. Porque se chama Python?
  26. Porque utiliza indentação como sintaxe?
  27. O que significa “batteries included”?
  28. Porque foi difícil passar de Python 2 para Python 3?
  29. Quem decide hoje a evolução de Python?

Python é hoje utilizado em scripting de sistemas, aplicações Web, ciência de dados, educação, automatização, inteligência artificial e computação científica. A sua versatilidade pode dar a impressão de que foi concebido desde o início como uma linguagem universal.

As origens foram mais modestas. No final da década de 1980, Guido van Rossum iniciou no CWI, centro de investigação neerlandês, um projeto pessoal: uma linguagem agradável, legível, extensível e suficientemente poderosa para programação quotidiana.

Antes de Python: a experiência com ABC

No CWI, van Rossum trabalhou com a equipa de ABC, uma linguagem concebida para ser fácil de aprender, com sintaxe clara e abstrações de alto nível. ABC foi influente conceptualmente, mas teve adoção limitada.

Python preservou a legibilidade e os tipos de dados convenientes, corrigindo ao mesmo tempo a reduzida extensibilidade e a fraca integração de ABC com Unix e bibliotecas noutras linguagens.

Natal de 1989: um projeto pessoal

Durante as férias de Natal de 1989, van Rossum começou a escrever um novo interpretador. Queria preencher o espaço entre scripts shell e programas maiores, mantendo sintaxe legível e integração fácil com o sistema operativo e código existente.

A extensibilidade tornou-se fundamental. A implementação de referência CPython é escrita em C e suporta extensões nativas.

Porque se chama Python?

O nome não vem da serpente. Van Rossum era fã do grupo britânico de comédia Monty Python e procurava um nome curto, distintivo e ligeiramente irreverente.

1991: a primeira versão pública

Em fevereiro de 1991, van Rossum anunciou Python na Usenet. A linguagem já incluía funções, exceções, módulos, listas e dicionários.

Era interpretada e interativa. Os programadores podiam experimentar imediatamente uma expressão e usar depois os mesmos conceitos em programas maiores. Esta curta distância entre ideia e resultado tornou-se uma vantagem para exploração, depuração, ensino e automatização.

Indentação como sintaxe

Uma das características mais visíveis é a indentação significativa. Muitas linguagens delimitam blocos com chavetas ou palavras-chave; Python usa a própria indentação.

A estrutura visual deve corresponder à estrutura lógica. Uma indentação incorreta não é apenas pouco elegante: altera o significado ou torna o código inválido. Python transforma uma convenção de legibilidade numa regra da linguagem.

“Batteries included”

A biblioteca padrão inclui módulos para ficheiros, texto, datas, protocolos de rede, formatos de dados, compressão, testes, processos e muitas outras tarefas.

A filosofia “batteries included” significa que uma instalação Python deve já oferecer ferramentas úteis para problemas comuns sem exigir imediatamente dependências externas.

Módulos, pacotes e reutilização

Um ficheiro Python pode tornar-se um módulo importável e os módulos podem ser organizados em pacotes. Este modelo simples incentiva reutilização e facilitou a criação de um ecossistema externo.

Um projeto pode começar num único ficheiro e ser gradualmente dividido em módulos e pacotes à medida que cresce.

Python 1.0, CNRI e os PEPs

Python 1.0 foi lançado em 1994. Em 1995, van Rossum mudou-se do CWI para a Corporation for National Research Initiatives (CNRI) nos Estados Unidos, enquanto a comunidade continuava a crescer.

Em 2000 surgiram os Python Enhancement Proposals (PEPs), documentos que descrevem propostas importantes sobre a linguagem, biblioteca, processos ou governação. Preservam não apenas decisões, mas também as razões que lhes deram origem.

Entre os mais conhecidos, o PEP 8 define convenções de estilo e o PEP 20, Zen of Python, inclui a ideia “Readability counts”.

Python 2.0 e a Python Software Foundation

Python 2.0 foi lançado em outubro de 2000, trazendo funcionalidades como list comprehensions e melhor gestão de ciclos de referências.

Em 2001 foi criada a Python Software Foundation (PSF), organização sem fins lucrativos que protege propriedade intelectual relacionada com Python, apoia a comunidade e oferece uma base institucional independente de um único empregador ou do criador.

PyPI e o ecossistema de pacotes

O Python Package Index (PyPI) tornou-se o repositório central de pacotes externos. Em conjunto com pip, tornou muito simples instalar frameworks Web, bibliotecas científicas e ferramentas de automatização.

Criou-se um poderoso efeito de rede: mais pacotes tornavam Python mais útil e mais utilizadores criavam novos pacotes. O sucesso trouxe também desafios de dependências, ambientes virtuais e padrões de build.

Python na Web

Django, lançado como open source em 2005, forneceu um framework abrangente para aplicações Web. Flask popularizou uma abordagem mais minimalista e FastAPI um desenvolvimento moderno de APIs com uso intensivo de anotações de tipo.

Python não disputou com JavaScript o seu papel histórico no browser, mas tornou-se uma das principais opções no servidor.

Python 3: quebrar compatibilidade de forma deliberada

O maior ponto de viragem técnico chegou em dezembro de 2008 com Python 3.0. Os programadores corrigiram inconsistências históricas, mesmo sabendo que algumas alterações eram incompatíveis com Python 2.

print tornou-se uma função e o tratamento de texto foi reorganizado em torno de Unicode. A linguagem ficou mais coerente, mas a migração foi muito mais lenta do que previsto.

Python 2 versus Python 3

Durante mais de uma década, as duas gerações coexistiram. Muitas aplicações e bibliotecas permaneceram em Python 2 porque migrar exigia tempo e introduzia risco.

O suporte oficial para Python 2.7 terminou em 1 de janeiro de 2020. A transição tornou-se uma lição clássica sobre compatibilidade: corrigir uma conceção pode ser tecnicamente desejável e, ao mesmo tempo, impor enormes custos a um ecossistema maduro.

Computação científica

A computação científica tornou-se um dos principais motores de adoção. Python puro nem sempre é rápido em ciclos numéricos intensivos, mas funciona muito bem como camada de orquestração sobre bibliotecas nativas otimizadas.

NumPy fornece arrays multidimensionais, SciPy algoritmos científicos e Matplotlib visualização. Núcleos de alto desempenho podem executar em C, C++ ou Fortran enquanto investigadores trabalham com uma interface Python legível.

Jupyter e computação interativa

IPython e depois Jupyter permitiram combinar código executável, texto, equações e visualizações no mesmo documento. O modelo adapta-se particularmente bem a investigação, ensino e análise exploratória.

Os notebooks também alteraram a comunicação do trabalho computacional: resultados, explicações, gráficos e passos executáveis podem viajar juntos.

pandas e ciência de dados

pandas introduziu estruturas de dados para tabelas e séries temporais. Com NumPy, Jupyter e bibliotecas de visualização, ajudou a transformar Python numa plataforma central de ciência de dados.

Um analista pode carregar dados, limpá-los, agregá-los, visualizá-los e prepará-los para um modelo dentro do mesmo ambiente.

Python e inteligência artificial

scikit-learn, TensorFlow e PyTorch tornaram Python uma interface dominante para muitos fluxos de machine learning e IA. O cálculo pesado é frequentemente executado por componentes nativos altamente otimizados ou GPUs.

Python atua como linguagem de coordenação. Artigos científicos, tutoriais, modelos, notebooks e bibliotecas reforçaram ainda mais o efeito de rede.

Como Python pode ser rápido sem ser sempre rápido

CPython executa geralmente código Python puro mais lentamente do que C ou C++ otimizado. As aplicações podem, porém, delegar operações dispendiosas a bibliotecas nativas. NumPy, por exemplo, processa milhões de valores sem executar um ciclo Python para cada elemento.

Esta arquitetura combina produtividade de alto nível com desempenho de baixo nível onde é necessário.

O GIL

CPython utilizou historicamente o Global Interpreter Lock (GIL). Simplifica aspetos da gestão de memória, mas limita a execução simultânea de bytecode Python por vários threads num único processo.

Isso não significa que Python não possa realizar concorrência ou trabalho paralelo: pode utilizar vários processos, I/O assíncrono e extensões nativas. As versões modernas estão também a desenvolver modelos opcionais de execução free-threaded.

Uma linguagem para educação e automatização

A legibilidade dá a Python um lugar especial no ensino. Um principiante consegue mostrar um valor, manipular uma lista ou definir uma função com relativamente pouca sintaxe.

A mesma linguagem suporta serviços Web profissionais, pipelines de dados, software científico e automatização. Renomear milhares de ficheiros, chamar uma API, transformar JSON, automatizar um deployment ou gerar um relatório pode ser feito com um programa curto.

Governação depois de Guido van Rossum

Van Rossum foi durante muito tempo conhecido como Benevolent Dictator For Life (BDFL). Em 2018 abandonou essa função decisória.

A comunidade adotou então um novo modelo. O PEP 13 define um Steering Council eleito para acompanhar a evolução de longo prazo e as principais decisões de governação.

Um projeto que começou como experiência pessoal ganhou assim instituições capazes de o fazer evoluir para além do seu criador.

Porque teve Python tanto sucesso?

O sucesso não depende de uma única característica. A legibilidade reduz barreiras; a extensibilidade liga Python a código nativo; a biblioteca padrão fornece uma base comum; PyPI cria um enorme ecossistema; PEPs e governação oferecem um processo documentado.

A força está na combinação: uma linguagem acessível que pode começar pequena e crescer até grandes ecossistemas profissionais e científicos.

Perguntas frequentes

Quem criou Python?

Guido van Rossum começou a desenvolvê-lo no final de 1989 no CWI e publicou a primeira versão em 1991.

Porque se chama Python?

O nome é uma referência ao grupo britânico de comédia Monty Python, não à serpente.

Porque utiliza indentação como sintaxe?

Para que a estrutura visível do código corresponda à estrutura lógica, transformando a legibilidade numa regra da linguagem.

O que significa “batteries included”?

A biblioteca padrão deve fornecer ferramentas para muitas tarefas comuns sem exigir imediatamente pacotes externos.

Porque foi difícil passar de Python 2 para Python 3?

Python 3 corrigiu decisões históricas com alterações incompatíveis. Aplicações e bibliotecas de um grande ecossistema tiveram, por isso, de migrar ao longo de vários anos.

Quem decide hoje a evolução de Python?

O desenvolvimento é comunitário e documentado através de PEPs. Um Steering Council eleito segundo o PEP 13 desempenha as principais funções de governação.

Este artigo foi útil?

Fontes e referências

  1. 1.Python - History and License
  2. 2.CWI - 25 Years of Python
  3. 3.PEP 13 - Python Language Governance

Coleção

Linguagens de programação

14 / 26

  1. 01Grace Hopper: dos primeiros compiladores ao COBOL
  2. 02John Backus: FORTRAN, a notação BNF e a recusa do código de máquina
  3. 03Dennis Ritchie: a linguagem C no coração do Unix
  4. 04FORTRAN: provar que um compilador pode competir com assembly
  5. 05A linguagem C: tornar os sistemas portáteis sem esconder a máquina
  6. 06Niklaus Wirth: de Pascal a Oberon, conceber pela simplicidade
  7. 07Bjarne Stroustrup: conceber C++ sem abdicar do desempenho
  8. 08Pascal: aprender a programar tornando a estrutura visível
  9. 09C++: de C with Classes ao C++ moderno
  10. 10Programação orientada a objetos: objetos, mensagens e abstrações reutilizáveis
  11. 11Guido van Rossum: criar Python para tornar o código legível
  12. 12Brendan Eich: JavaScript, do protótipo da Netscape ao padrão da Web
  13. 13James Gosling: o engenheiro na origem de Java
  14. 14Python: legibilidade, baterias incluídas e um ecossistema global
  15. 15Java: escrever uma vez, executar em qualquer lugar
  16. 16JavaScript: a linguagem que tornou a Web interativa
  17. 17Ken Thompson: de Unix a Go, a simplicidade como método
  18. 18John McCarthy: Lisp e a ideia de programar com símbolos
  19. 19Alan Kay: Smalltalk e o computador como meio pessoal
  20. 20Barbara Liskov: a abstração que tornou o software modular
  21. 21Robin Milner: ML, prova assistida e linguagens da interação
  22. 22Brian Kernighan: AWK, Unix e a arte de explicar código
  23. 23Anders Hejlsberg: de Turbo Pascal a C# e TypeScript
  24. 24Larry Wall: Perl, a linguagem que ligou as ferramentas da Internet
  25. 25Yukihiro Matsumoto: Ruby e a felicidade do programador
  26. 26Rasmus Lerdorf: PHP e a democratização da Web dinâmica
HistóriaHistória da informáticaIniciante

JavaScript: a linguagem que tornou a Web interativa

Do protótipo da Netscape ao ECMAScript, Ajax, Node.js e TypeScript: como o JavaScript se tornou a plataforma universal de programação da Web.

17 de agosto de 20267 min