Python completa 30 anos

Em 20 de fevereiro de 1991, Guido van Rossum publicou no grupo alt.sources o primeiro lançamento da linguagem de programação Python, na qual trabalhava desde dezembro de 1989 como parte de um projeto para criar uma linguagem de script para resolver problemas de administração de sistemas em o sistema operacional Amoeba, que seria de nível superior ao C, mas, ao contrário do Bourne Shell, forneceria acesso mais conveniente às chamadas do sistema operacional.

O nome do projeto foi escolhido em homenagem ao grupo de comédia Monty Python. A primeira versão introduziu suporte para classes com herança, tratamento de exceções, um sistema de módulos e a lista de tipos básicos, dict e str. A implementação de módulos e exceções foi emprestada da linguagem Modula-3, e o estilo de codificação baseado em indentação da linguagem ABC, para a qual Guido contribuiu anteriormente.

Ao criar o Python, Guido foi guiado pelos seguintes princípios:

  • Princípios que economizaram tempo durante o desenvolvimento:
    • Emprestando ideias úteis de outros projetos.
    • A busca pela simplicidade, mas sem simplificação excessiva (princípio de Einstein “Tudo deve ser declarado da forma mais simples possível, mas não mais simples”).
    • Seguindo a filosofia UNUX, segundo a qual os programas implementam uma funcionalidade, mas fazem-na bem.
    • Não se preocupe muito com o desempenho, as otimizações podem ser adicionadas conforme necessário, quando necessário.
    • Não tente lutar contra as coisas prevalecentes, mas siga o fluxo.
    • Evite o perfeccionismo; geralmente o nível “bom o suficiente” é suficiente.
    • Às vezes, cantos podem ser cortados, especialmente se algo puder ser feito mais tarde.
  • Outros princípios:
    • A implementação não precisa ser específica da plataforma. Alguns recursos podem nem sempre estar disponíveis, mas as funcionalidades básicas devem funcionar em qualquer lugar.
    • Não sobrecarregue os usuários com peças que possam ser manuseadas por uma máquina.
    • Suporte e promoção de código de usuário independente de plataforma, mas sem restringir o acesso às capacidades e funcionalidades das plataformas.
    • Grandes sistemas complexos devem fornecer vários níveis de expansão.
    • Os erros não devem ser fatais e não detectados – o código do usuário deve ser capaz de detectar e tratar erros.
    • Erros no código do usuário não devem afetar a funcionalidade da máquina virtual e não devem levar a um comportamento indefinido do interpretador e a falhas no processo.

    Fonte: opennet.ru

Adicionar um comentário