Python

Da wiki Ubuntupedia
Ir para: navegação, pesquisa

Python é uma linguagem de programação criada por Guido van Rossum em 1990 na Holanda como uma linguagem de scripts para o sistema operativo distribuído Amoeba. Python é uma linguagem interpretada, interactiva, tipada dinamicamente e fortemente orientada a objetos. A linguagem foi pensada e estruturada para o ensino de programação, por isso, teria que conter uma compreensão simples da estrutura para o fácil aprendizado. Guido, em entrevista para BeOpen.com disse que "o difícil é criar uma linguagem que faça tanto sentido para outro ser humano quanto faz para uma máquina ler".

História

A linguagem foi criada a partir da linguagem ABC, que tinha um foco para usuários como físicos, engenheiros e lingüistas, a linguagem combina uma sintaxe concisa e clara com os recursos poderosos de sua biblioteca padrão e por módulos e frameworks desenvolvidos por terceiros.

O nome Python teve a sua origem no grupo humorístico britânico Monty Python, criador do programa Monty Python's Flying Circus, embora muitas pessoas façam associação com o réptil do mesmo nome (em português, Píton).

A versão actual do Python é a 3.4, mas ainda existem muitos programas que não são compatíveis com o Python 3.x. Para esses programas necessitará utilizar a versão 2.7.

Plataformas disponíveis

Está disponível para as mais diversas plataformas, desde Unix (Linux, FreeBSD, Solaris, Mac OS X etc.), Windows, .NET, versões antigas de Mac OS até consolas de videojogos ou mesmo alguns telefones celulares, como a série 60 da Nokia e palmtops.

Para algum sistema operativo não suportado, basta que exista um compilador C disponível e gerar o Python a partir do fonte.

O código fonte é traduzido pelo interpretador para o formato bytecode, que é multiplataforma e pode ser executado e distribuído sem fonte original.

Utilizações

A linguagem de programação Python é utilizada por muitas pessoas, quer na industria, quer para fins académicos para um diverso leque de finalidades.

Organizações que utilizam o Python

  • O Google utiliza o Python para muitas tarefas, incluindo o backoffice de aplicações web tais como o Gmail e o Google Maps, tal como para tarefas do seu motor de pesquisa.
  • A NASA está a utilizar o Python para implementar um CAD/CAE.
  • O sítio Pythonology apresenta vários casos de êxito da linguagem Python em diversos tipos de aplicações e problemas.

Utilizações educativas do Python

No presente a linguagem Python está a tornar-se mais popular para o ensino de programação. Os seus pontos fortes no ensino incluem a sua simplicidadem a sua flexibilidade e o seu interpretador interactivo.

O Python utiliza menos simbolos do que linguagens como o Java e a Linguagem C. Por exemplo blocos dentro de ciclos e expressões IF são marcados com identação em vez de chavetas ({}) e no fim de cada linha não é necessário colocar um ponto e vírgula.

Em Python os alunos podem saltar a menorização da sintaxe formal e passar a aplicações mais práticas. Por outro lado ao contrário do Java e do C não é necessário declarar as variáveis antes de as utilizar, o que permite aos alunos desenvolver programas muito mais depressa.

O interpretador activo é um recurso de ajuda muito importante para a aprendizagem e para a experimentação. Aprender fazendo significa tentar coisas e observar o que acontece. Quanto mais rápio se obter resultados das experiências mais rápido a aprendizagem produz resultados. Utilizando o interpretador activo em vez do compilador pode ser útil na aprendizagem da linguagem ou mesmo na aprendizagem de uma nova bibilioteca.

Software que usa Python

  • BitTorrent - a implementação original e alguns derivados,
  • Blender - um modelador 3D Open Source,
  • Chandler - um gestor de informação pessoal, incluindo um calendário email, tarefas e notas,
  • Django - um ambnete de trabalho web,
  • Civilization IV - um jogo,
  • Mailman - uma das aplicações mais populares para gerir listas de correio one of the more popular packages for running email mailing lists,
  • Kombilo, - gestor de bases de dados de jogod GO,
  • modul8 - um software de mistura vídeo, parcialmente escrito em Python,
  • MoinMoin- uma aplicação para criar wikis,
  • OpenRPG - um tabuleiro virtual no qual se pode jogar RPG (Role Playing Games) pela Internet,
  • Plone - um CMS (Content Management System) amigo do utilizador,
  • Portage, o coração da distribuição Gentoo Linux, um gestor de pacotes de software,
  • Solipsis - um sistema para um mundo virtual partilhado,
  • Vampire: The Masquerade - Bloodlines - Um jogo
  • Zope - Uma plataforma orientada para objectos para a web.
  • Battlefield 2 - um jogo tiro n aprimeira pessoa utiliza o Python para os scripts de configuração
  • Indian Ocean Tsunami Detector - um software para telemóveis para prevenção de tsnunamis
  • EVE Online - um jogo online cujo tema é o espaço
  • SPE - Stani's Python Editor - um IDE Python Open Surce para Windows, Linux e Mac com o wxGlade (desenhador de ambientes gráficos), PyChecker (reparação de erros) e o Blender (3D) support.
  • Morpheus - uma aplicação para partilha de ficheiros via P2P

Pacotes para Python

A Python Cheese Shop e o Vaults of Parnassus são dois directórios de pacotes para Python..

Ver ainda mais módulos recomendados em Useful Modules no wiki do Python.org.

Directorias de software

Implementações de Python

  • Python – a implementação de referência, também conhecida como CPython
  • Jython – Python programado em Java
  • IronPython – Python para as plataformas .NET e Mono
  • Stackless Python - Python com "coroutines"
  • Psyco - não é uma implementação mas sim um compilador para o CPython
  • PyPy – Python programado em Python
  • Movable Python- uma distribuição alternativa do CPython para o Windows. Pode correr num stick USB e porporciona um ambiente de programação portátil.

Licença de utilização

Python possui uma licença Open Source aprovada pela OSI e compatível com a GPL, porém menos restritiva. A sua licença prevê (entre outras coisas) que binários da linguagem sejam distribuídos sem a necessidade de fornecer o código-fonte junto. Para maiores detalhes, visite Python Software Foundation License.