100% Rails ou JRuby?  XML
Índice dos Fóruns » Ruby & Ruby on Rails
Autor Mensagem
Luiz Aguiar
Moderador
[Avatar]

Membro desde: 23/01/2005 00:05:55
Mensagens: 2927
Localização: São Paulo
Online

A pergunta seria endereçada direto pro Fabio Kung, após algumas duvidas que surgiram com a palestra dele no FJ2008, achei mais produtivo compartilhar a dúvida aqui pois outros também vão poder expor seus pontos de vista.

Fabio (e demais) , hoje se tu fosses criar uma aplicação, com uma média de 1.000 acessos concorrentes, vamos usar esse valor para arredondar apenas, e tu tens a opção de moldar toda a arquitetura/infra para disponibilizar essa aplicação.
Levando-se em conta os pontos que citou em sua palestra, tanto os fatores de multi-thread, caches, libs javas disponíveis para uso em ambiente jruby, compartilhamento ou não de dados, essas coisas, tu farias essa aplicação num ambiente 100% ruby ou colocaria um container java para rodar essa aplicação em JRuby?

Queria só que comentasse um pouco (apesar de já ter falado e muito bem na palestra) o por quê de sua escolha e principais disvantagens que vê nos dois ambientes.

A pergunta é meio longa, um pouco genérica, mas espero que tenha ficado claro a dúvida.

Valeu!

-
Blog de Tecnologia
Blog de Fotografia - visitem !!!
@laguiar





[WWW] [MSN] [ICQ]
LuksS
JavaTeenager
[Avatar]

Membro desde: 08/01/2008 10:55:41
Mensagens: 172
Offline

boa pergunta, embora eu ñ me interesse por ruby

http://lucassimao.wordpress.com/
pen_fold_uk
JavaChild

Membro desde: 20/03/2008 11:12:05
Mensagens: 122
Offline

Tambem gostaria de saber a opiniao do Fabio.

Estou MUITO interessado em projetos Ruby, mas nao existem muitas vagas no Brasil (pelo que andei vendo).

Obrigado
Luca
Moderador
[Avatar]

Membro desde: 06/09/2002 14:30:10
Mensagens: 5399
Localização: São Paulo/SP ou Paraty/RJ
Offline

Olá

Vou dar meu pitaco antes do Fábio para não me influenciar pela opinião dele.

Como já disse em outros tópicos, para mim, Ruby é uma linguagem com comandos concisos e poderosos, que permite fazer muitas coisas em menos tempo e escrevendo menos código. Os frameworks Ror ou Merb permitem desenvolver aplicações web com muita agilidade.

Mas há alguns fatores determinantes que poderiam determinar a exclusão de Ruby do leque de escolhas. Um exemplo seria a necessidade de consultas complexas à base de dados em que o modelo simples do Active Record não atenda. Outro exemplo seria a necessidade de usar facilidades disponíveis em Java de um modo que mesmo com JRuby fique muito complicado.

Ainda acho que a resposta deste tipo de pergunta depende muito do grau de conhecimento da equipe e do domínio das tecnologias envolvidas.

Em resumo: não vejo como responder a este tipo de pergunta sem saber todas as informações do projeto. Pode até ser que a melhor escolha não seja Java ou Ruby. Aliás este tipo de escolha foi tema da palestra de ontem do Guilherme e eu concordo 100% com o que ele disse.

[]s
Luca

Dare Obasanjo (Program Manager at Microsoft)
"The folks I know from across the industry who have to build large scale Web services on the Web today at Google, Yahoo!, Facebook, Windows Live, Amazon, etc are using RESTful Web services. The only times I encounter someone with good things to say about WS-* is if it is their job to pimp these technologies or they have already "invested" in WS-* and want to defend that investment."


CEP, JMS, JMX e coisas afins (ou não)
http://lucabastos.blogspot.com/
[Email] [WWW]
LuksS
JavaTeenager
[Avatar]

Membro desde: 08/01/2008 10:55:41
Mensagens: 172
Offline

e prefiro ter um pé em j2ee e o outro em .NET, daqui a pouco ruby fica como php. Eu prefiro apostar minhas fichas no groovy e grails e nas idéias
do seaside

http://lucassimao.wordpress.com/
Bruno_Leonardo
JavaEvangelist

Membro desde: 25/01/2008 17:13:57
Mensagens: 406
Offline

