Arquivos históricos do BR-Linux.org apresenta:

A importância estratégica do Python

Notícia publicada por brain em abril 16, 2004 10:55 AM | TrackBack


Continuando na esteira da controvérsia sobre a linguagem Java, que envolve o acordo da Sun com a Microsoft, declaração de vários figurões do software livre e das empresas envolvidas, e muita discussão entre as torcidas de todos os lados envolvidos, o IT Manager's Journal publicou o artigo "Why Python is tightening its enterprise grip", que trata do interesse que a linguagem Python vem atraindo no mercado empresarial, não apenas por suas características técnicas , mas também pela nova importância estratégica que esta linguagem verdadeiramente open source pode ter.

Para tentar reduzir o calor do debate tradicionalmente associado a este notícia esclareço aos que tendem a comentar sem ler o artigo original: não se trata de dizer que Python seja melhor ou pior do que outras linguagens - é apenas uma descrição do Python e uma exposição dos motivos pelos quais ele vem se atraindo maior interesse recentemente.

 

Comentários dos leitores
(Termos de Uso)

» Patola (Cláudio Sampaio) () em 16/04 11:05

Acho que um pouco se perde às vezes por ser excessivamente politicamente correto...

O que tem de mais em comparar Python com outras linguagens? Ela pode ser melhor pra muitas coisas sim e talvez até genericamente. Aliás, pouca coisa educa tanto quanto as comparações - PRINCIPALMENTE as mais aguerridas. Essa página do python.org - http://www.python.org/doc/Comparisons.html - tem muitas comparações interessantes. Quero só ver quando vai ter alguma comparação com o java 1.5...

Não tem sentido se abster de discutir algo técnico apenas porque uma discussão freqüentemente cede ao calor das paixões. Técnica é técnica, se é melhor devemos saber, oras. Se não fosse assim nunca teríamos comparação nenhuma... Nem Windows com GNU/Linux!


» Eje del Mal () em 16/04 12:52

Há também uma outra chamada "Ruby" ( http://www.ruby-lang.org ), feita por um parente do Morimoto...


» EdCrypt () em 16/04 14:26

Eu concordo com você, Patola (quem diria, há uns tempos, que um dia eu diria isso).
Eu tenho a impressão que o Python tem sido uma daquelas tecnologias 'injustiçadas', com grandes qualidades e que merece uma atenção maior. Tomara que seja a sua vez mesmo!


» pythoneiro () em 16/04 14:37

Patola,
Concordo que não tem sentido comparar Java com Python, seria equivalente a comparar C com Java.
Pensando bem, também não faz sentido comparar C e Python com Java.
Na realidade não vale nem a pena discutir sobre Java, pois nem vem na minha distribuição do Linux...
Vamos comparar Python com C que a gente ganha mais.


» Rodrigo () em 16/04 14:49

Independente de comparações ou não: o Python é uma excelente ferramenta de desenvolvimento! e depois que você começa a usá-la . . . não consegue mais parar ! ! ! Digo isso por experiência prórpia.


» Dyego Souza Dantas Leal () em 16/04 15:12

Eu nunca pensei q diria isto...

Mas vcs falando de java pra cah... java pra lah... eu estou quase chegando a conclusao que:

O futuro eh JAVA
ou
O futuro eh .NET

Espero q a Sun nao faca q nem a IBM fez com o OS/2 WARP... mantando...

Odiaria ter q ficar programando em uma linguagem criada pela Microsoft onde ELA detem o rumo...

Ficar amarrado na Sun ainda vai... mas na MS eh de ficar de olho arregalado... O_O


» Peter Parker () em 16/04 16:29

Texto original de http://pipe.oznek.com.br/arquivos/anual/2004/04/16/000004.php

Comentário meu: gosto tanto de python quanto de java, e ainda acho que um programador de verdade precisa aprender C pra depois partir pro resto.

"Guerra de Linguagens

Tenho visto por aí muitos posts, artigos, mensagens e fóruns discutindo sobre "qual a melhor linguagem". Engraçado é que nesses poucos anos que trabalho com programação sempre vejo esse assunto voltar à tona. Assim, acho legal expressar um pouco a minha opinião sobre o assunto.

Desde que comecei a programar (há mais ou menos 10 anos), estive envolvido em projetos grandes, pequenos, de curta, média e longa duração. Nesse período tive contato com diversas linguagens como C/C++, Java, VB, Clipper, Perl, Bash, gwbasic, Actionscript, e ainda programei para Dbase III, Lotus 1-2-3, Excel e Access. Se me perguntarem qual a melhor de todas, eu facilmente responderei: depende (sábio Fregni!). Por quê depende? Depende de vários fatores. Se o software precisa ser robusto, se o tempo de desenvolvimento é curto ou longo, se a solução precisa ser portável, e por aí vai. Essa é uma visão mais voltada para um projetista, um gerente de projeto. Isso não impede que esse mesmo cara prefira uma linguagem mais rápida para desenvolver os seus aplicativos domésticos. Aliás, isso acontece comigo normalmente. O que eu puder fazer em bash para não perder tempo, eu faço.

Em suma, tudo depende do que você vai fazer. Obviamente, isso implica em não necessariamente desenvolver em alguma linguagem que você domina, mas sim naquela que o projeto alcance os objetivos de forma eficaz, e com boa performance (quando é o caso).
"


» Patola (Cláudio Sampaio) () em 16/04 16:38

Peter Parker, o comentário tem sentido mas ainda assim isso traz à tona a questão: quando utilizar bash (zsh! zsh!), quando utilizar C, quando utilizar python, quando utilizar Java? Em que essas linguagens são melhores e em que elas são piores? Existe alguma boa o suficiente pra ser mediana pra maioria dos casos e boa pra alguns? Portanto continuo defendendo que as comparações de linguagens - mesmo as mais flamejantes, desde que envolvam argumentos técnicos - são sim produtivas.

Além do mais, cognitivamente falando, emoções fortes nos fazem armazenar informações mais facilmente. ;)


