Por que Ruby/Rayls e não Groovy/Grails ou vice versa?

10 respostas
bsl.lacerda

Bom dia pessoal!
Pelo que tenho lido, e visto, na comunidade Java é que existe uma grande parte dos desenvolvedores focados em aprender Ruby / Rails. Por que não aprender Groovy e Grails?
Estou fazendo uma pesquisa para descobrir qual destas linguagens dinâmicas o pessoal da comunidade tem maior preferência e por quê.
Nada melhor que perguntar a quem entende do assunto certo?

Groovy surgiu em 2003 e Ruby em 1995.

Algumas características em comum destas linguagens são:

Possuem tipagem dinâmica. (Groovy possui tipagem dinâmica e estática);

São menos verborrágicas que Java;

Possuem implementações que rodam na JVM.

Então vamos lá.
Qual destas linguagens com seus frameworks você prefere, Ruby e Rails ou Groovy e Grails?
Por que?

Obrigado pela colaboração de vocês!!!

10 Respostas

JavaLivros

Pelo que estou estudando atualmente aplicações com Ruby on Rails é alto destinado mesmo para um Mundo Web enquanto que Groovy on Grails você vai ter essa metaprogramação em um ambiente flexivel todavia tendo maior especificação no ambiente J2EE/JEE Corporativo, algo como você se evolui nesse Core.

JavaLivros

:arrow: Aqui tem um esclarecimento melhor sobre Spring FrameWork versus Ruby on Rails

bsl.lacerda

Linguagem:
Groovy

Por quê?
Apesar do pouco conhecimento nessas duas linguagens acho a sintaxe mais simples que Ruby, apesar de serem muito parecidas.
Ambas as linguagens possuem características bem semelhantes. Acho que a comunidade Ruby é maior que a comunidade Groovy, até por que Ruby é mais antiga (1995) que Groovy (2003). Ruby possui maior documentação, isto também pode influenciar na escolha.
No final acho que é mais uma questão de gosto. :wink:

sergiotaborda

Groovy não é apenas parecido com java. Groovy é java. (se vc escrever um codigo java normal e executar com ogroovy funciona)
Ou seja, vc nem precisa mudar de “linguagem”.

O Ruby on Rails não tem vantagem tecnica sobre o Grails. São a mesma coisa.
Porque os programadores java vão para ror ? É um enigma para mim tb. Eu acho que é porque nunca foram programadores java para começo de conversa. São hype followers e não analizam as implicações tecnologias e arquiteturais.

Embora eu não use nenhum dos dois, eu prefiro o Grails. Simplesmente porque é java, sem gambiarra e sem hype.

Luca

Olá

Primeiro um esclarecimento: Ruby e Groovy são completamente diferentes. É fácil perceber. E consequentemente, Grails não é a mesma coisa do que Rails, apesar de usar algumas boas idéias.

Ruby foi criado no tempo em que Perl tinha muito prestígio na Web e então Ruby foi influenciado pelo Perl. A web é muito baseada em texto e como Perl é uma linguagem para extração de texto, esta influência facilitou muito a criação de um framework web como o Rails

Já o Groovy apareceu no tempo em que o Java dominava. O Java é muito bom para infra estrutura de sites mas é muito sofrido para o desenvolvimento web como um todo. Para uso com texto o Groovy ainda perde do Ruby na questão de facilidade de fazer as coisas. O Grails é mais um framework que tenta aproveitar as boas idéias do Rails mas não pode se valer das facilidades do Ruby.

Hoje em dia, quer queiram ou não, código menor é melhor. Por mais fácil que seja gerar código com as IDEs, os programas grandes são complicados. As linguagens de script do tipo Ruby, Groovy e outras permitem fazer a mesma coisa (ou quase) escrevendo menos código. Há espaço para Ruby, Groovy, Python, Scala, Clojure, etc. Para web o que pode decidir é a existência de frameworks e APIs.

A vantagem do Grails é poder reaproveitar todo o legado Java com mais facilidade do que com JRuby. Não vejo muito sentido criar coisas com Ruby/Rails em um ambiente lotado de Java e desenvolvedores Java.

