BT
x Por favor preencha a pesquisa do InfoQ !

Python ou Ruby? Qual linguagem escolher?

por Lucas Souza em 19 Mai 2010 |

Hoje em dia expressividade de código é uma das coisas mais importantes quando vamos desenvolver sofware. Papéis e documentação muitas vezes só atrapalham a busca por algo que se auto explica. A maioria dos desenvolvedores buscam esta tal expressividade que pode ser entendida como fácil manutenabilidade, com linguagens que podem tornar o código mais fácil de ler e manter.

Hoje as linguagens que mais atingem esse objetivo são sem dúvida: Python e Ruby. Porém o critério de simplicidade e legibilidade são um pouco diferentes entre elas. Python, por exemplo, diz em sua documentação que:

Casos especiais não são tão especiais para quebrarmos as regras.

Quando se deparar com uma ambiguidade, não ceda à tentação de tentar adivinhar.
Deveria haver uma, e preferencialmente só uma, maneira óbvia de fazer algo.

Se a implementação é difícil de explicar, não é uma boa ideia.

No caso do Ruby, seu criador diz:

é simples na aparência, mas muito complexo no interior, tal como o corpo humano.

Mas qual linguagem é mais expressiva? Ou mais fácil de ser utilizada?

O Luiz do VidaGeek aponta algumas vantagens e desvantagens do Ruby, assim como do Python:

Acho que é bom ter mais de um jeito de fazer a mesma coisa, como o Ruby possibilita. Um jeito só de fazer a mesma coisa, a meu ver, tem a vantagem de facilitar um pouco a leitura do código, graças à uniformidade.

Por outro lado, as peculiaridades da sintaxe de Ruby não me agradam; acho que tornam a linguagem mais difícil de compreender. Os casos especiais são muitos e, às vezes, deixam o programador confuso quanto à necessidade de chaves, por exemplo.

Uma característica muito importante que a linguagem Ruby deveria ter, mas só Python tem, são argumentos rotulados. Em Ruby, costuma-se utilizar um hash para suprir essa necessidade, o que, convenhamos, não é muito elegante.

No C2.com tem uma matéria que compara vários aspectos das linguagens. Dentre eles, é citado um aspecto imporante que é a questão da comunidade. Sem dúvida no Brasil a comunidade Ruby é maior e a quantidade de bibliotecas e ferramentas, apesar da comunidade Python também ser grande, ainda não se compara a comunidade Python.

Outra questão discutidade é a facilidade de aprendizado. Muitos defendem que a maioria dos iniciantes em programação podem aprender com mais facilidade a linguagem Python.

Sim. I gosto mais de Ruby do que de Python, mas muitas vezes iniciantes me perguntaram qual linguagem eu recomendaria como primeira linguagem de programação, e eu sempre digo a eles, "Smalltalk ou Python"-- AdamSpitz

Uma série de comparações são feitas e você pode conferir aqui. Eles abordam até questões sobre performance.

E você leitor? Que aspectos considera relevantes nesta discussão? Dê sua opinião.

Avalie esse artigo

Relevância
Estilo/Redação

Olá visitante

Você precisa cadastrar-se no InfoQ Brasil ou para enviar comentários. Há muitas vantagens em se cadastrar.

Obtenha o máximo da experiência do InfoQ Brasil.

Dê sua opinião

HTML é permitido: a,b,br,blockquote,i,li,pre,u,ul,p

Receber mensagens dessa discussão

Frase errada! by Enderson Maia

" Sem dúvida no Brasil a comunidade Ruby é maior e a quantidade de bibliotecas e ferramentas, apesar da comunidade Python também ser grande, ainda não se compara a comunidade Python."

Qual a comunidade maior, afinal ?

Re: Frase errada! by danilo barsotti

E o Groovy?? Alem de ter uma comunidade muito grande com grandes cases de sucesso, é uma linguagem tão agil quanto a citadas no artigo.

Re: Frase errada! by Sidon Duarte

Mas Groovy é do "mundo java" e isto, por si só", ja esta fora do contexto aqui. A meu ver a plataforma java tende a perder cada vez mais popularidade.

HTML é permitido: a,b,br,blockquote,i,li,pre,u,ul,p

Receber mensagens dessa discussão

HTML é permitido: a,b,br,blockquote,i,li,pre,u,ul,p

Receber mensagens dessa discussão

3 Dê sua opinião
Feedback geral
Bugs
Publicidade
Editorial
Marketing
InfoQ Brasil e todo o seu conteúdo: todos os direitos reservados. © 2006-2016 C4Media Inc.
Política de privacidade
BT

Percebemos que você está utilizando um bloqueador de propagandas

Nós entendemos porquê utilizar um bloqueador de propagandas. No entanto, nós precisamos da sua ajuda para manter o InfoQ gratuito. O InfoQ não compartilhará seus dados com nenhum terceiro sem que você autorize. Procuramos trabalhar com anúncios de empresas e produtos que sejam relevantes para nossos leitores. Por favor, considere adicionar o InfoQ como uma exceção no seu bloqueador de propagandas.