Eu já conversei com muitos programadores PHP e Java que gostam das ideias e conceitos do Rails, mas que têm medo de avançar em virtude do Ruby. O argumento é que uma vez que eles já sabem PHP ou Java, teriam menos trabalho se usassem uma ferramenta similar (como um port) ao Rails para estas linguagens. Eu realmente não penso assim.
Ruby é uma linguagem surpreendentemente simples para se aprender o básico. Sim, há um monte de coisas mais avançadas sobre metaprogramação, mas você realmente não precisa chegar até lá para começar a fazer alguma coisa. E provavelmente você não irá. O caminho necessário para começar a produzir algo é muito mais curto do que você pensa.
Afinal, Ruby não é LISP nem Smalltalk. Não é um mundo completamente novo se você estiver vindo de PHP ou Java. Muitos dos conceitos e construções são iguais. O código será muito semelhante na maioria dos casos, só que mais sucinto.
Aprenda Ruby no mesmo tempo que outro framework
Eu tenho argumentado que a maioria dos programadores poderia aprender Ruby aproximadamente no mesmo tempo que levariam para aprender um outro framework para sua linguagem atual. Eu sei que parece muito mais assustador aprender uma nova linguagem em vez de apenas um outro framework, mas realmente não é.
A resposta que algumas pessoas que temiam fazer isto, mas que fizeram de qualquer forma, me deram é: Por que não fazer isto logo de uma vez?
Aprenda fazendo algo real que lhe interessa

