Visite também: UnderLinux ·  VivaOLinux ·  LinuxSecurity ·  Dicas-L ·  NoticiasLinux ·  SoftwareLivre.org ·  [mais] ·  Efetividade ·  Linux in Brazil ·  Floripa  

Webinsider: Python, por que eu não usei isso antes?


“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!”


Enviado por Julio Pacheco - referência.

Comentários dos leitores

Os comentários abaixo são responsabilidade de seus autores e não são revisados ou aprovados pelo BR-Linux. Consulte os Termos de uso para informações adicionais. Esta notícia foi arquivada, não será possível incluir novos comentários.
Comentário de anonymous4408
Perdoe-me -- mas eu usei e nao gostei: Olá,

- 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.




Comentário de Manoel Pinho
Respostas: Infelizmente as respostas (que eu não concordo) da maioria dos "programadores" brasileiros são:

- não aprendi na faculdade ou no cursinho XYZ
- não tem "editor visual" (nome que dão às IDEs RAD)
- não conheço muitas pessoas que usam (efeito maria-vai-com-as-outras)
- não pedem em anúncios de empregos (mesmo que esses empregos paguem uma miséria)
- nunca vi em nenhuma propaganda em revistas, sites e feiras de informática


Aqui mesmo apareciam umas pessoas falando isso como desculpa para não programar em linux ou com essas linguagens "não visuais" (como se linguagem tivesse visual...)

E mesmo com isso tudo a máquina de marketing M$ ainda consegue convencer boa parte dos VBzeiros a migrarem para .Net...

------------------------------
Usuário Linux #100343
Participe da Comunidade de Usuários do Mandriva Linux no Brasil
Comentário de advogado-python
anonymous4408 : anonymous4408

Graças a Deus essa é a sua opnião e não a do resto da humanidade.

python te dá liberdade inclusive pra fazer besteira, realmente, mas isso não chega a ser um problema quando se é um bom desenvolvedor.

em relação a IDE's e afins não concordo que ter uma IDE faz da ferramenta melhor ou pior, a simplicidade pythonica permite que você abra mão disso sem perder qualidade.
Comentário de hamacker
É normal alguém já: É normal alguém já acustumado ao VB/Delphi associar uma IDE a linguagem, no entanto é preciso separar as coisas.

Uma boa IDE ajuda no desenvolvimento dum programa porque vai prover um debugador, editor de sintaxe, autocomplete, help contextual e alguns deles até um editor de formulário, mas nada tem a ver com a linguagem em sí sob a qual a IDE está ajudando a escrever.


Comentário de XX
IDE: "Gostaria de alguem me dissesse uma IDE profissional para Python. Me refiro a algo profissional mesmo, como tem Netbeans, Eclipse, Intellij Idea para Java"

http://pydev.sf.net


"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."

Zope ??? Plone ??? YouTube ??? Partes do Google ???


Comentário de teovictor
Vá entender: Utilizo NetBeans, já usei Eclipse, sem abandonar os repugnantes editores coloridos, e mesmo assim ainda estou tentando entender o que esse cara quer dizer com "IDE profissional". Profissional sou eu, independente de minha ferramenta.

De qualquer forma, é impossível dizer que ferramentas para Python como Eric e Boa Constructor não são muito boas.
Comentário de popolony2k
Infelizmente as novas gerações de desenvolvedores no Brasil...: ....cresceram sob o marketing da M$ de que VB é a ferramenta perfeita para se desenvolver grandes projetos com o mínimo de esforço possível, por isso ainda existem longos questionamentos sobre IDE's profissionais etc et al.

Mas a verdade é que a grande maioria dos grandes produtos conhecidos, tanto em UNIX/Linux/POSIX/MACOSX..... quanto os do M$ Windows, são projetos que o máximo de conceito visual que utilizaram em seu desenvolvimento foi usar o mouse para clicar no botão Compile/Build All do IDE visual, isso quando usam um IDE visual e não os configure/make da vida.

Até mesmo porque ninguém quer ficar amarrado a um formato de arquivo de projeto visual, por mais XML que ele seja.

