Python ou Ruby? Qual linguagem escolher?
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.
Frase errada!
by
Enderson Maia
Qual a comunidade maior, afinal ?
Conteúdo educacional
Mobilidade: Frameworks, SOs e o Mercado
Ricardo Ogliari 23 Mai, 2013
Caminhos de uma estratégia mobile
Sérgio Lopes 23 Mai, 2013
Complexidade organizacional no Século 21
Alexandre Magno 16 Mai, 2013

Olá visitante
Você precisa cadastrar-se no InfoQ Brasil ou Login para enviar comentários. Há muitas vantagens em se cadastrar.Obtenha o máximo da experiência do InfoQ Brasil.
Dê sua opinião