“Rodrigo Braga fez uma defesa completa do Python hoje no WebInsider: "A linguagem de programação multiplataforma e de código aberto é tão simples e rica em recursos que chega a entusiasmar aqueles que a experimentam pela primeira vez. (...) 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?!
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;
. Etc."
Vale a leitura do texto completo!”
- OO (ou não, você escolhe);
Eu considero isso terrivel. Já cansei de ter que dar manutenção em códigos mistos. Acho excelente prática uma linguagem obrigar o programador a ter determinados comportamentos.
Permitir que o programador dê um tiro no pé é bem diferente de obrigá-lo à isso.
Tem programador que gosta de ser "mandado" e tem programador que gosta de "mandar". Eu sou do segundo time.
Eu por exemplo já usei IDEs muito boas (gosto muito das IDEs da Borland) e outras muito ruins (geralmente da Microsoft). Também já usei Eclipse mas infelizmente não gostei (pra quem gosta de Eclipse é só usá-lo para programar em Python com o plugin Pydev). Nada disso me fez mais profissional ou menos profissional do que outras pessoas. Hoje uso vim desenvolvendo profissionalmente em Python e sendo muito mais produtivo do que quando trabalhei com Java dentro do Eclipse.
Conclusão: Python para mim é uma linguagem para fazer scriptizinhos e sitezinhos. Boa para desenvolver pequenos softwares e para quem está começando a programar.
Também pode ser boa para desenvolver os crawlers para um sistema de busca, ou o sistema de help deles (note o .py na URL). O backend do Youtube também pode ser um desses sistemas ou até mesmo um daqueles "sitezinho".
Não existe burocracia alguma em Java, o que existem são pessoas que não conhecem a linguagem.
Ruby (que na minha opinião é muito boa) resolve isso, por exemplo, usando duck typing, ou seja, ele associa o tipo da variável ao primeiro valor associado, mas uma vez definido ele não pode ser modificado. Com isso você pode "emular" tipagem estática sem problema.
- OO (ou não, você escolhe);
Eu considero isso terrivel. Já cansei de ter que dar manutenção em códigos mistos. Acho excelente prática uma linguagem obrigar o programador a ter determinados comportamentos.
- Dinâmicamente tipada;
Igual ao PHP? Onde não se sabe se $variavel é uma String ou um Inteiro. E não se sabe no meio do caminho alguem resolveu mudar o tipo da variavel? É terrivel!
- Produtividade e legibilidade;
Gostaria de alguem me dissesse uma IDE profissional para Python. Me refiro a algo profissional mesmo, como tem Netbeans, Eclipse, Intellij Idea para Java. Programar utilizando editor de texto colorido é repugnante e completamente improdutivo. Por favor, se você que está lendo isso nunca trabalhou com uma IDE profissional (como as mencionadas acima), por favor, não perca seu tempo tentando responder essa questão.
Conclusão: Python para mim é uma linguagem para fazer scriptizinhos e sitezinhos. Boa para desenvolver pequenos softwares e para quem está começando a programar.