Leidson - Popolon Y2k
PlanetaMessenger.org - Java Universal Messenger
FreeBSD/OpenBSD user
Politics is showbiz for ugly people !
Minhas Charges

http://blog.planetagol.com.br/category/blog-do-leidson/charges/
Comentário de acidbase
Vamos por partes...:
- 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.

- 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!

Não, é diferente. Tipagem fraca não é a mesma coisa que tipagem dinâmica. Qualquer programador experiente sabe disso.

Python tem tipagem forte igual Java, ou seja, string é string e inteiro é inteiro. A diferença é que em Java o tipo fica vinculado ao identificador
(alguns chamam de variável) e em Python o tipo fica associado ao objeto. Desta forma a resolução de tipos é feita em tempo de execução e não em tempo de compilação.

- 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.

Isso é uma opinião muito comum entre programadores Java. Eles trabalham com uma linguagem tão burocrática que torna a vida deles praticamente impossível sem a presença de uma IDE que automatize essa burocracia.

Mas existe vida além da IDE e usar uma delas não torna um desenvolvedor mais ou menos profissional do que o outro.

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".

--
Osvaldo Santana Neto (aCiDBaSe)
Comentário de chronos
esqueceu da nasa: A NASA também usa :]

Felipe 'chronos' Prenholato.
Linux User nº 405489
www.gentoobr.org
Comentário de JohnM
E agora? Python ou Ruby?: O que podem dizer a alguém que está querendo abandonar o Java para desenvolvimento Web e querendo buscar a tão falada produtividade que estas 2 linguagens oferecem... mas qual linguagem escolho?
Comentário de chronos
Só pra descontrair ...: Uma vez eu vi em um lugar algo muito legal :), segue:

Como fazer nada em JAVA:

--------
public class Nada {
public static void main(String[] args){

}
}
--------

como fazer nada em Python:

--------

--------

Achei isto muito engraçado :).

Fonte: http://listas.im.ufba.br/pipermail/python-ba/2004-September/000038.html

Mas ainda assim não deixa de ser uma discussão boba de Java X Python. A real é que no meu ponto de vista o nosso amigo 'anonymous4408'] falou um monte de besteira e o nosso outro amigo 'acidbase' corrigiu dizendo tudo.

Seria interessante que não houvessem flames aqui.

Alguém conhece algum artigo sobre o mercado de python no Brasil? Postem ai no BR-Linux :)


Felipe 'chronos' Prenholato.
Linux User nº 405489
www.gentoobr.org
Comentário de popolony2k
O que vc chama de burocracia......: ...eu chamo de poder.

"Isso é uma opinião muito comum entre programadores Java. Eles trabalham com uma linguagem tão burocrática que torna a vida deles praticamente impossível sem a presença de uma IDE que automatize essa burocracia."

Não existe burocracia alguma em Java, o que existem são pessoas que não conhecem a linguagem.

Quem conhece e principalmente alqueles que conhecem C/C++ e Java no mesmo nível sabe o poder que a mesma tem.


Leidson - Popolon Y2k
PlanetaMessenger.org - Java Universal Messenger
FreeBSD/OpenBSD user
Politics is showbiz for ugly people !
Minhas Charges

http://blog.planetagol.com.br/category/blog-do-leidson/charges/
Comentário de Frederico__
escolher perl :): Tanto faz Perl 5 ou experimentar perl 6 :)


Comentário de vini_bill
Brasil é feito por brasileiros...: ... e a grande maioria dos brasileiros são uns vagabas que só querem se dar. Faz parte da cultura analfabeta brasileira do **mais esperto**. Vai lá nos EUA e na Europa pra ver se as pessoas pensam que "fazer funcionar" é aceitavel. Tem que "fazer funcionar da melhor forma" pra ser razoavel. Eu já trabalhei na Austria ( a Austria é o país colado na Alemanha e não a nação-continete no meio do pacifico - explico isso porque muita gente confunde ) e trabalho aqui no Brasil e vejo bem isso.

