Boa noite galera!
Estive muito animado em aprender Rails, aprendi que rails tem a facilidade de deixar quase tudo pronto pra você, e deixa mais a vontade pra se preocupar com a lógica. Até aí tudo bem. Mas o que me desanimou foi a elegância do código, isso quer dizer que eu achei algumas coisas ilegiveis, não sei se é porquê eu sou acostumado com java, ou se meu cérebro trava. Realmente seguindo o “getting started with Rails” do próprio site, vi que é muito fácil desenvolver, mas quando se exige a complexibilidade de relacionamento entre classes, a coisa fica meio complicada.
Eu gostaria de saber de quem já teve experiência com essa linguagem, pra me indicar se eu devo continuar ‘tentando’ entender como que funciona ela em toda sua totalidade. Meu objetivo não é desenvolver páginas complexas e sim, e-commerce e talvez alguns blogs ricos em dinâmica.
OBS: Uso Struts, Spring e Hibernate como ferramentas de desenvolvimento ágil.
Elegância é com Java ou Rails?
8 Respostas
Elegância é com Ruby não Rails. Rails engessa tudo e te oferece um monte de mágica. Tente fazer qualquer coisa diferente e um abraço.
Se quer um framework full-stack em Java dê uma olhada no Mentawai. Ele te dá tudo pronto e sai do seu caminho para vc se preocupar com a lógica da sua aplicação. E o melhor: te oferece uma integração perfeita com o Ruby para vc programar com Ruby se quiser.
Se você está acostumado com o peso e a bagunça de um Spring + Hibernate, tenho certeza que vai adorar o Mentawai.
Você disse tudo. Aprendi a programar com Ruby muito rápido, fiquei falando pra todo mundo o quanto foi fácil fazer uma aplicação simples. Achei que com o Rails eu teria a mesma facilidade, mas na verdade eu achei uma furada.
Gostei da ideia. Se dá pra escrever em ruby, é perfeito pra escrever os models.
É uma boa ideia?
Você disse tudo. Aprendi a programar com Ruby muito rápido, fiquei falando pra todo mundo o quanto foi fácil fazer uma aplicação simples. Achei que com o Rails eu teria a mesma facilidade, mas na verdade eu achei uma furada.
Gostei da ideia. Se dá pra escrever em ruby, é perfeito pra escrever os models.
É uma boa ideia?
Sim, o JRuby é algo fabuloso. Trouxe o Ruby pra dentro do Java para criar uma sinergia poderosíssima: robustês da plataforma Java com a versatilidade do Ruby.
Dá uma brincada com o Mentawai e uma lida na documentação em português para ver como tudo já foi pensado e resolvido pra vc. O framework sai do seu caminho e deixa vc ser produtivo com Java e Ruby. Veja também como a integração com o JRuby é super transparente e simples. Nenhum outro framework Java possui essa integração.
Fala pqnoje,
Rapaz, elegância de linguagem/código/framework é algo bastante subjetivo. Realmente para quem vem de Java ler um código Ruby “punk” assusta um pouco, com os attr_accessor, attr_*, mixins e tudo o mais, mas eu ainda acho que vale a pena aprender, nem que seja para ter noção em mais uma ferramenta de trabalho.
Eu curto bastante Rails justamente por automatizar muita coisa que eu faria na mão, mas essa é a mesma razão para eu também usar django. O problema com o Rails é justamente a mágica para os iniciantes: muita coisa lá acontece nos bastidores, é feita de forma implícita, e isso pode confundir bastante algumas pessoas (eu incluído). De toda forma, não acho Rails engessado: já criamos uma aplicação sem BD facilmente, apenas para testar alguns limites do framework, e depois usamos dois ORM’s simultaneamente, um para o postgres e outro para o mongodb. Pra mim, é só questão de se acostumar.
Sobre “vi que é muito fácil desenvolver, mas quando se exige a complexibilidade de relacionamento entre classes, a coisa fica meio complicada.”, acredite, eu também tive essa dúvida no início. Na verdade meu problema foi basicamente entender o “Ruby Way” de se programar OO e aí tudo foi sussa =D
Por fim, sobre a sua pergunta se você deve continuar tentando, minha opinião é sim: para o que você descreveu (ecommerce e alguns blogs), realmente Rails vai te ajudar bastante (embora, por alguma razão, eu prefira django para o mesmo trabalho). Só não alimente a ideia de que Rails/Django/similares só servem para coisas não complexas, tenho a impressão de que essa visão é muito mais um preconceito do que um fato.
Verdade. O problema é que para vc sair do gesso exige o domínio do framework. Na minha opinião o Rails só é simples quando vc faz aquele ABC automágico dele. Qualquer coisa diferente disso vai fazer o cara quebrar a cabeça e a simplicidade se perde.
Eu acho Ruby muitas dezenas de vezes melhor que Python, não sei porque. Acho que é o meu gosto mesmo.
Sem medo de errar:
Ruby => Rails
Python => Django
Java => Mentawai (e para ser justo Play 1.0, not 2.0)
De acordo.
Somos dois, também acho ruby mais bacana que python. Mas, por alguma razão, ainda prefiro a segunda linguagem. Acho que é porque ela tende a ser mais explícita.
Tive uma introdução de 4h com ruby. Apesar de ser 4h enquanto o povo estava no primeiro exercício eu já consegui avançar e ir quase para o último.
Lembro que até achei coisa errada e faltando na apostilinha.
Achei o código legal, mas feio viu! O.o
O maior problema é que é possível ter um código deselegante no java ou em qualquer linguagem.
Fatão. A questão é que a noção de elegância e beleza de código vai muito de cada desenvolvedor. Tenho um colega que é apaixonado por código Java, e outro que acha a sintaxe do php a melhor coisa já criada. Não que eu tenha algo contra ambas, afinal.
O que eu curto no ruby mesmo é a flexibilidade para criar DSL’s … acho realmente bem bacana ler código em Rspec+Capybara, por exemplo.