...daqui a pouco ruby fica como php

Concordo


nbluis
Forum Spammer
[Avatar]

Membro desde: 27/05/2006 01:31:51
Mensagens: 1531
Localização: Porto Alegre - RS
Offline

LuksS wrote:e prefiro ter um pé em j2ee e o outro em .NET, daqui a pouco ruby fica como php. Eu prefiro apostar minhas fichas no groovy e grails e nas idéias
do seaside

LuksS concordo que você tenha sua opinião sobre o assunto.
O que não é legal é ficar fazendo alegações sem nenhum complemento técnico ou argumento válido para podermos entender seu ponto de vista.
Afinal.
Qual o problema do Ruby ?
Qual o problema do php ?
Por que você gosta mais de groovy ? grails ? seaside ?

Ponha suas idéias a discussão, isso iria agregar muito mais ao fórum do que pitacos sem relevância.

Luis Eduardo Bohrer

Any fool can write code that a computer can understand. Good programmers write code that humans can understand.
[WWW]
Luca
Moderador
[Avatar]

Membro desde: 06/09/2002 14:30:10
Mensagens: 5399
Localização: São Paulo/SP ou Paraty/RJ
Offline

Olá

Bruno_Leonardo wrote:
...daqui a pouco ruby fica como php

Concordo


Será? Acho que o PHP propiciou fazer o YouTube em pouco tempo. Se ao invés de gente boa em PHP, lá estivessem javeiros de qualidade o site ficaria igualmente bom mas o tempo de desenvolvimento poderia ser um pouco maior.

Na verdade muita gente se prende na discussão sobre qual a melhor linguagem para desenvolver um site e às vezes se esquece de estudar a infra-estrutura. Os caras do YouTube, além de bons em PHP, eram feras nas questões de infra-estrutura. Isto ficou claro para mim em uma entrevista que li de um dos caras da área técnica do you tube.

[]s
Luca

Dare Obasanjo (Program Manager at Microsoft)
"The folks I know from across the industry who have to build large scale Web services on the Web today at Google, Yahoo!, Facebook, Windows Live, Amazon, etc are using RESTful Web services. The only times I encounter someone with good things to say about WS-* is if it is their job to pimp these technologies or they have already "invested" in WS-* and want to defend that investment."


CEP, JMS, JMX e coisas afins (ou não)
http://lucabastos.blogspot.com/
[Email] [WWW]
Luiz Aguiar
Moderador
[Avatar]

Membro desde: 23/01/2005 00:05:55
Mensagens: 2927
Localização: São Paulo
Online

Luca wrote:Mas há alguns fatores determinantes que poderiam determinar a exclusão de Ruby do leque de escolhas. Um exemplo seria a necessidade de consultas complexas à base de dados em que o modelo simples do Active Record não atenda. Outro exemplo seria a necessidade de usar facilidades disponíveis em Java de um modo que mesmo com JRuby fique muito complicado.

Oi Luca, acho esses bem interessantes esses pontos e isso também me passou pela cabeça, principalmente a parte da grande quantidade de blibliotecas java disponíveis para tudo que é tipo de coisa, por isso a dúvida em analisar as opções de uso ou não do JRuby mesmo se tendo a opção de usar um ambiente "ruby puro".

Não ache que seja tão complexo/genérico assim minha pergunta, qualquer portal hoje tem esse tipo de necessidade, milhares de acessos concorrentes, gostaria de ater apenas à questão de arquitetura mesmo para a aplicação, claro que é relevante fatores como equipe, tempo de desenvolvimento, mas apenas conceitualmente acho que não precisamos nos "prender" a esses pontos, vamos supor que o intuíto é ditático apenas.
Senão vai aparecer um monte de subdiscuções paralelas que acho que não vão ajudar tanto.

Valeu pelo seu ponto de vista.

-
Blog de Tecnologia
Blog de Fotografia - visitem !!!
@laguiar





[WWW] [MSN] [ICQ]
LuksS
JavaTeenager
[Avatar]

Membro desde: 08/01/2008 10:55:41
Mensagens: 172
Offline

ok, concordo contigo

Antes de tudo eu não trabalho diretamente com php(Deus me livre) e nem ruby
, só com j2ee e .net.