Enquanto o Brasil der importância ao capital físico veremos esse tipo de atitude em todas as esferas profissionais, sociais e etc ( o que vale no fim das contas é o dinheiro! ). Enquanto na Europa ( de modo geral ) e EUA dá-se mais importância ao capital intelectual ( quase ninguém lá é medido pelo que tem, e sim pelo o que sabe ). Chegue no serviço dizendo que você tá pensando em largar a faculdade e aqui no brasil. Sabe qual a reação? Aqui no brasil o pessoal vai te dar uns tapinhas no ombro dizendo "não faça isso" achando que faculdade e outros niveis de aprendizado acadêmico nada valem enquanto que na europa só um grande amigo vai te dizer que você tá f%$#%" se largar a faculdade.

É pessoal. Triste vou parando por aqui. Juro que se não fosse essa comunidade de linux ( e software livre ) eu já teria me suicidado a muito tempo. Vocês são a minha gota de esperança em um futuro tecnológico brasileiro com algum brilho.

Abraços a todos que conseguem ver esse tipo de comentário ( do anonimous ) com alguma revolta. Infelizmente ( ou felizmente ) já cansei de responder a comentários imbecis.

... Vinicius Menezes ...

"Software is like sex: it's better when it's free." - Linus Torvalds
Comentário de vini_bill
Perl 6?: Já tá pronto o Perl 6??? Ele virou uma linguagem compilada? Eu adoro Perl ( mas não sei a sintaxe toda ), simpatizo muito com a linguagem.

... Vinicius Menezes ...

"Software is like sex: it's better when it's free." - Linus Torvalds
Comentário de eje del mal
Boa Constructor: Boa Constructor uma IDE Python absurdamente diferente de qualquer coisa jamais imaginada na face da Terra. Veja em:

http://boa-constructor.sourceforge.net/Screenshots/
Comentário de popolony2k
Espere .....: ....e verás que a mudança desse País sairá dessa comunidade de Linux do Brasil.

Leidson - Popolon Y2k
PlanetaMessenger.org - Java Universal Messenger
FreeBSD/OpenBSD user
Politics is showbiz for ugly people !
Minhas Charges

http://blog.planetagol.com.br/category/blog-do-leidson/charges/
Comentário de Fábio Emilio Costa
Minha opinião:

- 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.


Dynamic typing é uma ótima solução, mas exige muita cautela, pois do nada os valores podem mudar de tipo e aí é tiro no pé.

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.


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.


OK...

Já tentaram usar uma IDE RAD (VB, Delphi...) para desenvolver aplicações script ou componentes? É simplesmente torturante!!! IDEs RAD são ótimas para o que são feitas (desenvolvimento GUI), mas pelamordedeus, não vamos confundir as coisas. Existem situações em que usar uma IDE RAD é dar um tiro no pé.



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".


Cada linguagem tem sua aplicação. É óbvio que você pode desenvolver qualquer coisa em qualquer linguagem, mas quem em sã consciência desenvolveria scripts com VB.net no Visual Studio? Ou Assembly para GUI? Se vocês conhecem alguém que faça isso, façam um favor a vocês mesmos, mantenham distância.

PS: Desculpem se trollei. Juro que não foi intencional. :-P

Meu blog
Seja livre - Use Software Livre;
Seja criativo - Adote Creative Commons
Comentário de Fábio Emilio Costa
Acho que depende do que você quer fazer: Particularmente gosto muito do Ruby, principalmente porque, como ela quebra paradigmas normais de desenvolvimento, te "oxigena as idéias". Mas também gosto muito do Python, embora não tenha me adaptado muito bem com ela.

A minha sugestão é: aproveite as duas. Aprenda um pouco de cada uma, veja com qual você se adapta melhor e passe a trabalhar com ela. Acho que é uma das grandes vantagens do software livre, que ele pode ser free beer, tem que ser free speech, mas normalmente também acaba tornando-se free choice(livre como em liberdade de escolha).

Meu blog
Seja livre - Use Software Livre;
Seja criativo - Adote Creative Commons
Comentário de EdCrypt
:

Não existe burocracia alguma em Java, o que existem são pessoas que não conhecem a linguagem.


