Python é uma das linguagens de programação mais populares e versáteis da atualidade, amplamente utilizada em áreas como desenvolvimento web, ciência de dados, inteligência artificial e automação. Para entender seu sucesso, é fundamental conhecer sua história, desde a concepção por Guido van Rossum até as decisões que moldaram seu ecossistema.

Nesta aula, exploraremos os principais marcos históricos, as motivações por trás da criação do Python, a controvérsia da transição do Python 2 para o Python 3 e as tendências que guiam o futuro da linguagem.

Introdução

Python foi concebido no final dos anos 1980 por Guido van Rossum, um programador holandês que trabalhava no Centrum Wiskunde & Informatica (CWI) nos Países Baixos. O nome 'Python' não se refere à serpente, mas sim ao grupo de comédia britânico Monty Python, do qual Guido era fã. A linguagem foi projetada para ser de fácil leitura, com sintaxe clara e expressiva, inspirada em linguagens como ABC, Modula-3 e C.

O objetivo principal era criar uma linguagem que fosse produtiva para o programador, com uma curva de aprendizado suave e que incentivasse boas práticas de código. Desde o início, Python foi distribuída como software livre, o que contribuiu para sua rápida adoção e crescimento da comunidade.

Pessoas e cronologia (Guido van Rossum)

Guido van Rossum é o criador e líder benevolente vitalício (BDFL) do Python até 2018, quando se afastou do cargo. Ele nasceu em 1956, na Holanda, e estudou matemática e ciência da computação na Universidade de Amsterdã. Após trabalhar no CWI, passou por empresas como a CNRI (Corporation for National Research Initiatives) e a Google, onde continuou a desenvolver Python.

Os principais marcos cronológicos incluem:

  • 1989: Guido começa a trabalhar no Python como um projeto de hobby durante as férias de Natal.
  • 1991: Primeira versão pública (0.9.0) é lançada, já com classes, herança e tratamento de exceções.
  • 1994: Python 1.0 é lançado, incluindo funcionalidades como lambda, map, filter e reduce.
  • 2000: Python 2.0 é lançado, com list comprehensions e coleta de lixo cíclica.
  • 2008: Python 3.0 (também chamado Python 3000) é lançado, quebrando a compatibilidade com versões anteriores.
  • 2018: Guido van Rossum anuncia sua aposentadoria como BDFL, e o Python passa a ser governado por um conselho eleito (Steering Council).

A figura de Guido foi central para a cultura da linguagem, promovendo um design consistente e uma comunidade acolhedora. Seu estilo de liderança influenciou o famoso 'Zen do Python', um conjunto de 19 princípios que orientam o design da linguagem.

Python 2 vs 3

Em 2008, o lançamento do Python 3 representou uma ruptura significativa com o passado. A principal motivação foi corrigir deficiências de design que não podiam ser resolvidas mantendo compatibilidade retroativa. Por exemplo, a declaração print tornou-se uma função (print()), a divisão inteira passou a retornar float quando necessário e o tratamento de strings foi unificado com Unicode.

No entanto, a migração foi lenta e dolorosa para a comunidade. Muitas bibliotecas populares demoraram anos para se tornar compatíveis com Python 3. O Python 2 continuou sendo mantido até 2020, com a versão final 2.7.18. Durante esse período, coexistiam dois ecossistemas, causando fragmentação.

As principais diferenças entre Python 2 e 3 incluem:

  • Print: Em Python 2, print "Hello"; em Python 3, print("Hello").
  • Divisão: Em Python 2, 5/2 resulta em 2 (divisão inteira); em Python 3, resulta em 2.5.
  • Strings: Python 2 tem strings byte e Unicode separadas; Python 3 unifica em strings Unicode.
  • Iteração: Em Python 2, range() retorna uma lista; em Python 3, retorna um iterável (range object).
  • Bibliotecas: Algumas bibliotecas foram renomeadas (ex.: ConfigParser para configparser).

Atualmente, Python 3 é a única versão ativa e recomendada para novos projetos. A migração foi bem-sucedida e a comunidade agora se concentra em melhorias contínuas dentro da série 3.x.

Futuro da linguagem

O Python continua evoluindo com lançamentos anuais (versões 3.8, 3.9, 3.10, 3.11, etc.). Cada nova versão traz melhorias de desempenho, novas sintaxes e funcionalidades. Por exemplo, Python 3.10 introduziu o pattern matching (similar ao switch-case), Python 3.11 trouxe ganhos significativos de velocidade e Python 3.12 está focado em melhorias na mensagem de erro e no suporte a tipos.

O futuro do Python inclui:

  • Desempenho: Projetos como PyPy, Cython e o novo compilador JIT (em desenvolvimento) visam tornar Python mais rápido.
  • Tipagem estática: A adoção de type hints (PEP 484) e ferramentas como mypy permitem verificação de tipos em tempo de desenvolvimento, aumentando a robustez do código.
  • Suporte a concorrência: Melhorias em async/await, bibliotecas como asyncio e a introdução de subinterpretadores (PEP 554) devem facilitar programação concorrente.
  • Ecossistema: O crescimento de áreas como machine learning (TensorFlow, PyTorch), ciência de dados (pandas, NumPy) e automação (ansible, fabric) solidificam o Python como linguagem dominante.

A comunidade Python é ativa e bem organizada, com conferências anuais (PyCon) e uma forte presença online. O Steering Council garante que o desenvolvimento siga de forma transparente e democrática. Python está longe de ser obsoleto; pelo contrário, sua popularidade só cresce.

Boas práticas e observações finais

Ao aprender Python, é importante adotar as boas práticas recomendadas pela comunidade:

  • Escreva código legível, seguindo a PEP 8 (guia de estilo).
  • Use nomes descritivos para variáveis e funções.
  • Prefira Python 3 para todos os novos projetos.
  • Aproveite a vasta biblioteca padrão e o ecossistema de pacotes (PyPI).
  • Participe da comunidade: fóruns, grupos de estudo e eventos.

Entender a história ajuda a compreender as razões por trás de decisões de design e a apreciar a evolução da linguagem. Python é um exemplo de como uma linguagem bem projetada e uma comunidade acolhedora podem criar um impacto duradouro.

Referências

Exercícios

  1. Quem criou a linguagem Python e em que ano começou seu desenvolvimento?

    ✓ Resposta: Python foi criado por Guido van Rossum, e seu desenvolvimento começou em 1989 (primeira versão pública em 1991).
  2. Qual foi a principal motivação para o lançamento do Python 3 em 2008?

    ✓ Resposta: Corrigir deficiências de design que não podiam ser resolvidas mantendo compatibilidade retroativa, como unificação de strings Unicode, tornar print() uma função e melhorar a divisão de inteiros.
  3. Cite duas diferenças entre Python 2 e Python 3.

    ✓ Resposta: 1) Em Python 2, print é uma instrução (print "Hello"); em Python 3, é uma função (print("Hello")). 2) Em Python 2, a divisão de dois inteiros retorna um inteiro (truncado); em Python 3, retorna float.
  4. O que significa BDFL e quem ocupou esse cargo no Python?

    ✓ Resposta: BDFL significa Benevolent Dictator for Life (Ditador Benevolente Vitalício). Guido van Rossum ocupou esse cargo até 2018, quando se afastou.
  5. Qual é a versão mais recente do Python (até o momento da aula) e quais são duas novidades importantes?

    ✓ Resposta: A versão mais recente é Python 3.12. Duas novidades: melhorias nas mensagens de erro e suporte a tipos (type hints) mais robusto. (Nota: a resposta pode variar conforme a data; o importante é mencionar uma versão recente e características reais.)