post

Python pt-br:Introducao

Contents

Introdução

Python é uma dessas raras linguagens em que se pode alegar ser ao mesmo tempo simples e poderosa. Você vai se surpreender ao descobrir o quanto é fácil se concentrar na solução para o problema em vez da sintaxe e estrutura da linguagem que você está programando.

A introdução oficial para Python é:

Python é uma poderosa linguagem de programação fácil de aprender. Possui eficientes estruturas de dados de alto-nível e uma simples e efetiva abordagem para programação orientada a objetos. A elegante sintaxe e a tipagem dinâmica de Python, aliada a sua natureza interpretada, faz dela uma linguagem ideal para criar scripts e desenvolver aplicações de modo ágil em diversas áreas e na maioria das plataformas.

Vou detalhar a maioria dessas características na próxima seção.

Nota
Guido van Rossum, criador da linguagem Python, cujo nome foi baseado na série “Monty Python’s Flying Circus” da BBC. Ele, particularmente, não gosta de cobras que para se alimentar, esmagam outros animais usando seu extenso corpo.

Características de Python

Simples
Python é uma linguagem simples e minimalista. Ler um bom programa em Python é quase como ler em inglês, ainda que seja um inglês bem restrito. Este caráter de pseudo-código do Python é um de seus maiores pontos fortes. Ele permite que você se concentre na solução do problema e não na linguagem em si.
Fácil de Aprender
Como você verá, é extremamente fácil iniciar-se em Python. A linguagem possui uma sintaxe extraordinariamente simples, como já mencionado.
Livre e de Código Aberto
Python é um exemplo de FLOSS (Free/Libre and Open Source Software. Traduzindo, você pode distribuir livremente cópias deste software, ler seu código-fonte, modificá-lo, usar trechos em novos programas livres e tudo o que você quiser fazer. FLOSS é baseado no conceito de uma comunidade que compartilha conhecimento. Este é um dos motivos pelos quais Python é tão bom – ele vem sendo criado e constantemente melhorado por uma comunidade que simplesmente quer ver a Python cada vez melhor.
Linguagem de Alto Nível
Quando você escreve programas em Python, não há necessidade de se preocupar com detalhes de baixo nível tais como manipular a memória utilizada pelo programa, etc.
Portável
Por ser uma linguagem de código aberto, Python foi portada (ou seja, modificada para funcionar) em muitas plataformas. Todos os seus programas em Python podem rodar em qualquer uma destas plataformas sem precisar de mudanças, desde que você seja cuidadoso o suficiente para evitar usar características que dependam do sistema.
Você pode usar Python em Linux, Windows, FreeBSD, Macintosh, Solaris, OS/2, Amiga, AROS, AS/$)), BeOS, OS/390, z/OS, Palm OS, QNX, VMS, Psion, Acorn RISC OS, VxWorks, PlayStation, Sharp Zaurus, Windows CE e até mesmo no PocketPC!
Interpretada
Isto requer uma pequena explicação
Um programa escrito em uma linguagem compilada como C ou C++ é convertido da linguagem de origem (C ou C++) para a linguagem que é falada por seu computador (código binário, ou seja, 0s e 1s) usando um compilador com vários flags e opções. Quando você roda o programa, o software linkeditor/carregador copia o programa do disco rígido para a memória e começa a executá-lo.
Python, por sua vez, não necessita de compilação para código binário. Você simplemente executa o programa diretamente do código-fonte. Internamente, Python converte o código-fonte em um formato intermediário chamado bytecode, o traduz para a linguagem nativa do seu computador e então o executa. Tudo isso, na verdade, torna Python muito mais fácil, uma vez que você não precisa se preocupar com a compilação do programa, certificar-se que as bibliotecas necessárias estão todas linkeditadas e carregadas etc, etc. Isto também torna seus programas em Python muito mais portáveis, já que você pode simplesmente copiar seu programa em Python em outro computador e executá-lo!
Orientada a Objetos
Python suporta tanto programação procedural (estruturada) quanto orientada a objetos. Em linguagens procedurais, o programa é construído com base em procedimentos e funções, que nada mais são que trechos reutilizáveis de programas. Em linguagens orientadas a objeto, com base em objetos que combinam dados e funcionalidade. Python tem uma maneira simples mas poderosa de implementar programação orientada a objetos, especialmente quando comparada a linguagens como C++ ou Java.
Extensível
Se você precisa que um trecho crítico de código seja executado com muita rapidez ou quer que parte de algum algoritmo não seja aberta, você pode codificá-los em C ou C++ e então usá-los a partir de seu programa Python.
Embarcável
Você pode embarcar Pyhton em seus programas C/C++ para fornecer funcionalidades de scripting aos usuários dos programas.
Bibliotecas Extensivas
A Biblioteca Padrão do Python (Python Standard Library) é de fato enorme. Ela pode ajudá-lo a fazer várias coisas envolvendo expressões regulares, geração de documentação, testes unitários, threading, acesso a bancos de dados, browsers web, CGi, FTP, e-mail, XML, XML-RPC, HTML, arquivos WAV, criptografia, GUI (Interfaces Gráficas com o Usuário), Tk e outras coisas dependentes do sistema. Lembre-se de que tudo isto está disponível onde quer que Python esteja instalado. Esta é a chamada filosofia das “Pilhas Incluídas” do Python.
Além da biblioteca padrão, existem várias outras bibliotecas de alta qualidade, tais comos wxPython , Twisted, Python Imaging Library e muitas outras.