Mas para fazer sites desde o início ainda não vejo nada melhor do que Ruby/Rails (nem mesmo Python/Django mas isto é uma opção pessoal). O Rails ainda é muito superior ao Grails e na minha opinião, ainda superior ao Django.

[]s
Luca

xymor

@Lucas
Quais as facilidades que o Ruby dispôe que o Groovy não consegue suprir? Acho o Ruby uma linguagem melhor que o Groovy e sei que Ruby tem muitas features a mais que o Groovy mas quero saber o que te faz falta.

@JavaLivros
Grails (sem o ‘Groovy on’ por favor :slight_smile: também é direcionado para o mundo web. Os objectivos são os mesmos, facilitar e simplificar ao máximo a vida do desenvolvedor, o que difere é a implementação que usa toda a bagagem do java.

"Ruby on Rails não tem vantagem tecnica sobre o Grails"
Depende do ponto de vista. Rails por ser full-stack é mais simples, conciso e pode evoluir mais rápido. A premissa do Grails de integrar varios frameworks Java é por si só um trabalho bem complicado, devido a inerente complexidade da plataforma. Por outro lado você ganha frameworks vastamente utilizados, conhecidos, documentados e otimizados frutos de anos de especificação.

A diferença entre Rails e Django é bem pouca, no final o que decide é o conforto com a linguagem, Python vs Ruby.

Ignorando todas essas considerações, RoR vence pelo tamanho e atividade da comunidade.

L

Acredito que o sucesso de Ruby/Rails sobre Groovy/Grails é mais relacionado a aspectos humanos do que aspectos técnicos.

Tanto Ruby quanto Rails nunca se venderam como caminho fácil pra quem programa em Java. Isso possibilitou que vários programadores de diferentes vivências, seja ela com PHP, VB, C, Java ou C#, sentissem à vontade de experimentar essa linguagem/framework. Essa variedade, também, foi um estopim para que se criasse uma cultura própria e independente dentro da comunidade rubista, que não é igual a nenhuma outra cultura de outros ambientes. E essa cultura única possibilitou o ingresso de novos rubistas, crescendo sua adoção.

Groovy/Grails, por sua cultura de ser retrocompatível até em compilação com código Java, limitou seu alcance apenas aos javeiros, que na sua maioria, é avesso a aprender novas linguagens (motivo: arrogância em achar que a linguagem Java é a melhor do mundo). Os poucos que estão na comunidade Groovy são homogêneos demais, parecidos demais com sua linguagem mãe, e não aparenta ter o mesmo ritmo de inovação que é com Ruby. E isso limita o ingresso de novos membros.

É interessante que as linguagens Scala e Clojure, feitas para a JVM, não parece sofrer do mesmo mal que o Groovy, justamente porque foca em aspectos que podem atrair gente de fora do mundo Java, como o paradigma funcional, ou conceitos de programação paralela.

xymor

Concordo com seus argumentos leonardo mas tem um ‘nunca’ sobrando aí. :smiley:

Rafael_Nunes

Eu do pouco que estudei de ruby/rails não vi vantagem nenhuma em sair da plataforma Java para RoR.
Escrever menos código pra mim é bem relativo, pode facilitar o desenvolvimento, mas da realidade que tenho passado nas empresas em SP é de equipes bem mais-ou-menos sem gente capacitada pra dar manutenção ou extender isso depois.
Se fosse pela questão de facilidade/praticidade em desenvolvimento, eu ainda optaria por Python/Django.

Herrera

Eu prefiro Grails, motivos : possibilidade de usar componentes java tranquilamente, por trás do grails temos o Hibernate, Spring e groovy (quer mais). A comunidade brasileira grails está crescendo cada vez mais e vejo que pouco a pouco as pessoas estão adotando grails. Mas como todos dizem é uma questão de preferencia, não podemos julgar outras linguagens se são melhores ou não sem conhece-las profundamente.

Herrera

Criado 1 de outubro de 2009
Ultima resposta 8 de out. de 2009
Respostas 10
Participantes 8