» Peter Parker () em 16/04 16:46

O duro é conseguir ter discussões técnicas. Já tentamos algumas vezes no PontoBR, mas geralmente sempre acaba caindo no "funcionários da Sun são lemmings" e "Python é C baianizado" ou "Python estrangula suas escolhas".
Este seu e-mail é verdadeiro?


» Patola (Cláudio Sampaio) () em 16/04 17:14

Sim, o e-mail é verdadeiro.

Quanto ao ruído na discussão, basta ignorá-lo. Não é tão difícil separar o joio do trigo...


» Insaneboy () em 16/04 17:32

Se o desenvolvedor for bom, ele sabera quando usar uma linguagem e quando usar outra, sem religao. Eh funcao do cara saber isso. Se ele nao souber, entao significa que o cara nao conhece as outras linguagens direito ( sabe apenas o pouco que leu e que ouviu, e com base nisso gera todo um alvoroço, na maioria das vezes sem peh nem cabeca ).

O Scott Ambler fala algo que diz tudo no inicio do livro "Agile Data Modeling". Basicamente ele diz que grande parte do software desenvolvido eh feito por pessoas nao capaticadas o suficientemente, nao necessariamente no lado tecnico. Ou seja, o cara comeca a programar aos 13, 14 anos, eh adolecente e revoltado, e nao tem tempo de vida para ter experiencia em muitas areas importantes. Nisso, acaba sempre fazendo guerrinhas.
Quando o cara vai ficando mais velho, vai vendo que na verdade ele deve saber usar todas as linguagens da melhor maneira, seja a sua preferida ou nao. Mas pelo menos vai estar atendendo as necessidades do cliente.

Tabelas dizendo "a linguagem x tem isso e a y nao, mas em contrapartida a y tem sabor morango, que eu pessoalmente gosto" ( ou seja, comparacoes entre tecnologias ) nao devem ser usadas para decidir o que usar. Fazer isso seria o mesmo que dar um monte de teoria sobre um assunto qualquer para alguem e afirmar que ela esta apta para resolver a situacao.

Sem vivencia - boa vivencia - em desenvolvimento, com varias linguagens, o cara nunca vai ser capaz de escolher a melhor ferramenta para a situacao.


» Tkinter () em 17/04 05:45