Com Ruby tive minhas experiências pessoais e tirei minhas conclusões pessoais, veja bem pessoais:
- O rails foi e é o tchan tchan tchan tchan do ruby. Sem dúvida alguma ele contribui de forma gigantesca
p/ ampliar as idéias tão dinâmicas que ele traz consigo p/ a comunidade de desenvolvedores
- A comunidade rails tá meio estática ... cadê aquele alvoroço quando do lançamento do framework,
sim é dinâmico, tudo integrado, uniforme ... cadê mais ??
-Eu ñ consegui obter o alto grau de independência entre os componentes de uma aplicação, com tecnologia
j2me vc tem um punhado de opções. Tdb que no java tem que se aprender 1000 e 1 frameworks p/ fazer uma única
coisa e então a curva de aprendizado é maior, mais o grau de liberdade oferecido tb é maior
- Gostei de groovy e ainda mais do grails, redescubri a dinâmica de código depois de ter decepciondo-me com python

Não quero gerar confusão, prefiro parar de postar sobre isso p/ ñ gerar intrigas, só respondi o que foi perguntado.

http://lucassimao.wordpress.com/
Eduardo Bregaida
Forum Spammer
[Avatar]

Membro desde: 13/11/2003 14:11:35
Mensagens: 1738
Localização: São Caetano do Sul - SP
Offline

Bruno_Leonardo wrote:
...daqui a pouco ruby fica como php

Concordo


Essa história de q Ruby é lento, ruby não vira, era a msm história de Java há alguns anos atrás...

Acho que se hj eu tivesse q fazer uma aplicação de pequeno e médio porte eu arriscaria JRuby, não por apenas aprender, mas porque tem muitos conceitos úteis, mtas coisas que me dão vantagens e isso agilizaria meu tempo.

Blog - Java Anywhere
http://www.javawora.blogspot.com
Meu Site
http://www.bregaida.com

"Você poderia me dizer, por favor, qual caminho eu devo seguir?"
"Isto depende muito de onde você deseja chegar."
-Lewis Carroll, Alice no País das Maravilhas

@Caelum - Futuros investimentos: FJ 34 e TV 61, Cursos Concluídos FJ: 11, 19, 21, 26, 27, 31, 91, RR: 11, CSM rumo à eXtreme Programming...

Certificações:
WebSphere Message Broker V6.0, Solution Development
CSM - Certified ScrumMaster
[Email] [WWW] [MSN]
louds
Moderador
[Avatar]

Membro desde: 29/04/2003 23:09:15
Mensagens: 4061
Localização: São Paulo
Offline

Luiz Aguiar wrote:A pergunta seria endereçada direto pro Fabio Kung, após algumas duvidas que surgiram com a palestra dele no FJ2008, achei mais produtivo compartilhar a dúvida aqui pois outros também vão poder expor seus pontos de vista.

Fabio (e demais) , hoje se tu fosses criar uma aplicação, com uma média de 1.000 acessos concorrentes, vamos usar esse valor para arredondar apenas, e tu tens a opção de moldar toda a arquitetura/infra para disponibilizar essa aplicação.
Levando-se em conta os pontos que citou em sua palestra, tanto os fatores de multi-thread, caches, libs javas disponíveis para uso em ambiente jruby, compartilhamento ou não de dados, essas coisas, tu farias essa aplicação num ambiente 100% ruby ou colocaria um container java para rodar essa aplicação em JRuby?

Queria só que comentasse um pouco (apesar de já ter falado e muito bem na palestra) o por quê de sua escolha e principais disvantagens que vê nos dois ambientes.

A pergunta é meio longa, um pouco genérica, mas espero que tenha ficado claro a dúvida.

Valeu!


Mil acessos concorrentes? Essa volumetria está muito, mas muito errada; ou você está trabalhando em um site de gigantesco volume. Para ter mil acessos concorrentes, um site com tempo de resposta médio de meio segundo (que é lento) estaríamos falando de 2000 requisições por segundo. Isso dá 6.4 milhões de requisições por hora. Um volume desses é compatível com a página de entrada de portais como globo, uol e terra. Você tem certeza?

A grande vantagem em usar JRuby é que o deployment é muito mais simples. Achar mão de obra capaz de lidar com o deployment e operação de java no Brasil é muito mais fácil que para mongrel, mod_rails ou sei lá oque.

Em termos de performance não vai faz muita diferença, ainda mais se for para escalar para esse volume que você sugeriu.


