BT
x A sua opinião é importante! Por favor preencha a pesquisa do InfoQ sobre os seus hábitos de leitura!

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.

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.

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

2 Dê sua opinião

Conteúdo educacional

Feedback geral
Bugs
Publicidade
Editorial
InfoQ Brasil e todo o seu conteúdo: todos os direitos reservados. © 2006-2014 C4Media Inc.
Política de privacidade
BT