Você considera Ruby on Rails uma ameaça?
Publicado por Samir em 19 de Junho de 2008
Hoje recebi a edição 58 da Java Magazine (sim eu leio assuntos sobre Java) e achei interessante a entrevista com o Eelco Hillenious e Martijin Dashorst que fazem parte do projeto Apache Wicket um framework Java para aplicações Web, o fato de achar a entrevista interessante não foi pelo o assunto ser sobre a tecnologia Java e sim sobre um pequeno trecho da entrevista onde questionaram todo o hype em cima do Ruby on Rails.
Segue o trecho da entrevista.
Temos visto muitos defensores do Ruby on Rails dizendo que o Java está morto e que o Ruby on Rails é o grande sucessor posterior. Eu gostaria de saber suas opiniões quanto a isso. Podemos nos considerar órfãos do Java?
Eelco Hillenious - Estes argumentos já estão perdendo a força, e lemos cada vez mais histórias dramáticas do que casos de sucesso vindo da adoção do Ruby on Rails (RoR). Eu já acompanhei casos de desenvolvedores desenvolveram alguns projetos sérios com RoR, e embora eles tenham gostado bastante dos resultados rápidos nas primeiras semanas, eles chegaram eventualmente ao caos algum tempo depois.
Basicamente, depois que a base de código cresceu, eles tiveram mais pessoas se juntando ao projeto, cada um com suas próprias idéias de DSLs (Domain Specific Languages) e truques para reduzir linhas de código. Rapidamente chegaram a um ponto no qual ninguém mais tinha domínio sobre o que acontecia no código. E alguns destes desenvolvedores tiveram problemas reais de escalibilidade.
Entretanto, boa parte das críticas que o pessoal do RoR faz ao Java é justificada. Penso que o Java EE pode assumir boa parte da culpa por isso. Você consegue desenvolver aplicações leves e práticas com Java se ignorar as recomendações de "desenvolvimento enterprise" e usar seu próprio cérebro. Infelizmente, é muito divulgada de que o próximo passo em produtividade é tornar menos inteligente o desenvolvimento com o uso de wizards, ferramentas de drag and drop e servidores que fazem tudo. Para mim, a coisa mais interessante a respeito da febre do RoR foi o que ela trouxe de volta ao foco na escrita de código, em vez de ferramentas e servidores sofisticados.
Bom no primeiro parágrafo, não sei se foi uma indireta sobre o tão comentado problema do Twitter, creio que não, ficou mais do que comprovado que o problema do Twitter nunca pareceu ser Ruby on Rails e sim a sua arquitetura de banco de dados mal projetada, ou seja, não importa se é Rails, ASP.Net, Java, etc... qualquer uma dessas alternativas iriam enfrentar o mesmo tipo de situação.
O seu segundo argumento, me parece mais uma falha de gerência de projeto novamente nada relacionado ao Ruby ou Rails, uma equipe com boa comunicação pode sim manter uma convenção de código durante todo o ciclo de um projeto.
Agora a última parte concordo em vários aspectos no qual realmente muitas dessas tecnologias proprietárias amarradas sobre uma IDE, na minha opinião, causa aquela impressão de tratar o desenvolvedor como um "code monkey", é lógico que não vou ser radical e falar para usar o maldito bloco de notas, trabalhar com linguagens estáticas requer uma boa IDE, mas eu me refiro aos Wizards, Drag and Drop e todas essa parafernália de marketing que mais atrapalha do que ajuda.
O maior destaque que vejo no Ruby on Rails é realmente você repensar a maneira de trabalhar e como foi dito na entrevista, focar sempre sua atenção no código somado a convenções e padrões inteligentes como "Convention over Configuration".
Para finalizar, não vejo Ruby on Rails como uma ameaça ao Java nem ao C#, é muito abrangente essa comparação e equivocada, vejo sim uma ameaça para qualquer ferramenta que trabalhe com Web, nisso suas justificativas são mais do que plausivas.

Comentários (2)
Davis Qui, 26 Jun 2008 14:19
Eu vejo Java como uma ótima alternativa para plataforma, mas como linguagem um lixo. Mas essa é a minha opinião.
Acompanhei alguns projetos onde se precisava de Configuration Manager, fala sério né?
A questão é que com Rails, eu tenho mais tempo para me preocupar com o que realmente interessa no projeto. Mais agile, mais direto.
Mas isso tudo pode ser feito em outras linguagens e frameworks.
Se vamos comparar, temos que comparar Java com Ruby e nao com Rails! :-)
Abraço mano!
Alexandre Machado Sex, 08 Aug 2008 22:16
Em uma frase o problema: "e truques para reduzir linhas de código."
O problema é quando a comparação entre linguagens de programação se reduz ao número de linhas, ou caracteres, necessários para codificar uma instrução. Vemos isto todo dia nos newsgroups de programação.
É nesta que surgem os "mandrakes" que passam mais tempo pensando em como escrever menos código do que em como escrever melhor código. Algumas linguagens reforçam esta "busca pelo mínimo", e isto, no meu ponto de vista, é negativo.
Saudações