1º: "Não existe burocracia alguma" é no minimo forte demais, até para um fan de qualquer linguagem dizer.
2º: Argumentos do tipo "você nçao conhece para dizer" nunca são bem vindos. Se você tem um por que para as praticas que em Python ou Ruby não são necessarias, mas que em JAva são obrigatorias, todos estamos ansiosos para saber também.


--
Eduardo de Oliveira Padoan
http://edcrypt.blospot.com
Ajude a EFF: http://eff.org
Comentário de brandizzi
Gostar é algo pessoal, mas...: ...para mim é bem evidente que você *não* usou Python e está atirando meio que no escuro. A gente sabe que uma pessoa não usou uma tecnologia quando ela começa a criticá-la falando dos aspectos menos importantes e mais polêmicos dela, mas não fala dos defeitos mais conhecidos.

Eu poderia falar, mas se você, que quer criticar, não se deu ao trabalho de realmente descobrir o que tem de errado em Python, por que eu, que adoro a linguagem, vou fazer isto? :)

Quanto a "obrigar"... Você já programou em Ada 95? Para mim, é uma das linguagens mais bem planejadas que já vi, junto com Haskell 98 e Lua 4 e 5. Entretanto, se você programar um pouquinho que seja, você provavelmente vai começar a dizer que "Não, é muito burocrático!", "Eu gosto de organização(?!) mas aí é exagero!", "Não precisa de um sistema de tipagem tão 'limitante'" e outras coisas mais. Pois eu digo a mesma coisa de Java (que é uma linguagem maravilhosa) em relação a Python. Este estilo de programar limitante pode até ser bom para você, certamente é bom para mim em alguns casos, mas simplesmente é perda de tempo na maioria dos projetos que você encontrar.

Uma boa linguagem não é a que impede o programador de cometer erros (não duvide do talento humano para fazer errado :p), é a que ajuda a não cometê-los.

Eu até recomendaria que você usasse mesmo Python para dizer se gosta ou não, ao invés de ficar chutando... Mas é meio perigoso, porque provavelmente vai gostar :)

--
Adam Victor Nazareth Brandizzi
Site: http://brandizzi.googlepages.com
"Real programmers don't use Pascal: just the integer ones can do it."
Comentário de PERL e nao PEARL
localhost:/# perl -e 'print "Viva PERL. Viva CPAN.";': localhost:/# perl -e 'print "Viva PERL. Viva CPAN.";'


Comentário de brandizzi
?: Seu post é interessante, mas...

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.


...até onde eu saiba, Ruby não faz isto (ou pelo menos não sem eu antes especificar que deva... não conheço muito Ruby...) e isto não é duck typing. Duck typing é a tipagem dinâmica onde a variável responde a uma solicitação se tiver a interface exigida, independentemente de algum tipo de herança. Em outras palavras, um objeto qualquer que tenha um método "doIt" pode ser usado em qualquer lugar em que este método seja chamado, independentemente de seu tipo. Do mesmo modo, qualquer objeto que tenha um método "doIt" pode ser usado quando o método "doIt" é chamado, independentemente de seu tipo. Em outras palavras, o que importa no objeto é seu comportamento, não seu tipo, e onde o comportamento for esperado, qualquer objeto que implemente o comportamento pode ser usado.

Isto que você está falando é uma espécie de inferência de tipo, e não é uma emulação de tipagem estática: *é* tipagem estática :)