Python é, de fato, uma linguagem poderosa e empolgante. Ela possui a combinação exata de desempenho e características que fazem escrever programas em Python uma tarefa fácil e divertida.

Por que não Perl?

Se você ainda não conhece, Perl é outra linguagem de programação interpretada e de código aberto extremamente popular.

Se você alguma vez tentou escrever um programa grande em Perl, você poderia ter respondido essa pergunta sozinho! Em outras palavras, programas em Perl são fáceis quando eles são pequenos e são excelentes para pequenos “hacks” e scripts “pra fazer o serviço”. No entanto, eles se tornam rapidamente difíceis de manter à medida em que se tornam maiores. E estou falando isso com base na minha experiência no Yahoo! escrevendo programas grandes em Perl.

Quando comparados a Perl, os programas em Python são definitivamente mais simples, claros, fáceis de escrever e, consequentemente, mais legíveis e fáceis de manter. Eu admiro Perl e uso diariamente para várias tarefas, mas toda vez que escrevo um programa, começo a pensar em termos de Python, porque se tornou natural para mim. Perl passou por tantos hacks e mudanças que parece que a linguagem toda é um grande (mas ótimo) hack. Infelizmente, o futuro Perl 6 não parece trazer nenhuma melhoria quanto a isso.

A única e bastante significativa vantagem do Perl, na minha opinião, é sua enorme biblioteca CPAN (Comprehensive Perl Archive Network). Como o nome sugere, é uma imensa coleção de módulos Perl e é simplesmente inacreditável, por causa de seu tamanho e profundidade – você pode fazer praticamente qualquer coisa que seja possível de se fazer com um computador usando estes módulos. Uma das razões pelas quais Perl tem mais bibliotecas que Python é o fato de existir há muito mais tempo. No entanto, isto parece estar mudando com o crescimento do Python Package Index.

Por que não Ruby?

Se você ainda não sabia, Ruby é uma outra popular linguagem de programação de código aberto.

Se você já gosta e usa Ruby, então eu definitivamente recomendo que continue a usá-la.

Para as outras pessoas que ainda não a usaram e estão tentando escolher entre aprender Python ou aprender Ruby, então eu recomendaria Python, unicamente pela perspectiva de facilidade de aprendizado. Pessoalmente, achei difícil compreender a linguagem Ruby, mas todas as pessoas que conseguem aprovam a beleza da linguagem. Infelizmente não tive tanta sorte.

O Que Os Programadores Dizem

É interessante ler o que grandes hackers como ESR têm a dizer sobre Python:

  • Bruce Eckel é o autor dos famosos livros ‘Thinking in Java’ e ‘Thinking in C++’. Ele diz que nenhuma outra linguagem o deixou tão produtivo quanto Python. Diz ainda que Python é talvez a única linguagem que se concentra em tornar as coisas mais fáceis para o programador. Leia a entrevista completa para mais detalhes.
  • Peter Norvig é o conhecido autor do Lisp e Diretor de Qualidade de Busca no google (obrigado a Guido van Rossum por avisar). Ele diz que Python sempre foi parte integrante do Google. Esta afirmação pode ser comprovada verificando a página do Google Jobs que lista conhecimento em Python como requisito para os engenheiros de software.

Sobre Python 3.0

Python 3.0 é a nova versão da linguagem que será lançada em breve. Também é conhecida como Python 3000 ou Py3k.

A motivação principal para uma nova versão de Python é remover todos os pequenos problemas e detalhes que foram se acumulando no decorrer dos anos e tornar a linguagem ainda mais limpa.

Se você já tem muito código Python 2.x, então existe um utilitário para ajudar na conversão de código 2.x para 3.x.

Mais detalhes em:


Advertisements