http://www.kumpera.net/blog/
http://www.mono-project.com/
"Each individual should work for himself. People will not sacrifice themselves for the company. They come to work at the company to enjoy themselves."
Soichiro Honda
[ICQ]
Leonardo3001
Virtual Machine Man

Membro desde: 04/07/2007 18:28:58
Mensagens: 806
Offline

Eu também vi a apresentação do Fabio Kung, e gostaria de dar um pitaco, um tanto quanto polêmico:

1- Não escolha se o Rails vai sobre JRuby ou MRI levando-se unicamente em consideração a performance de cada um. Existe uma "corrida armamentista" entre as várias implementações de Ruby para ver quem é o mais rápido. Portanto, independente de sua escolha, saiba que ela ficará mais rápido com o tempo, basta se preparar (testes automatizados, por exemplo) para fazer atualizações.

2- Não caia no conto do vigário dos "JayRubistas" de que com JRuby "além das bibliotecas do Ruby, você ganha as bibliotecas do Java", isso é parcialmente verdade. Apesar do Rails puro ser 100% Ruby, algumas bibliotecas extras são implementações nativas em C, que NÃO funcionam em Java e que NEM SEMPRE existem alternativas satisfatórias. Não estou querendo dizer pra nunca se usar JRuby, às vezes se está utilizando Java justamente para aproveitar uma biblioteca ou framework que existe nessa linguagem. Mas é bom pensar um pouco nas suas necessidades, antes de cair de cabeça no JRuby.

3- Se você quer inovação, fique com o MRI (ou YARV, a partir do Ruby 1.9). Esta é a implementação de referência para todas as implementações Ruby existentes, e é onde surgem as novidades. A mesma coisa ocorre com os plugins, onde primeiramente é pensado para o mundo C/Linux, depois para o mundo Java.


Uma outra coisa, ouvi falar do surgimento do mod_rails e em como ele consome menos memória e é mais fácil de se usar. Existe algum benchmark mod_rails com JRuby?

Leonardo Veríssimo
-------------------------------------------------
Objectzilla
[WWW]
Bruno Laturner
Forum Spammer
[Avatar]

Membro desde: 18/02/2008 16:17:53
Mensagens: 2658
Localização: Cuiabá, MT
Offline

Não entendi por que Rails ou JRuby. Framework vs implementação de linguagem não faz muito sentido, a menos que consideremos também as APIs e frameworks Java.

A resposta acima foi achada em menos de 5 minutos no google.
The prisoner falls in love with his chains. --E.W. Dijkstra
[WWW] [MSN]
RaulCarlin
JavaEvangelist
[Avatar]

Membro desde: 20/05/2005 12:58:30
Mensagens: 389
Localização: São Paulo
Offline

Alguém aí por favor me corrija se eu estiver errado...

Alguém lembra do Prevayler?

Pois bem, era uma coisa muito UOW, muito NOSSA, portais sendo feitos com ele, o mundo seria à partir daquele dia PRÉ PREVAYLER e PÓS PREVAYLER, tutoriais, discussões...até que... nunca mais ouvi falar dele... ninguém mais tem dúvida... ué... (se alguém tiver algo a falar sobre tal por favor)

No começo, Ruby pra mim ia ter o mesmo destino(apesar de coisas bem distintas), ia ser muito UOW, muito NOSSA, e depois, puff... mas eu vejo com outros olhos agora, não dá pra dizer que é inútil e que ninguém vai usar e que não presta e bla bla bla, ele tá começando agora, estão dando seus primeiros passos, e pessoas como o Kung fazendo o que está fazendo(apostando nele) mostra que não é assim também tão meia boca né?

Eu não escolheria Ruby agora, baseado no que ouvi na palestra: aquela história de Cache, de "Gambiarra likes" para multi-thread... pra que EU, Raul, perderia tempo nessas reviravoltas que com certeza não me agilizariam em nada? Só pra eu aprender a fazer tudo o que é necessário já se foi a agilidade...

Não estou com tempo infelizmente de investir nisso, até gostaria, mas não dá, e felizmente existem pessoas que com o tempo vão melhorar isso, e daqui um tempo QUEM SABE tudo isto será passado e teremos facilidades e "tudo na mão" como o Java?

Eu não aposto mas, espero que dê certo, espero mesmo... mudar sempre é bom...
[WWW]
 
Índice dos Fóruns » Ruby & Ruby on Rails
Ir para:   
Powered by JForum 2.1.8 © JForum Team