--
Adam Victor Nazareth Brandizzi
Site: http://brandizzi.googlepages.com
"Real programmers don't use Pascal: just the integer ones can do it."
Comentário de Anderson Silva
O problema não é a: O problema não é a linguagem, mas sim as pessoas, pois, como dizem: "Armas não matam pessoas, pessoas matam pessoas.".
Nunca utilizei Python, mas tenho curiosidade de ver como funciona.
Conheço algumas pessoas que fazem uso da mesma, mas para elas a linguagem não tem defeitos, assim como para o cara do Java do C++ do VB, etc. Nínguém quer sair perdendo, parece um bando de crianças mostrando o briquedinho para o amigo e gabando-se de que o meu é melhor que o seu...
Acho que cada um sabe aonde o calo aperta e muitas pessoas não apredem Python ou qualquer outra linguagem, por conta das pessoas, que se dizem que a melhor linguagem para se aprender é a que ele está utilizando, não dá opção de escolha para a pessoa que está aprendendo , não mostra caminhos alternativos, só a sua visão limitada e egoista.
Trabalho com Java e C++, mas estou aprendendo Ruby por conta própria.
Recentemente um amigo me perguntou se eu poderia ensiná-lo Java, porém tive o cuidado de perguntei-lhe o que ele desejaria fazer, e depois de alguns tempo de bate papo disse-lhe que PHP resolveria seu o problema... já sem vão três meses e ele está feliz da vida. Não programo em PHP, mas sei o que a linguagem poderia fazer pelo meu amigo.
Termino aqui dizendo o seguinte: Não existe linguagem ruim, existem programdores idiotas e mesquinhos, deveriamos ter aprendido algo com a nossa própria cultura multiracial.

Comentário de popolony2k
Repito !!!!: O famoso argumento de que uma linguagem é burocrática é fraquissimo e talvez seja o único argumento de pessoas desconhecem as linguagens que está tentando comparar.

"1º: "Não existe burocracia alguma" é no minimo forte demais, até para um fan de qualquer linguagem dizer."

Repito novamente, não existe burocracia alguma em Java em C/C++, Python, Ruby, ou qualquer outra pois se a linguagem é daquela forma, existe um porque, podendo ser pelo simples fato do grau de abrangência que a linguagem pretende alcançar, quer um exemplo ???

Crie uma aplicação nativa para XWindow, (não, não utilize GTK, GDK, QT ou outro toolkit gráfico) em C/C++ !!! Fácil ??? Tão complicado quanto criar uma aplicação básica utilizando apenas WinAPI !!! Porque ?????????

Porque estamos trabalhando na camada mais básica do sistema de janelas do UNIX - XWindow, e com isso muitas inicializações necessárias para o funcionamento necessitam ser realizadas. Mas o que tem de bom nisso ???

Performance, portabilidade dentre outras coisas.

Crie o mesmo em Python. Não dá ????

Uffffff ! Então não dá para criar um gerenciador de Janelas em Python ??

Pois é !! Entende a diferença ???

Portanto meu amigo, quando vc cria um programa de duas linhas que faz tudo em Python, Jython, Ruby ou PHP, tenha certeza que você não tem a mesma performance entre outras possibilidades que em outra linguagem "mais burocrática" é possível e nem tem como melhorar muito sua performance.

Mas não é valida uma linguagem "menos burocrática" ??

Claro que é, pois facilita e muito o desenvolvimento, mas não tenho dúvidas de que sua performance é pífia para aplicações que necessitam de grande poder de processamento.

Por último, não sou "fã de Java", apenas a utilizo quando me é conveniente, quando não é, parto para C/C++, Perl, PHP, Object Pascal......tudo vai depender do objetivo a ser alcançado.

Leidson - Popolon Y2k
PlanetaMessenger.org - Java Universal Messenger
FreeBSD/OpenBSD user
Politics is showbiz for ugly people !
Minhas Charges

http://blog.planetagol.com.br/category/blog-do-leidson/charges/
Comentário de acidbase
Experimente!: A dica que eu tenho pra te dar é: experimente ambas!

Acredite em mim, tanto Python quanto Ruby são fáceis de ser aprendidas. Óbviamente você não vai se tornar o "fera" em Python/Ruby em apenas algumas semanas, mas você já vai "sentir" a linguagem o suficiente para poder escolher entre uma delas.

Se você quiser e tiver tempo disponível para isso, experimente PERL e PHP também (como já sugeriram).

A escolha da linguagem é algo muito pessoal e é difícil de dizer qual seria a melhor. Eu escolhi Python pra mim mas tem gente que gosta até de Java :)

--
Osvaldo Santana Neto (aCiDBaSe)
Comentário de popolony2k
Acabei de fazer uma consulta aqui sobre window managers .....: ...em Python e descobri o PyWM que utiliza um port da XLIB para Python e portanto torna possível a construção de um window manager em Python, mas olha os pré-requisitos.

