segunda-feira, 22 de março de 2010

E a cobra fumou!!!!!

Apesar de ter ouvido falar muito do Python, como toda pessoa que vem do Java, e que conhece bem o ecossitema de bibliotecas e frameworks , olhava meio de "cara feia" para a linguagem.Usando Ubuntu, e fussando em blogs e artigos de desenvolvimento Web percebia que ele era muito usado e melhor, muito util.





Me apeguei a estudar o Jython, versao portada para gerar bytecodes e rodar na JVM. Como gosto de linguagens e ja tinha experimentado(e gostado demais por sinal!) Groovy, Ruby(JRuby) , Clojure, JavaFX, por puro preconceito e ignorancia apenas, tornei meu foco apenas para a integração, e as informações mais famosas e "hypes".






Eis que fui encubido de estudar Python/Django durante essa semana para um projeto no estagio. Recebi uma biblia(Learning Python da O'Reilly), e muita informação sobre comunidade, projetos na pratica e produtividade em uma conversa com meu gerente.




Fuçando a linguagem, revendo coisas que ja tinha lido por alto, e claro, buscando informação na comunidade, no Google e code snippets, em menos de uma semana alem de me viciar na linguagem, vi que ela é uma poderosissima arma no arsenal de qualquer desenvolvedor, desde a infraestrutura (redes, sistema de arquivos), parsers) até a web(otimos frameworks e api's).


Vindo do estudo e uso do Grails, Rails, VRaptor e sabendo dos prós e contras de cada mundo, olhei para o Django com admiração após brincar um pouco com o framework.




O Django desde o começo é simples e o tutorial no site do projeto te mostra o poder que ele tem. Alguns livros como Django Pratical Projects, tem projetos simples com requisitos usados no dia-a-dia da maioria dos projetos web. É a real historia do ver pra quer.


Pra quem vem do mundo OO, o Python tem todo o suporte ao paradigma, te dando um conjunto grande e robusto de libs integradas ( Redes, Threads, Arquivos, Strings, Coleções...) nas mais diversas areas de dominio.





Alem de uma linguagem que permite construções rapidas, curtas e mortais, temos diversas caracteristicas do mundo funcional como funções map(), reduce(), filter() alem de manipulação de listas como no LISP.


Para quem se aventura no mundo LISP, ou adora coisas como metaprogramação no Ruby e no Clojure, o Python possui ótimo suporte a reflexão alem de menor rigor no uso de ; e {}.


Me atreveria a dizer, com a minha pouca experiencia na linguagem, que ela seria um meio-termo entre o Java e o LISP.

Nas universidades Stanford(berço da Sun e da Google), Michigan(berço dos algoritmos geneticos) e muitas outras, o Python é a linguagem base nos cursos de Ciencia da Computação, pela sua expressividade( boa pra codar algoritmos de forma quase que em lingua natural), facil aprendizado e vasto conjunto de bibliotecas.




Empresas como a NASA, e a Google usam Python em muitos sistemas.A Google inclusive emprega o criador da linguagem, Guido Von Rossum e tem diversos projetos importantes codados na linguagem como Youtube, AppEngine, LLVM(Unladen Swallow) entre outros.


No mundo OpenSource o GIMP e o Blender , respectivamente, um editor de imagens completo com recursos equivalentes ao do Photoshop e um editor/modelador 3D poderoso, são aplicações escritas na linguagem e que possuem integração com plugins de terceiros tambem escritos em Python.


Fatores como produtividade na web(Django,Pylons), comunidade opensource(documentação/foruns/suporte) , facilidade no aprendizado e poder nas abstrações fazem valer a pena estudar e ter um contato mais intimo com essa linguagem.


Com certeza alem de te tornar um programador melhor e mais versatil , ele tambem sera uma fonte de inspiração e diversão na hora de programar.




OBRIGADO PELO SEU TEMPO!

Marcadores:

0 Comentários:

Postar um comentário

Assinar Postar comentários [Atom]

<< Página inicial