Além disso, falando da minha própria experiência de aprendizagem do Ruby, eu realmente recomendo que você tente fazer algo real. Não basta apenas começar com o básico da língua no nada. Escolha algo que você realmente deseja fazer e simplesmente comece a fazê-lo um passo de cada vez. Você aprenderá a medida que avança, e terá a motivação necessária para continuar uma vez que as coisas comecem a funcionar.
Portanto, não desista de aprender Rails porque você não sabe Ruby. Seus temores de começar do zero novamente, rapidamente abrirão caminho para a alegria de uma nova linguagem e você começará a utilizar o Rails como uma verdadeira recompensa. Entrem, a água está ótima!
Este texto é uma tradução do artigo “Myth #5: Rails is hard because of Ruby” escrito por David Heinemeier Hansson, criador do Rails.
Realmente, a curva de aprendizado de Ruby pra quem vem de linguagens como Java C# ou memso PHP é bem pequena. Além do mais o prazer de programar em Ruby é algo indescritível. Pode soar meio exagerado, mas é isso que acontece.
“Entrem, a água está ótima!” Da para fazer uma analogia interessante nesta frase:
Quando vamos tomar banho e a agua esta gelada, nos coloca um certo receio sobre a mesma, mas imediatamente após entrarmos, nos acustumados e acabando gostando. Mais do que se estivesse do lado fora.
:)
Na verdade esta dica não vale só para Rails, mas para qualquer coisa que você queira fazer em sua vida: TEM QUE COMEÇAR!
Bela iniciativa, prossô!
Sou programador ASP.NET com VB.Net, e antes disso nao tinha programado em nenhuma linguagem, e agora estou aprendendo Ruby/Rails.
Pra mim a curva de aprendizado está sendo um pouco maior, mas compensadora, pois sei que o resultado final é show.
Começamos aqui na empresa a aprender Ruby puro, mas tava brabo, pois fazíamos exercícios de contar palavras, fazer médias de números, e tava simplesmente desanimante… pois não tinha um fundamento. Era um arquivinho com algumas linhas de código, rodava no prompt e aparecia um número… era muito pouco…
Aí, com Rails, tá mais empolgante, pois vc vê resultado e começa a entender a estrutura do negócio, e vê coisas funcionando.
Hoje estamos refazendo nossos sistemas internos em rails, integrando migrando, e tá sendo bem legal… muito melhor do que “parar pra estudar”, eu acho “pegar pra fazer funcionar”. Motivante, gratificante e compensador.
Nas horas vagas, leio seu blog, bem como sobre outros assuntos relacionados com Tecnologia, Empreendedorismo e Negócios. Pensei que fosse conseguir me dedicar 100% a preparação para Concursos Públicos, mas não consegui… Minha mente empreendedora não para!
E não para de pensar em “produtos Web 2.0″, que para mim são bem mais simples de desenvolver com “coisas novas”, como Rails e Flex. Eu simplesmente não me vejo desenvolvendo algo inovador com Java ou PHP, apesar de saber que essas linguagens avançaram um pouco…
Na minha opinião Ruby é bem mais fácil de se aprender pela limpeza do código. Python também é assim!
Já programei em Clipper, Pascal, PHP, Java (arght!) … e de todas as linguagens, é claro que a pior foi o Java, eu me adaptei mais ao PHP, que inclusive uso até hoje. Mas Ruby é uma liguagem de fácil aprendizagem e que recomendo a todos.
Quem sabe “programar” programa em qualquer linguagem. Se vc já tem a lógica, fica fácil. Pra quem está começando também é bem legal.
Recomendo muito o Ruby, e o Rails é claro!
Sou programador PHP a alguns anos e a maior dificuldade que eu tive para “aceitar” Ruby on Rails” nesse curto tempo que estou trabalhando com ele não foi Ruby e sim a dificuldade de aceitar coisas novas.
Problema esse, que existe em qualquer area. A ideia de novo, pra quem não está acostumado, trás um medo, SIM. Mente quem diz que não.
Abrir a mente pra conceitos novos sabe? Quando você só trabalha com alguma coisa por um longo periodo e não tem costume em ver linguagens diferentes, você acaba ficando com receio de até tentar.
Mexer com Rails me fez até melhorar nisso. Hoje minha mentalidade frente a essas coisas já é totalmente diferente.
E Rails pra mim te obriga a estar sempre reciclado, vendo as novidades do momento, estar ligado a comunidade, as gem’s novas que sempre saem, etc.
O que é bem diferente das outras comunidades de outras tecnologias.
Ver RoR na teoria, é realmente confuso, principalmente pra quem não tem ideia sobre mvc, rest, tests, etc. Inicialmente tu cria uma barreira mental e isso é um fato. Fato este que é um erro que muitos dos programadores ou outras pessoas em profissoes diferentes cometem (Inclusive eu cometi).
Depois que você começa a desenvoler com RoR na pratica, fazendo coisas basicas que faria na linguagem que vcoê domina. Começa a ver que é MUITO mais simples do que parece, principalmente por ver o tempo que você ganha.
Para quem está vindo de PHP, o caminho para mim que pareceu mais facil de “aceitar” o que Rails te oferece, foi lendo o livro “Rails for PHP Developers”, me fez rapidamente a começar com Rails.
;)
Acho que para quem vem do Java como eu, a única coisa que parece estranha a primeira vista é a sintaxe (o que não deve ser nenhum problema para um bom desenvolvedor).
Vim estudando o Ruby/JRuby puro e agora estou entrando no Rails.
Para mim foi uma boa experiência, pois hoje quando vejo determinadas construções no Rails, consigo entender claramente. Mas concordo que poderia começar a estudar o Rails paralelamente ao Ruby, desde que o pessoa tenha as noções de desenvolvimento Web.
Sempre fui fã de orientação a objetos, e com ruby a coisa ficou mais bonita ainda,não preciso usar interface, não preciso de hierarquias de classe complexas..
O rails pra mim veio como uma consequencia,o framework é show de bola, realmente,mas sem ruby talvez o ror perderia boa parte da sua magia.
Uma coisa é fato… desenvolver o Rails em outra linguagem que não seja o Ruby não daria tão certo, apenas portar Rails para outra linguagem não é uma boa ideia por causa do uso extremo de meta programação, blocos, bindings e outras coisas mais avançadas do Ruby mas que ao mesmo tempo avançadas são simples de fazer e deixam o framework pequeno e possível de manter.
Até acho possível aprender Rails junto com Ruby e logo você vai ter uma excelente motivação para começar a aprender mais ( na verdade acho que é a melhor forma ) e aí sim aprofundar no lado negro da coisa.
Como eu gostaria de ter aprendido Ruby nas aulas de Programção Orientado a Objetos ao invés de Java, minha vida teria sido bem mais fácil e seria a forma correta de aprender com quem faz direito.
Concordo com vc 100%. Primeiro no método de aprendizagem, ou seja, pegar alguma coisa que você queira fazer e ir em pequenos passos desenvolvendo em Rails (isso serve para quase qualquer linguagem).
Nada mais recompensador ver aquele seu projeto saindo em Rails. Tenho experiência com isso e posso dizer que foi muito legal!
Segundo, apesar de não ser o melhor caminho, mas com apenas o básico de Ruby, você consegue fazer coisas muito legais e rápidas em Rails.
Depois de um tempo com Rails, vc começa a entender o Ruby e começa a avançar na linguagem. Ainda tenho que aprender muito com Ruby, mas hoje já é mais fácil para mim fazer um script em Ruby do que usar VBA no Excel ;-)
Não desista, Ruby parece amargo, mas de não é. É uma linguagem linda!
Abraços e ótimo blog!
>> têm medo de avançar em virtude do Ruby
Caraca, programador que tem medo de aprender uma framework pq a linguagem lhe intimida nao eh programador! Nao precisa aprender nada, melhor ficar onde esta mesmo. Linguagem eh uma ferramenta! Imagine o que voce pensaria de saber que um carpinteiro nao aprendeu a fazer um certo movel, pq tem medinho de uma ferramenta, ou do pedreiro que tem medo de andaime!
Se o cara sente que o Rails ou qualquer outra coisa pode lhe ajudar mas nao vai atraz, ele nao tem medo da linguagem, na verdade ele tah eh procurando desculpas pra se esconder do problema maior que eh o fato de ele nao servir como programador!
Programador, desenvolvedor, etc, eh a versao “adulta” do moleque que na escola, nao soh aprendia a fazer as coisas, como inventava uma maneira mais agil de fazer a mesma coisa.
Alguem que nao aprende o que lhe serve pq tem medo do processo eh melhor nem programar, programacao eh puramente processo, involvimento, eh uma batalha. Guerreiro que nao quer aprender a usar espada, nao vai pra luta, eh simples.
Depois de Começar com PHP e penosamente ir parara a plataforma .Net posso dizer que é realmente divertido e instigante aprender Ruby/Rails e estou cada vez mais querendo trabalhar só com Rails.
Bom to chegando agora.!
Parabéns pelo ótimo post, ta muito legal mesmo. =]
Minha experiência com rails foi baseada no medo de se aprender ruby pos era algo diferente de outras coisas que ja tinha visto.
Na época, minha equipe estava envolvida em um projeto que usava java. Lembro que, em paralelo, iniciamos uma versão em rails pra ver como seria a coisa, dois meses depois consegui-mos alcançar e ultrapassar todas as funcionalidades do projeto original.
Hoje a versão paralela rails tomou o lugar da versão java sendo java usado ainda para construção de relatórios.
Abraços e ótimo!
Bom to chegando agora.!
Parabéns pelo ótimo post, ta muito legal mesmo. =]
Minha experiência com rails foi baseada no medo de se aprender ruby pos era algo diferente de outras coisas que ja tinha visto.
Na época, minha equipe estava envolvida em um projeto que usava java. Lembro que, em paralelo, iniciamos uma versão em rails pra ver como seria a coisa, dois meses depois consegui-mos alcançar e ultrapassar todas as funcionalidades do projeto original.
Hoje a versão paralela rails tomou o lugar da versão java sendo java usado ainda para construção de relatórios.
Abraços e ótimo post!