Seções iMasters
Python

Por que Python é importante para você

Creio que Python é importante para o desenvolvimento de software. Embora existam linguagens mais poderosas (por exemplo, Lisp), mais rápidas (por exemplo C), mais usadas (como Java) e mais estranhas (por exemplo, Haskell), o Python obtém um monte de coisas diferentes de forma correta, e em uma combinação que nenhuma outra linguagem que eu conheço tem feito até agora.

Ele reconhece que você vai gastar muito mais tempo lendo código do que escrevendo-o e se concentra em orientar os desenvolvedores para escreverem um código legível. É possível escrever um código obfuscated em Python, mas a maneira mais fácil de escrever o código (assumindo que você conheça Python) é quase sempre uma forma que seja razoavelmente concisa, e mais importante: um código que sinaliza claramente a intenção. Se você souber Python, você pode trabalhar com quase qualquer Python sem muita dificuldade. Mesmo as bibliotecas que adicionam funcionalidades “mágicas” podem ser escritas em Python perfeitamente legível (compare isso com a compreensão da implementação de um framework, como o Spring em Java).

O Python também reconhece que a velocidade de desenvolvimento é importante. Um código legível e conciso é parte disso, e também é o acesso a construções poderosas que evitam a repetição tediosa de código. Manutenibilidade também está vinculado a isso – LoC pode ser tudo menos uma métrica inútil, mas diz algo sobre a quantidade de código que você tem que verificar, ler e/ou entender para solucionar problemas ou ajustar comportamentos.

Essa velocidade de desenvolvimento, a facilidade com que um programador de outras linguagens pode ter habilidades básicas em Python e a enorme biblioteca padrão são as chaves para outra área onde o Python se destaca – toolmaking. Qualquer grande projeto terá tarefas para automatizar, e automatizá-las em Python é, em minha experiência, mais rápido do que usar linguagens mais populares – na verdade, foi assim que comecei com Python, criando uma ferramenta para automatizar a configuração de Rational Purify para um projeto onde antes era uma tarefa que nunca havia sido executada (e vazamentos de memória não eram corrigidos). Eu já havia criado ferramentas para extrair informações de sistemas de registro e apresentá-las de uma forma útil para a equipe, ferramentas para verificar poms em um projeto Maven, integração Trac, ferramentas de monitoramento personalizadas… e muito mais. Todas essas ferramentas foram rápidas de implementar, economizaram muito tempo, e muitas deles mais tarde foram corrigidas e atualizadas por pessoas sem experiência em Python – sem quebrar.

Aquela construção de ferramentas personalizadas são dicas fáceis em outra força – a construção e a manutenção de software personalizado é fácil, ponto final. É por isso que, enquanto o enorme framework Django pode ser o mais famoso framework web Python, há também uma série de micro e pequenos frameworks de sucesso.

Ao trabalhar em uma poderosa linguagem de programação com uma grande variedade de bibliotecas padrão e de terceiros, muitas vezes você não precisa aceitar os trade-offs que são necessários ao usar qualquer estrutura framework off-the-shelf. Isso significa que você pode construir exatamente o software que seus clientes querem, em vez de dizer-lhes que “esta é a forma como é feito, desculpe”. Para mim, essa é uma diferença enorme. Eu me sinto envergonhado quando tenho que dizer a um cliente que não, desculpe, isso parece uma simples exigência, mas o sistema que usamos torna isso impossível ou caro de implementar de forma proibitiva. Sempre que isso acontece, você falhou.

Escrever software que se encaixa ao modelo do cliente em vez de a um framework é importante, e eu sinto que muitos desenvolvedores hoje perderam de vista esse fato simples. Vários programadores agora passam mais tempo sendo configuradores de frameworks e inventores de desculpas para suas falhas, em vez de programarem de verdade.

Finalmente, se você for um(a) chefe ou gerente geral, usar o Python tem um benefício final – programadores de Python são menos frustrados*, o que os torna mais felizes, e ainda mais produtivos!

(* pode não ser verdade quando estiverem instalando extensões de código-fonte distribuídas C no Windows)

?

Texto original disponível em http://blaag.haard.se/Why-Python-is-important-for-you/#disqus_thread

Comente também

5 Comentários

felipe

Eu sempre leio o blog desse cara. Os posts dele são muito bons, refletem o fatos do dia-dia sendo resolvidos com Python.

Guilherme Oderdenge

Comecei com Python há pouquíssimo tempo, e esse cara – o autor – já uma referência na área. Realmente, ótimos artigos.

Ronaldo de Alcântara

Me interessei pelo Python agora depois de ler o artigo dele. Realmente vale a pena.

leonardo tada

concordo com tudo e desde vi como o Python funciona, não quero mas saber de outra linguagem (na maioria dos casos) , é muita vantagem de código sobre as outras.

Leonardo Barros da Silva Rodrigues

Uso python há poucos meses e estou fascinado. Cosnegui fazer uma aplicação básica e que se fosse feito e m C++ demoraria mais tempo.
A identação do Python me faz ter mais atenção quando escrevo em C++, coisa que não tinha muito. Estar funcionando era o que importava.

Qual a sua opinião?