* Python 2.2
* Pyrex - the Python<->C wrapper generator: http://www.cosc.canterbury.ac.nz/~greg/python/Pyrex/ (only if building from source)
* FLTK version 1.0 - available from here on the FLTK homepage (only if building from source)
* libstdc++
* xlibmesa3
* libgl1
* libc6
* xlibs-dev
* The Leo metastructural code editor (optional) - makes the source much more understandable

Segundo o que entendi no site, o wrapper em C++ faz o trabalho de disponibilizar a XLIB de C para Python.

Ou seja, para se ter PODER, é preciso a "famosa" burocracia ...... até mesmo em linguagens "não burocráticas" como Python !!!!

Sobre pyWM.

http://www.freenet.org.nz/python/pywm/


Leidson - Popolon Y2k
PlanetaMessenger.org - Java Universal Messenger
FreeBSD/OpenBSD user
Politics is showbiz for ugly people !
Minhas Charges

http://blog.planetagol.com.br/category/blog-do-leidson/charges/
Comentário de Alessandro
Tanta Badalação: Tanta badalação, mas na prática qual software feito em python pode ser citado de exemplo real, que seja multitlataforma, e que seja realmente usado em produção? Não me venham com projetos inacabados, os quais existem milhares por ai.

Acho que existem apenas pequenos softwares usados principalmente para a internet, o que mostra que cada linguagem é usado no seu propósito.

O Mundo é muito ingrato com pessoas, projetos,... ou seja nem sempre o melhor é reconhecido.

Comentário de brain
Exemplos: Tem vários, como o Gmail Notifier, o Rufus, o Sketch, o MoinMoin, o Plone (que é em zope + python)... Todos usados em produção.
Comentário de pappacena
Portage, Emerge, HTTP: Portage, Emerge, HTTP Replicator, a maioria das extenções do AmaroK...

Você pode escrever functions para o PostgreSQL também. ;)

print "\n";
exit(0); // Thiago F. Pappacena
Comentário de alan
Refactoring: Rename method?: Oi, pessoal,

O Osvaldo escreveu sobre Duck Typing em seu blog. Vale a pena dar uma olhada.

No entanto, fiquei com uma dúvida: como é feito, em linguagens dinamicamente tipadas, por exemplo, Python, o refactoring "Rename Method", bastante comum durante o desenvolvimento? Rename Method não significa apenas mudar a parte "def blablabla", pois é necessário, segundo o livro Refactoring (Fowler 1999), realizar os seguintes passos:


  • Check to see whether the method signature is implemented by a superclass or subclass. If it is, perform these steps for each implementation.

  • Declare a new method with the new name. Copy the old body of code over to the new name and make any alterations to fit.

  • Compile.

  • Change the body of the old method so that it calls the new one. If you only have a few references, you can reasonably skip this
    step.

  • Compile and test.

  • Find all references to the old method name and change them to refer to the new one. Compile and test after each change.

  • Remove the old method. If the old method is part of the interface and you cannot remove it, leave it in place and mark it as deprecated.

  • Compile and test.



Como a linguagem tem tipagem dinâmica, como garantir que o código continue íntegro (sem quebras) após um refactoring desta natureza (o mesmo vale para renomear uma variável ou mover um método para outra classe), pois os parâmetros são sempre objetos com resolução de tipos em tempo de execução? Ah, assuma que eu não tenho código de teste e/ou cobertura :)

Com linguagens de tipagem estática, por exemplo, Java, é bem mais simples de resolver, vide a funcionalidade refactoring no Eclipse.

Abraço,
--
Alan Kelon Oliveira de Moraes - kelon.org

Comentário de Alessandro
Exemplos?: Na minha visão o que realmente mostra a eficiência de uma linguagem é um Case de sucesso, ou seja a sua utilização na vida real.

Estes exemplos usam o python em pequenos projetos não no seu todo, e não são grandes projetos.

Acho que as linguagens como C, O.Pascal, C++, Java até mesmo o Cobol mostram o seu poder nos aplicativos, nos sistemas de grande porte que controlam grandes empresas, ja outras linguagens como o Python (que muitos dizem serem a melhor e a mais fácil) ficam com pequenos subprojetos que não tem grande importância.

