rodrigo braga

tactical code




27 December 2006

Python, por que não usei isso antes?

Os avanços do GNU/Linux no desktop e nos servidores trouxeram muitas melhorias que vão além do próprio GNU/Linux e se estendem a linguagens de programação, softwares e padrões.

Há alguns anos, “linguagem de programação” para muitas pessoas (como eu) se resumia a Visual Basic e Delphi, além de C e C++ para os masoquistas. E já havia grupos com aquela máxima de “escreva uma vez, rode em qualquer lugar”, como a Sun fez questão de provar ao mundo (e acho até que conseguiu), de que o Java é a solução que todos nós esperavamos. Há controvérsias.

Naquele tempo, Win32 era o limite, Java era multiplataforma, mas praticamente tudo era Win32, portanto essa história de multiplataforma não fazia muito sentido. Mesmo os dispositivos móveis ainda eram raros, o que aniquilava o fator “pró-multiplataforma”.

Com o tempo, os interesses começaram a mudar e pipocavam métodos novos, idéias novas e alternativas. O GNU/Linux começava a ganhar espaço e a abrir espaço também para projetos até então não tão conhecidos, como os da Fundação Mozilla, ou o OO.org. E também para linguagens como Python, Pearl e até mesmo mais recentemente Ruby (que também merece uma olhada com atenção).

A história é conhecida por todos nós e cabe a pergunta: se já havia GNU/Linux, Python e etc., por que eu (e talvez você) estava lá feliz da vida com o Visual Basic/Delphi, sem perspectiva ou mesmo interesse em avanços? Não que estas ferramentas não tenham evoluído também, mas hoje, ao usar Python, a pergunta vem à mente: “por que não usei isso antes?!”

Um pouco de Python


Python é uma linguagem moderna, rica em recursos, com uma curva de aprendizado suave e vasta biblioteca (módulos). Vamos nos ater a algumas características apenas, portanto outras igualmente importantes podem nos escapar aqui. A culpa não é minha, se quiser reclamar vá à lista Python-Dev e solte os cachorros em cima dos caras que enchem a linguagem de características interessantes e acabam criando esse mal estar. :)

  • simples
  • livre e de código aberto
  • alto nível
  • portável (inclusive dispositivos móveis)
  • interpretada
  • OO (ou não, você escolhe)
  • extensível

Até aqui nada demais, pois outras linguagens possuem as mesmas características. Mas vamos prosseguir…

  • fácil de aprender
  • fácil integração com outras ferramentas
  • inclui as baterias (essa é para você sorrir)
  • dinâmicamente tipada
  • produtividade e legibilidade

Esses fatores já começam a pesar favoravelmente a favor do Python. É claro que só os testes e outras leituras que você fizer podem dar uma noção mais exata do que estou falando; mas enquanto você não o fizer, não poderá medir até que ponto estou falando a verdade. Por isso o convite para baixar o instalador para sua plataforma e alguma documentação para começar a descobrir que realmente estou falando sério!

Python corporativo


Agora você pode perguntar: “Muito bonito, mas quem aposta nisso?” Organizações como Google, NASA, Serpro, Embratel, Philips, AztraZeneca, Nokia, Dual Consultores (eu também tenho que trabalhar…) têm apostado no Python e usam esta tecnologia pelo menos em parte de seus projetos. O crescimento do qual falamos lá no início do texto se aplica aqui: enquanto o GNU/Linux e companhia avançam e alcançam mais pessoas e empresas, o fato do Python ser multiplataforma facilita esse trabalho. Afinal, seja qual for sua preferêcia, muito provavelmente existirá uma versão do interpretador Python para seu sistema operacional (seja ele GNU/Linux, Unix, Mac, Windows etc). O Python vem ganhando espaço com sua filosofia e recursos poderosos e fáceis, pois simples não precisa ser simplório necessariamente.

Faça novos amigos


Assim como a grande maioria de projetos de código aberto, Python é suportado por uma grande comunidade de desenvolvedores ao redor do mundo. No Brasil esse pessoal pode ser visto em Python Brasil e na lista de discussão, onde comumente ocorrem discussões de altíssimo nível e integração notória e a difusão e compartilhamento de conhecimento e idéias é rotina.

Minha missão na Terra está completa?


Muito provavelmente não. Python também não é uma linguagem perfeita e possui alguns detalhes que os mais geniais podem chamar de defeitos, mas isso é assunto para outro dia!

O texto Python, por que não usei isso antes? foi escrito originalmente para o portal webinsider