Python vem ganhando espaço não só pela sua fama de linguagem 100% Objeto - Simplificada , Python também vem recebendo muitos recursos e seu desenvolvimento é incrível, não se pode nem comparar o Python de 4 anos atrás com o de hoje, o que era uma bonita e simples linguagem script interpretada, vem se tornando numa poderosa linguagem objeto. Vale lembrar que python utiliza bibliotecas "C" no caso SDL, porém também trabalha com Java no caso o Jython.


» Marcelo R. Minholi () em 17/04 10:41

Não se esqueçam de que o Python tem em seu currículo referências importantíssimas no Google e na Nasa e que é a linguagem utilizada na construção da plataforma para aplicações web Zope .

Ligados ao zope existem algumas características e produtos que merecem destaque, entre eles:

- Linguagem DTML: Criada no Zope para implementação de lógica de apresentação dos coteúdos.

- TAL: Tags que são integradas ao HTML padrão permitindo a edição de templates com softwares como o Dreamweaver sem prejuízos para programadores e webdesigners.

- ExternalEditor+WebDAV: Capacidade de editar objetos Zope sem precisar usar FTP, bastando clicar no documento para edita-lo diretamente no desktop e salva-lo para que sejam enviadas as alterações.

- Plone: Excelente CMS que não só faz a função de outros CMS's como o PHPNuke, XOOPS e outros como oferece funcionalidades para criação de Intranets corporativas, GED e muito mais.

- Epoz/Kupu: Editores de conteúdo WYSIWYG para o Plone/Zope que permitem aos membros de uma organização editarem seus próprios conteúdos de maneira similar à um editor de textos.

- Archetypes: Permite criar conteúdos para o Zope/Plone apartir de diagramas UML feitos no ArgoUML.

O pessoal da SERPRO parece já ter pego o espírito da coisa sobre o conceito de gestão de conteúdo e gestão do conhecimento. Teóricamente todos os processos de uma empresa podem ser modelados com o ArcheTypes e integrados à bancos de dados relacionais, substituindo os tradicionais sistemas de gestão pelo ambiente unificado de gestão de conteúdo.

Lógico que existem outros produtos capazes de fazer isso, mas a dobradinha Zope/Plone OpenSource está ganhando terreno rapidamente e levando consigo o python para dentro das organizações.

A forma como se desenvolve software na plataforma zope/plone com a ajuda do archetypes está muito à frente de qualquer outra solução que se adote para informatização e gestão de conteúdos dentro das empresas. É uma pena que o conceito ainda não foi totalmente compreendido pela maioria e que as pessoas ainda continuam reinventando a roda para desenvolver coisas que os "Filhos do Python" já fazem com maestria.


» TaQ () em 17/04 14:25

Putz, eu gosto de Python, mas "Filhos do Python" soa meio estranho ehehe. :-)


» Guaracy Monteiro () em 17/04 16:27

