Python vs. Ruby

Recentemente me peguei mais uma vez na eterna dúvida entre Python e Ruby, agora motivado por forças externas.
Minha namorada cogitou a hipótese de começar a programar por questões acadêmicas e passei um tempo refletindo sobre qual seria a melhor forma de começar.
Claro que eu poderia largar o “Java: Como Programar” na mão dela e deixar ela quebrar a cabeça, mas eu me odiaria por forçar ela a esse sofrimento gratuito, afinal, ninguém merece Java…
Poderia também largar ela no Visual Studio, C# não é difícil, tudo é muito bem organizado no .NET e documentação sobra, poderia ser uma boa solução, mas… mas eu estava ainda pensando como alguém que já programa há algum tempo.
Quando tentei assumir a perspectiva de alguém sem contato com programação, sobraram essas duas alternativas, que considero as mais interessantes pra alguém iniciante, daí comecei a pesar os prós e contras de cada.

+ “Batteries Included” – A biblioteca padrão dá suporte a MUITA coisa, desde ferramentas básicas para trabalhar com strings até criptografia e compressão
+ Variedade de frameworks, para todas as necessidades e gostos
+ Aplicação científica, matemática e para jogos fortíssima
+ Programação funcional
– Fragmentação da linguagem (Python 2 vs Python 3)
– Incompatibilidades entre o framework e versões específicas (causada pelo anterior)
Ruby

+ Rails, não vou ser hipócrita, gosto de Ruby, mas Rails é foda.
+ Orientação a objetos real (tipo smalltalk)
+ Linguagem pensada para o prazer de programar
+ gems
– menor disponibilidade de frameworks variados
– excessivamente associada a um framework

Ambas possuem também várias coisas em comum, como ótimo suporte da comunidade, são multiplataforma e têm legiões de usuários fiéis dispostos a ajudar (e hordas de usuários fervorosos quando se fala mal de uma delas), e acaba sendo resumido a um gosto pessoal.
O ponto que mais me afasta do Python é exatamente a fragmentação ocorrida na transição de Python 2 para Python 3, que não apenas quebrou toda a base de códigos legada – e com isso grandes frameworks deixaram e funcionar e muitos ainda não foram portados -, mas principalmente mexeu com uma das filosofias principais da linguagem, abrindo mão da legibilidade facilitada pela correta indentação para ser apenas mais uma linguagem com parênteses, chaves e todo o resto.
Para quem ainda não lidou com nenhuma delas, o jeito é fuçar até descobrir qual mais agrada, mas se a minha namorada continuar com a ideia de programar, já sugeri que aprendesse Ruby. 🙂

p.s.: Claro que se for para programação web, recomendo que aprenda antes de mais nada um script client-side. Sim, javascript.

Anúncios
  1. Uma opinião pessoal com pros e contras bem equilibrados….

    Muito bom !!!

    O ps ficou show!!

  2. Olá, parabéns pelo blog e, em especial por esta postagem. Eu concordo, acho que ambas são ótimas linguagens para se aprender programação. E é uma escolha melhor, para uma linguagem introdutória, do que fazer sua namorada perder tempo com as burocracias do Java ou C#. Não desgostos destas, programo em Java, mas para o iniciante, vale uma linguagem menos prolixa.

    Mas, já que aventou sobre a possibilidade de Javascript, veja o que acha deste site:
    http://www.aprenderprogramar.com.br/logica-programacao-davit/

    Acho que pode ser uma boa introdução para alguém que nunca programou!

    Abraços

  3. Ops! Foi mal! Agora que percebi que a postagem é do início do ano! 🙂
    É que como está Mês/Dia Fica 04/12…
    Sim eu sei que ainda é dia 1/12 mas… Me confundiu! 🙂

  1. No trackbacks yet.

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s

%d blogueiros gostam disto: