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. [Webinsider]
.
24 respostas
Olá a todos.
Como todos vocês, reconheço que Python é uma linguagem fantástica. Adoro Python e olhe que conheço ela a poucos meses e planejo seguir em frente e me tornar pro em Python.
Porém, não gosto das guerras santas que existem: Python X Java (e também Ruby X Java).
Java é a segunda linguagem que eu aprendi (a primeira foi Pascal, quando eu comecei a engatinhar na programação). No exato momento ela é a linguagem em que eu me sinto mais confortável para escrever programas. Não acho que Java seja chata ou careta como boa parte dos pythonistas ou rubystas acham. Acho Java bastante agradável. Com um bom editor de texto, se reduz muito a carga de digitação com recursos como os snippets, por exemplo.
Fiquei bastante encantado por Python, mas não vou deixar Java pra lá. Não mesmo. (Já o Delphi, esse eu aposentei, estudei ele durante um ano num curso técnico, mas depois nem peguei mais nele).
Sempre é difícil sair do certo para o incerto, não é mesmo?
É a natureza humana, mas cedo ou tarde, a evolução vence e acabamos por seguir o seu caminho.
Python é uma evolução e não pára de se aprimorar, é rápido, o código escrito é legível e facilmente entendido por terceiros, é mais fácil de manter, é elegante, é quadrado, é seguro criar webapps em Python pelo simples fato de você ser obrigado a identar o código, pois você, com php por exemplo, pode colocar função após função separados por ; e na web, sem dúvida isso é mais inseguro! Com Python, isso nunca vai acontecer.
O mesmo que vale para o projeto Enlightenment, vale para o Python Marcos Wicca, as pessoas temem o novo, mesmo ele sendo superior, não gostam de mudanças… Mas como você conhece várias linguagens, tenho certeza que vai escolher o Python! 😀
[]s
Thiago
seguinte: por isso estou a procura de uma nova ferramenta que realmente seja tão fácil e rápida seja nesta ou naquela tecnologia!
Uso clipper ainda, e faço milagres, fora lógico dos padrões acadêmicos que alguem citou aqui, tenho 22 anos na área de programação, já usei de tudo qdo era necessário em plataformas que exigiam mesmo que se fosse bom!
Agora não só por ter botão e telinha bunitinhos, mas porque, se essas novas formas de envio e recebimento de dados precisam ser além do conformismo e da preguiça programativa, inventei isso agora, que muitos por serem como garotas corrimão, passam de mão em mão, e nunca tem qualidade acabam perdendo seu tempo e o do cliente!
Assim que inventarem uma que substitua mesmo a minha base de dados (e nem venha pia de faculdade falar de SQL, vamos ser coerentes), eu troco mesmo ou então, não estaria aqui a procura de algo melhor!
Phyton parece ser o que eu quero, Delphi é f… mesmo, C++ uso sim, e daí? gosto de mulher tb, e daí?
Agora VB é coisa para amante, e como prefiro ser o principal e não substituto…
enfim, sei que vão xingar mesmo, aproveitem, falem mal do véinho aqui
mesmo assim…
paz e prosperidade
Parabéns pelo artigo Xará!
isso ae .. shhh !!! ahahahauha
excelente matéria, hj tenho 24 anos e mecho com python a pouco tempo, +/- desde os 17 🙂
mais não fique totalmente shhh pois quanto mais as empresas e seus donos saberem que python é uma excelente ferramenta, vão precisar de programadores, e chamarão nós para programar para elas… 🙂
abraços
Oi Murilo, estou estudando JAVA atualmente. Até então só programava PHP, ASP, AS e JS. Estou tendo contato com vários frameworks interessantes como o Groovy (Grails), Struts, VRaptor, etc.
Percebo que o uso da linguagem é muito vasto. Praticamente os maiores bancos tem seu sistema em JAVA (Bradesco, HSBC, Real, Unibanco e BB) e tb empresas como GE e Siemens. Sem contar os casos mais extremos como réplicas de aviões que voam com piloto automatico programado em JAVA e robôs de exploração da Nasa.
Como ainda sou iniciante, a única coisa que posso dizer é que é um mundo facinante :D, mas há uma curva de aprendizado maior em relação às linguagens que eu já programava.
Serpa ,
Java tem um plataforma bem grande pra desenvolvimento de aplicações web , não é soh jsp e tal
Muito legal! Vou pesquisar, valew Rodrigo!
Serpa
Você está enganado!
Python tem aplicabilidade tão extensa quanto Java (dispotivos móveis e etc).
E o seu funcionamento e semelhante ao Java, um script (posteriomente compilado) interpretado pela máquina virtual, como Java.
Em relação a C nem mesmo Java poderá ser tão amplo e de certa forma em determinadas situações o uso de C torna-se indispensável.
Conheça python mais a fundo e surpreenda-se!
Java e C não deveria nem ser citado neste artigo. Python deve ser comparada com outras linguagens de script apenas (PHP, ASP, JSP, Cold Fusion). Java e C tem uma aplicabilidade muito mais ampla, como programação de dispositivos, applets, 3D e robótica. Estou enganado?
Python é uma boa escolha sem duvida , soh que aqui em São Paulo trabalho com asp(o antigo) pois é o que tem pra eu =) fazer , agora vagas pra pogramadores java tem um monte tbm, já python , ruby , é meio dificil tem empresas que investem nessas linguagens como ferramentas de trabalho aqui em são paulo mais é muito pouco , no mercado Java por exemplo as empresas aqui não dão valor aos autodidatas precisa ter os diplomas na mão , mesmo o cara sendo especialista no que faz , por isso trabalho com asp e não reclamo apesar de ter investido esforços pra aprender outras linguagens.. dai eu respondo por que não usei isso antes? , pelo simples fato de não ter oportunidade para desenvolver com python.
Vocês não me levem à mal, mas não vejo com bons olhos
profissionais que vivem escondendo vantagens competitivas…
Se questionam tando o Java, porquê não comentaram algo sobre o Jython?
Ah, o Shell Script também não fica atrás, embora seu uso seja mais restrito. &;-D
Para os que gostam de Python e programam pra Web, sugiro uma olhada no framework web Django em http://www.djangoproject.com e no livro http://www.djangobook.com.
Muito bom o artigo! Só faltou falar da possibilidade que o Python tem de se integrar perfeitamente no ambiente visual Linux. Tanto GNOME quanto KDE.
Por que não usei isso antes? A pergunta do artigo é facilmente respondida. É devido a egolatria e complexo de superioridade dos programadores. A bola é minha e não empresto. Não divulguem, vamos brincar só a gente… Boa sorte e tomara que 2007 abra a mente de vocês.
Olá,
Realmente a Python é uma puta linguagem. Quando estava começando a desenvolver em PHP, esbarrei nela e convivi com a presença dela nas comunidades open source e de entusiastas desde então. Como o desenvolvimento de várias soluções eram pedidas preferencialmente em PHP, acabou que não me aprofundei nela muito.
A Ruby (com rails) é realmente um achado (é só ver o videocast dum cara fazendo um blog em poucos minutos…. é impressionante). Mas as pessoas estão muito voltadas hoje em dia ainda pra procedurais: culpa em partes do cunho autodidata e, quando provindo de uma universidade, dos professores que ensinam procedural antes de OO e as vezes nem chegam a falar sobre MVC nem padrões nem nada.
A verdade é que a resistência ao uso de objetos se deve em partes pelo aprendizado da maioria, que se embasa em exemplos tipicamente procedurais. Então depois não enxerga a necessidade de objetos quando eles tem a mão procedimentos e funcoes. 🙂 Tem nego que tem uma dificuldade absurda pra abstrair isso.
Enxergo assim : aprender hoje em dia procedural pra ir à OO e depois para outros lances é como ensinar portugues e depois dizer que isso foi usado pra você saber o significado das coisas que vc vai falar agora em ingles, uma lingua com construção e dicção diferente.
Deveria ser OO desde o inicio … ai sim, varias linguagens deslanchariam de vez e iria finalmente acabar com o pseudo-glamour de alguns que programam em OO e linguagens mais avançadas e que acaba inibindo muita gente (o que por outro lado faz eles estudarem mais … hehehehe). =)
Muito bom o artigo … 😉
Abraço a todos.
hehehehehe…
se pela materia, eu que uso C#, e tomo gosto pela linguagem, agora com a materia, vou passar a me dedicar ao Python e ao Ruby agora, porém tb não sei se foi só a mateira, q esta muito boa, ou se foi os comentarios, acho q os comentarios deram um up maior a materia, q diga-se de passagem esta ótima…
parabens ao autor.
rapaz…..
fico em duvida se foi a matéria ou a tentativa dos comentários de silenciar o autor que me deixaram doido pra dar uma conferida……..
heheheeehe… excelente matéria.. 😉
Venho aqui prestar meu apoio ao Ricardo e ao Marcellino Jr.:
Shshshshshshshshshshshshshshshshshshshshshsh!!!
Deixa quieto, porque segredo profissional não se espalha!
No mais, ótimo artigo, Rodrigo (fora a infeliz observação onde você chama os programadores de C e C++ de masoquistas)!
[]s
Amigos, eu tenho a felicidade de estar envolvido em projetos usando Linux, PostgreSQL, Ruby (rails) e Python (em um backend).
Como o amigo falou eu jah nem sei se eh legal divulgar essas maravilhas ou se deixamos a concorrencia quebrando a cabeca enquanto a gente se da bem…
😉
Concordo com o Ricardo!
SHHH!! Não espalha!
hahahahahahahahaha!!!..
assim tú me mata de rir, ricardo!
meu, vcs, q são desenvolvedores, tem que se organizar mesmo. está ae, uma ferrametna bacana, que pode demias dominar o mercado.
tb acho fino ajax. dá até vontade de mudar um pouco de ramo, hehehehe..
abcs!
Só para acrescentar o Python era multiplataforma muito antes do JAVA/SUN.
E eles ganharam o credito…
Shhhh!
Pare de ficar divulgando vantagens competitivas. Deixa o povo continuar usando Java, C++, PHP, Perl, VB, Clipper…
Nós que usamos coisas como Python ou Ruby devíamos ficar quietos e deixar a competição batendo a cabeça.
😉