Quanto ao Java, existe uma proposta (parece que foi aceita) para a padronização do Groovy como linguagem para a plataforma (http://groovy.codehaus.org/). Quem gosta de Python ou Ruby vai achar muito boa a sintaxe.

Acho que Python nem concorre diretamente com Java, muito menos C. Existem linguagens muito mais propícias para a comparação, como 'D' por exemplo. Só porque vaca e cachorro são mamíferos e quadrúpedes, não quer dizer que são diretamente comparáveis entre sí. Também acho que alguns pacotes adicionais deveriam estar inclusos na distribuição padrão.

Me desculpem os 'filhos do Python', mas prefiro Ruby. Comparar bibliotecas não irá levar a lugar nenhum. Comparar a sintaxe também não. Apenas gosto mais e ponto.


» Marcelo R. Minholi () em 17/04 19:55

Hehehehe... Só agora eu me toquei a respeito da possibilidade do trocadilho com os FDP :-D... Desculpem aí, foi mal :-P


» Marcelo R. Minholi () em 17/04 20:30

Guaracy,

A minha intenção não foi comparar bibliotecas, nem mesmo a linguagem ou a sintaxe dela, mas expor o fato de que, apesar de poder ter sido implementado em qualquer outra linguagem, um conjunto de ferramentas importantíssimo para o meio corporativo foi desenvolvido com o auxílio da linguagem, o que acabou dando ainda mais projeção a ela nesse meio.

O Zope não é um simples conjunto de bibliotecas, é um web application server com direito à web server próprio, container de objetos e tudo mais. Ele compete diretamente com o IBM WebSphere, SAP NetWeaver, Apache TomCat e outras plataformas para desenvolvimento de web applications.

O crescimento da aplicação do conceito de gestão de conteúdos nas organizações está sendo refletida pela criação de novos produtos voltados para esse fim, como no caso do Content Management Server da Microsoft e de tantos outros produtos comerciais para esse fim. Nessa área o Plone é um dos poucos, senão o único OpenSource, capaz de fazer frente e ainda oferecer benefícios em relação aos seus concorrentes.

Penso que por serem ferramentas desenvolvidas em python e por permitirem o uso da linguagem para tarefas mais avançadas tudo o que citei nessa mensagem e na anterior pode ser colocado como uma amostra da forma com a qual o python está alcançando representatividade no meio corporativo, que afinal de contas, é algo diretamente relacionado ao assunto da notícia.


» Guaracy Monteiro () em 17/04 23:17

Oi Marcelo.

A minha mensagem não era para ti (como não existe uma hierarquia, fica mais difícil um relacionamento das mensagens). Foi mais com relação aos que se referiam a comparação de linguagens. Se não for especificada uma área, as 'threads' terminam sempre na vala comum (mas até é possível aproveitar uns 4 ou 5% da discussão :-).

Já que citaste o Zope, eu citaria ainda o GNU Enterprise, que acho um projeto que também pode ser bem interessante. Outra área que deve ser explorada é a educacional.

Se bem que a escolha das ferramentas, geralmente não são feitas por quem realmente as usa. Dependem ainda do mercado, de marketing, disponibilidade e de outros fatores. Nem sempre quem é melhor é o vencedor. Para uma empresa, pode ficar mais barato e seguro escolher .NET, PHP ou Java que Python, Ruby ou Smalltalk, mesmo que estas últimas possam ser melhores para a tarefa desejada.


» Marco André () em 18/04 17:47

Olá

Guaracy Monteiro escreveu: "Outra área que deve ser explorada é a educacional."

Você poderia detalhar melhor esta sua idéia? Gostaria de conhecer seus argumentos. Tenho estudado e discutido o uso de Python no ambiente acadêmico. Se você puder passar links para material, ou listas de discussão que tratem disto, ficaria agradecido. Se você preferir disutir fora do fórum, me escreva.

Abraços


» Osvaldo Santana (aCiDBaSe) () em 18/04 18:43

Marco,

Acho que a principal URL sobre o assunto Python+Educação é http://www.python.org/sigs/edu-sig/

Lá existem diversos links para casos onde se usa Python no ensino acadêmico.

Uma coisa que gostaria de fazer, mas me falta tempo, é desenvolver um material para ensino de programação em Python e cedê-lo ao pessoal dos Telecentros para que eles possam montar uma 'oficina de programação'.


» Job () em 19/04 11:12

Me deparei com Python a pouco tempo, na verdade eu ja havia lido sobre a linguagem muitos anos atras na Dr. Dobb's. Achei muito expressiva e simpática, em termos de expressão achei muito superior ao Java.
Mas só da para pensar em linguagem isoladamente em termos ciêntíficos, quando se trata de aplicação,
ai vem a máxima do amigo Peter Parker(patolinux),
DEPENDE.
Em meus 22 anos de programação, a primeira linguagem que aprendi foi o Basic, que vinha em ROM, naqueles maravilhosos computadores de 8bits, onde a gente gravava os programas em fita cacete.
Era o máximo! Nessa época (reserva de mercado) nem se conhecia o PC, o suprassumo era ver ums Apple importados.
De la pra ca, passei por dezenas de linguagens e ambientes. Tendo trabalhado para resolver problemas de diversas áreas, ciêntíficas, comerciais, industriais.
Na minha graduação, uma professora dizia que a gente tinha de que conhecer bem uma única linguagem (COBOL) para seu sucesso proficional.
Bons tempos aqueles do MainFrame, que isso ate poderia ser verdadeiro. Nunca achei isso, sempre fui um fanático por linguagens.
Esta se demonstrando cada vez mais que uma linguagem se torna forte pela sua capacidade de anexar recursos ja prontos. Neste caminho vão a plataforma .net, o python, o Perl, ...;
Tudo depende, mas se quiseres fazer aplicativos comerciais programas pra plataforma inimiga, nào titubeies, use Clarion.
Botei fogo agora...


» Catho () em 19/04 13:07

Isto aqui esta mais parecendo um portal de empregos, todo mundo querendo falar q programa em uma duzia de linguagens.
Eh melhor disponibilizar os CV e pronto.
Ah!!! depois nois fala das linguage tb....


» ofranja () em 19/04 13:26

Ao comparar linguagens de programação, a sintaxe não é tudo.

Depois de programar um bom tempo em C, Perl e iniciar alguns programas em Python, descobri em outras linguagens algumas boas características, como a tipagem estática e a "programação funcional", que hoje considero ferramentas muito boas - e de certa forma, fundamentais também. Estas características podem ser encontradas nas linguagens da família ML, por exemplo. Entretanto, eu utilizo de uma em especial, que atende a maioria dos meus requisitos e também possui orientação a objetos: OCaml.

E apesar de Java 1.5 checar quase completamente os tipos na hora da compilação, ele ainda continua fazendo uma segunda checagem em tempo de execução, o que mina o desempenho dos programas escritos nesta linguagem.

É isso.


» Peter Parker () em 19/04 18:59

ofranja: Java mantém todo estrutura da classe em cache, não apenas os tipos. Vantagem: já viu alguma invasão por código via fórceps? Desvantagem: a que vc citou.


» Ark () em 19/04 19:02

Uma coisa ninguém pode negar sobre Java: é o padrão mais rígido e conciso de uma linguagem de programação. Um programa continua rodando desde a primeira versão sem modificações. E as novas features nunca mudaram a linguagem radicalmente.


» ofranja () em 19/04 22:30

Peter:

Bem, eu não tinha mencionado o cache, só a checagem dos tipos na compilação e na execução.

A propósito, no caso do OCaml - onde se tem um programa compilado nativamente ou rodando um interpretador próprio - não faz sentido fazer a segunda, visto que o processo só pode afetar a si mesmo.


» Joao Pedrosa () em 22/04 13:40


Oi,

Gostaria de registrar que entre todas as linguagens que já usei e comparei, prefiro atualmente Ruby, pois é um prazer usá-la.

Veja esta página para mais info sobre ela:
http://geocities.com/canalruby/

Abraços,
Joao


» Eduardo () em 23/04 15:14

Olá todos,

também penso que há sempre uma lingaugem certa para cada tipo de projeto/aplicação.

Mas, como muitas linguagens foram citadas apenas pelo fato de a pessoa preferí-la, vou citar a lingaugem Lua (http://www.lua.org/portugues.html).

Não porque seja a de minha preferência (na realidade eu apenas li sobre ela), mas porque tenho houvido cada vez mais se falar nela e, principalmente, porque é desenvolvida aqui, por brasileiros, e está sendo usada em lugares que não poderiam ser melhor ceritificado de competência, dêm uma olhada: http://www.lua.org/uses.html.

[ ]s,

Eduardo.


» blacks0ul () em 05/05 13:42

cara, ficar discutindo ou comparando uma linguagem com a outra nao adianta em nada, cada um se adapta a uma linguagem no qual "tapa todos os buracos" que ele precisa, eu comecei com pascal, passei pro java, fucei action script, comecei C, e agora to no python, ate agora ela ta sendo a melhor pra mim.... ate qdo... :D~


Comentários desativados: Esta discussão é antiga e foi arquivada, não é mais possível enviar comentários adicionais.



O Arquivo Histórico do BR-Linux.org mantém no ar (sem alteração, exceto quanto à formatação, layout, tabela de caracteres, etc.) o acervo de notícias, artigos e outros textos publicados originalmente no site na segunda metade da década de 1990 e na primeira década do século XXI, que contam parte considerável a história do Linux e do Open Source no Brasil. Exceto quando indicado em contrário, a autoria dos textos é de Augusto Campos, e os termos de uso podem ser consultados na capa do BR-Linux.org. Considerando seu caráter de acervo, é provável que boa parte dos links estejam quebrados, e que as informações deste texto estejam desatualizadas.