Não estou desmerecendo a linguagem e sim dando a minha opinião do conceito que o mercado tem sobre a mesma.
Comentário de brain
Adaptar os dados à sua conclusão: Seja feliz com sua opinião, ainda que para isso você tenha que de alguma forma dizer que o Plone, o MoinMoin ou o Gmail Notifier não são cases de sucesso ou de utilização na vida real, ou comparar linguagens recentes com linguagens bem antigas, ou ainda comparar linguagens com características radicalmente diferentes.

Provavelmente você vai passar um longo tempo sem ver uma folha de pagamento de multinacional escrita em Python, assim como vai passar muito tempo sem ver um sistema operacional multitarefa escrito em COBOL. Você pode usar isso como argumento, é claro, mas acho que faria melhor se tentasse realmente entender o nicho e potencial de cada linguagem, sem tentar encaixar todas no espaço do C, do Pascal ou do COBOL.

Mas esteja à vontade para continuar simplesmente refutando ou encarando cada tecnologia nova pelo conceito que o mercado em geral tem dela *hoje*.
Comentário de Alessandro
Conclusão: Concluindo, o mundo da informática é regido por linguagens antigas (C,C++,O.Pascal,Cobol) e um pouco de Java. Isso é a realidade.

Ja na Web temos uma grande variedade de linguagem, mas para propósitos de levar informações, mostrar alguns dados.

Ja em grandes projetos como Financeiras, Bancos,... temos visto o ASP dominar, e la no fundo, na retaguarda quem administra tudo isso são as antigas linguagens.

Este é o mundo real.
Comentário de brain
Concluindo: Concluindo, você já tem sua opinião formada, e vê a realidade moldada por ela. Seja feliz com ela!
Comentário de acidbase
Não é possível: Oi Alan,

Não é possível fazer alguns tipos de refatoração automaticas em código escrito em linguagens dinâmicas e ao mesmo tempo garantir que o seu código continuará integro.

Recentemente vi em um blog que alguns programadores estão trabalhando com técnicas de inferência de tipo para que seja possível fazer isso, mas mesmo assim ainda existirão situações onde a refatoração automática não funcionará.

De qualquer maneira o que garante a integridade do seu código não é a ferramenta de refatoração e sim os testes automatizados que verificam essa integridade. Lembre-se que o livro "Refactoring" do Martin Fowler diz que você só deve refatorar um código que está coberto por testes mesmo que essa refatoração seja feita com uma ferramenta automatizada.

--
Osvaldo Santana Neto (aCiDBaSe)
Comentário de Bruno Boaventura
A melhor: Acho C a melhor linguagem de todas. TUDO é feito em C.
Comentário de hamacker
Boa.: Boa.
Vamos parar de falar português e vamos começar a falar em alguma linguagem matemática, afinal de contas não abrimos os olhos sem usar alguma lei da física. :)
Comentário de popolony2k
C/C++ as melhores.....: ...tudo bem, mas amigo, os filhotes precisam viver também !

Leidson - Popolon Y2k
PlanetaMessenger.org - Java Universal Messenger
FreeBSD/OpenBSD user
Politics is showbiz for ugly people !
Minhas Charges

http://blog.planetagol.com.br/category/blog-do-leidson/charges/
BR-Linux.org
Linux® levado a sério desde 1996. Notícias, dicas e tutoriais em bom português sobre Linux e Código Aberto. "A página sobre software livre mais procurada no Brasil", segundo a Revista Isto É.
Expediente
Sobre o BR-Linux
Enviar notícia ou release
Contato, Termos de uso
FAQ, Newsletter, RSS
Banners e selos
Anunciar no BR-Linux
BR-Linux apóia
LinuxSecurity, Tempo Real
Suporte Livre, Drupal
Verdade Absoluta
Pandemonium
Efetividade, Floripa.net
sites da comunidade
Ajuda
Moderação
Flames: não responda!
Publicar seu texto
Computador para Todos
Notícias pré-2004
Tutoriais, HCL pré-2004