Porque tantos Rails?

110 respostas
R

Vemos um crescente na utilização de tecnologias Rails, como Ruby on Rails ou Grails. A que se deve esse fator?

Quem hoje começa a trabalhar com algum Rails, já começou com Rails? Veio do mundo Java, .Net, PHP?

110 Respostas

U

rogelgarcia:
Vemos um crescente na utilização de tecnologias Rails, como Ruby on Rails ou Grails. A que se deve esse fator?

Quem hoje começa a trabalhar com algum Rails, já começou com Rails? Veio do mundo Java, .Net, PHP?


Onde quer chegar??

vlw

S

Vim do java e comecei com Groovy/Grails agora em Ruby on Rails.

F

rogelgarcia:
Vemos um crescente na utilização de tecnologias Rails, como Ruby on Rails ou Grails. A que se deve esse fator?

Quem hoje começa a trabalhar com algum Rails, já começou com Rails? Veio do mundo Java, .Net, PHP?

vc já mecheu com rails? fez uma aplicação simples com ele?

É muito interessante, muito facil e muito produtivo.

S

Exatamente, o que me chamou mais atenção foi a produtivade e a rapidez.

Quando fiz meu primeiro Hello em Grails, fiquei espantado com a produtividade ( só de nao configurar o hibernate+Spring para fazer um simples exemplo ja era uma maravilha).

N

UMC:
rogelgarcia:
Vemos um crescente na utilização de tecnologias Rails, como Ruby on Rails ou Grails. A que se deve esse fator?

Quem hoje começa a trabalhar com algum Rails, já começou com Rails? Veio do mundo Java, .Net, PHP?


Onde quer chegar??

vlw

De 10 posts seus que eu vejo, 9 são inúteis.
Ta querendo chegar nos 1000?

E quanto ao rails, acho que pela facilidade que todos falam que tem no desenvolvimento, fazendo com que se escreva cada vez menos código.

Eu tenho um amigo que tem uma empresa que trabalha na maioria dos projetos com Rails, e sempre que eu o encontro ele diz para eu dar uma olhada em Rails que facilita muito, é muito produtivo e etc. E diz que depois que eu usar, nunca mais vou querer mexer com Java.

Ainda não tive tempo de dar uma boa olhada como funciona, mas pelo tanto que todos vendem o peixe eu ainda quero parar e ver como ele funciona direitinho…

R

Quero saber a opiniao da galera…

Não vou nem comentar…

R

Felagund:
rogelgarcia:
Vemos um crescente na utilização de tecnologias Rails, como Ruby on Rails ou Grails. A que se deve esse fator?

Quem hoje começa a trabalhar com algum Rails, já começou com Rails? Veio do mundo Java, .Net, PHP?

vc já mecheu com rails? fez uma aplicação simples com ele?

É muito interessante, muito facil e muito produtivo.

Sim… conheço o Rails… quero saber o que a galera pensa…

N

Falei dos posts do UMC e não dos seus.

R

Frango:
rogelgarcia:

Não vou nem comentar…

Falei dos posts do UMC e não dos seus.

Há só… foi mal… hehehe

R

Começei essa discussão… pelos seguintes motivos:

Há uma certa discussão, sobre a linguagem Java estar defasada… uma linguagem antiga, e alguns colocam esse ponto como o motivo de Java estar perdendo mercado.

Minha opinião, é que apesar da linguagem realmente ficar devendo algumas features, não é esse o motivo principal da busca por outras solucoes.

Queria saber também se o que o pessoal busca com os Rails é produtividade.

Pelo que vi, esse realmente é o ponto principal. E também concordo com isso.

Partindo do principio que o que se busca com tecnologias alterativas é produtividade, concluimos que Java está se tornando improdutivo??

Se dividirmos o desenvolvimento Enterprise Java em algumas frentes principais temos:

  • JPA, para persistencia, utilizando Hibernate.

E na parte de visao, controle, Injecao de dependencia temos basicamente:

  • GWT
  • Spring
  • JSF (Seam)

Parece que a forma de mapeamento, é padrão JPA, e apesar de várias implementacoes, basicamente é a mesma coisa.

Agora temos uma certa disputa nessas outras frentes: Spring, JSF (Seam), GWT
(que é a integração web propriamente dita)

Na minha opinião, a que oferece menos produtividade, é o JSF (Seam), que é uma especificação padrão. Pensando nisso, JEE está na contra mão do que é necessário para o desenvolvimento? Eu digo, se o que é demandado é produtividade, frameworks complexos com o JSF com vários detalhes sobre o ciclo de vida, remoção da parte controller do programador, um sistema que só roda em um ambiente com diversos serviços disponíveis, não está contra a filosofia de ser simples e produtivo?

É possivel trazer a mesma produtividade de Rails para Java???

O que falta aos Rails para adoção em larga escala do mercado?

Um dos motivos que eu acho que os Rails perdem é na questao de ser uma linguagem intepretada. Você perde o “code completion”, e além disso, podem ocorrer problemas em tempo de execução, onde, em uma linguagem como Java esses erros poderiam ser pegos em tempo de compilação.

M

Que mercado vc se refere? Conheco muitas empresas que usam alternativas ao java como forma de facilitar o desenvolvimento e ser mais produtivo.

Voce nunca viu uma aplicação web em java dando pau em produção?? :shock:

R

mochuara:
rogelgarcia:

O que falta aos Rails para adoção em larga escala do mercado?

Que mercado vc se refere? Conheco muitas empresas que usam alternativas ao java como forma de facilitar o desenvolvimento e ser mais produtivo.

Eu digo larga escala, em escala igual o Java é utilizado hoje…

mochuara:

Voce nunca viu uma aplicação web em java dando pau em produção?? :shock:

Não nao… nao quis dizer que não vai dar pau… mas determinados erros voce consegue pegar em etapa anterior… Não to nem falando de producao nao… em desenvolvimento mesmo

Imagine a situação: voce está desenvolvendo, e em determinado lugar do seu código voce coloca:

objeto.facaAglo();

Em uma linguagem interpretada voce só saberá que está com erro se executar o código. Pegando o erro em tempo de execução…

Em java daria erro de compilação porque o método está errado e então voce trocaria o código, sem nem ter a necessidade de rodar a aplicacao…

objeto.facaAlgo();
R

É o que o Grails, jRuby on Rails, Spring Roo e etc estão tentando fazer.

[IMHO] falta apenas tempo [/IMHO]

Existem algumas IDEs com code completion, e editores que ajudam bastante o desenvolvimento como o textmate e seus bundles.
E os outros erros que que você comentou poderiam ser “pegos” na execução dos testes unitarios/integração/etc.

J

O que eu vejo muito é o pessoal reclamando da produtividade de Java, mas nunca pararam para pensar em seu ambiente de desenvolvimento.

Java pode ser tão produtivo quanto qualquer outra linguagem, mas exatamente pela flexibilidade e pela gama de opções de frameworks, o desenvolvedor precisa montar seu ambiente primeiro, escolher frameworks para todas as funcionalidades que ele considere básicas para suas aplicações e investir nesse ambiente.

Nenhuma empresa que trabalhe com Java a sério pensa nos frameworks que vai utilizar ao receber o projeto, eles já possuem um ambiente que se encaixa na maioria dos projetos.

A principal vantagem que eu vejo nessas linguagens é exatamente um ambiente padronizado de desenvolvimento. Rails, por exemplo, já possui um framework de ORM, de templating, MVC e vários scripts geradores de código, permitindo aos desenvolvedores “pular” o aprendizado da linguagem.

R

Legal seu comentário rlazoti.

Na sua opinião, o melhor é passar realmente para uma linguagem interpretada? Ou usar algo como ROO?

(Eu acredito bastante no ROO, mas com algumas flexibilidades para voce gerar o código do jeito que voce quiser)

rlazoti:
Existem algumas IDEs com code completion, e editores que ajudam bastante o desenvolvimento como o textmate e seus bundles.
E os outros erros que que você comentou poderiam ser “pegos” na execução dos testes unitarios/integração/etc.

É, apesar de existir os problemas que citei, também existe a solução :smiley:

Uma outra dúvida que eu tenho, é que essas novas linguagens possuem uma série de simbolos na sintaxe, o que na minha opinião (pode ser questão de costume), suja o código…

c.each{|x| print " #{x}, "}

Concordam com isso? ou a tendencia é ter vários simbolos para expressar diversas situacoes mesmo?

R

juliofsn:
O que eu vejo muito é o pessoal reclamando da produtividade de Java, mas nunca pararam para pensar em seu ambiente de desenvolvimento.

Java pode ser tão produtivo quanto qualquer outra linguagem, mas exatamente pela flexibilidade e pela gama de opções de frameworks, o desenvolvedor precisa montar seu ambiente primeiro, escolher frameworks para todas as funcionalidades que ele considere básicas para suas aplicações e investir nesse ambiente.

Nenhuma empresa que trabalhe com Java a sério pensa nos frameworks que vai utilizar ao receber o projeto, eles já possuem um ambiente que se encaixa na maioria dos projetos.

A principal vantagem que eu vejo nessas linguagens é exatamente um ambiente padronizado de desenvolvimento. Rails, por exemplo, já possui um framework de ORM, de templating, MVC e vários scripts geradores de código, permitindo aos desenvolvedores “pular” o aprendizado da linguagem.

Legal Julio, considerando isso que você falou…

Se você optar pelo padrão da especificação JEE. Vai utilizar JPA, JSF (Seam) por exemplo. Para uma pessoa que quer aprender a desenvolver web em Java. Se ela for seguir o padrão, concorda que será muito trabalhoso? E por isso acabam surgindo outras opções como Spring?
E ainda, por isso, eleva o nível de conhecimento necessário para distinguir o que é bom do que não é?!

Existe solução pronta em Java, assim como existe em Rails para o desenvolvimento web com produtividade?

R

E agora você acha o código Ruby abaixo “sujo” se comparado ao mesmo código escrito em java?

#Codigo Ruby
users = ["joao", "jose", "maria"]

users.each do |user|
	puts user
end


//Codigo Java
String[] users = {"joao", "jose", "maria"};

for (String user : users) {
	System.out.println( user );
}
R

Eu concordo que o código fica menor em Ruby… com certeza

Mas fica menor em troca de certas sintaxes… com utilização de vários simbolos…

Aí acho que fica mais dificil bater o olho e saber o que tá rolando… Java é mais natural nesse sentido…

Mas tem várias situacoes que eu acho que Ruby fica mais simples… como declaracao de mapas e closures… como voce citou…

O exemplo do foreach foi simples… mas já vi umas sintaxes bem cabulosas… é igual javascript, quando voce começa a usar os recursos mesmo, termina com códigos que demora só pra vc entender a sintaxe…

R

Mas é questao de costume também… eu prefiro por exemplo a sintaxe de groovy por ser mais parecida com java…

R

Mas… voltando a pergunta:

Na sua opinião, o melhor é passar realmente para uma linguagem interpretada? Ou usar algo como ROO?

U

rogelgarcia:
Mas… voltando a pergunta:

Na sua opinião, o melhor é passar realmente para uma linguagem interpretada? Ou usar algo como ROO?


Cara cada uma tem sua vantagem!
Interpretada você pode desenvolver em qualquer lugar!
Já a compilada você terá que fazer o ritual dos compiladores!

vlw

1

Linguagem
Ruby tem uma didatica e uma facilidade de utilização bem maior em relação ao Java, não é fortemente tipificada o que eu considero um ganho de produtividade, pois apesar de não ter verificacao em tempo de compilacao vc consegue depurar facilmente pois em Ruby tudo é um objeto, ou seja, um erro de sintaxe gera uma excecao com a exata localidade do erro, o tipo e tudo mais…
Java possui uma API que eh mto rica e robusta devido a seu tempo de experiencia no mercado, em Ruby tudo parece ser mais simples e compacto por isso da aquele ar de ser uma linguagem para sistemas de menor escala.
Um fato eh que em Ruby vc consegue menos linhas de codigo que em Java.

Desenvolvimento Web
Ai ja entra a questao de padrao, enquanto em Java vc possui N elementos e frameworks para fazer uma parte da aplicaçao em Rails vc ja tem tudo configurado bastando utilizar suas convencoes, ou seja, eh mais facil seguir uma convencao para a aplicacao toda do que uma para cada parte da aplicacao.
Relacionamento com o banco nem se compara em simplicidade, no Rails com 2 linhas de codigo vc ja mapeia uma tabela e ja pode criar seu objeto com todos os atributos e metodos de manipulacao de dados. Em relacao a seguranca da aplicacao Java ja possui uma robustez que ainda nao foi colocada a prova em Rails, um fato que contribui na adocao da lingugem em projetos de larga escala.

Na minha opiniao, Java eh uma linguagem robusta e complexa nao pela sintaxe mas sim pelo seu longo tempo de existencia que a tornou uma das linguagens mais completas e utilizadas atualmente, surgiu como linguagem desktop mas sua migracao para a Web a tornou mais complexa do que poderia ser, eh ideal para varios tipos de projeto e exigem de seus profissionais um conhecimento bem amplo que o torna tao valorizado.
Rails ja adotou uma linguagem nao tao nova mas nao mto conhecida e que realmente tem suas vantagens e desvantagens, pode ser menos segura por ser interpretada mas compensa em sua produtividade (ha quem goste de ver o tipo de uma variavel 2 vezes na msm linha para melhor leitura do codigo, como quem prefira ja sair atribuindo e alterando sem dar explicacao :smiley: ), e aliou isso aos conceitos de MVC e ORM tudo integrado a linguagem, facilitando as configuracoes.
Acho que um dia o Rails chegara a atingir o nivel de robustez de Java, mas sempre vai caber ao desenvolvedor verificar suas preferencias.

G

“Por que tanto rails?”

Simples, uma nova opção que fez uma linguagem de script se tornar bastante popular, trazendo uma forma menos hermética de se programar.

Porém, mesmo assim, estou muito acostumado com java.

J

rogelgarcia:
Legal Julio, considerando isso que você falou…

Se você optar pelo padrão da especificação JEE. Vai utilizar JPA, JSF (Seam) por exemplo. Para uma pessoa que quer aprender a desenvolver web em Java. Se ela for seguir o padrão, concorda que será muito trabalhoso? E por isso acabam surgindo outras opções como Spring?
E ainda, por isso, eleva o nível de conhecimento necessário para distinguir o que é bom do que não é?!

Existe solução pronta em Java, assim como existe em Rails para o desenvolvimento web com produtividade?

Cara, a questão é essa: não, não existe solução pronta. Mas o desenvolvedor pode criar a sua solução.

Mas veja que essa complexidade só vai acontecer uma vez. A partir do momento que o desenvolvedor chega na sua escolha de frameworks e ferramentas, ele deveria se focar nisso. Vai ser mais complexo? Vai. Mas falando em produtividade, vai ser tão produtivo quanto, por que essa complexidade só ocorre uma vez, no segundo projeto, o desenvolvedor já tem seu ambiente, já sabe o que tem que fazer para ter mais produtividade, e pode ele mesmo criar suas soluções de produtividade em cima dos frameworks que ele escolheu (como muita gente fazia, por exemplo, scripts para gerar automaticamente os xml’s de mapeamento do hibernate, ou usa as ferramentas das IDE’s), ou até criar seu próprio framework.

Realmente não é pra quem está começando, mas falando em produtividade, eu não acho menos produtivo que linguagens totalmente interpretadas. Como eu disse, apenas abstrai o aprendizado mais a fundo da plataforma.

P

Cara, faz tempo que eu não faço um laço ‘for’ no ruby/rails. each é o que há.

R

juliofsn:

Cara, a questão é essa: não, não existe solução pronta. Mas o desenvolvedor pode criar a sua solução.

Mas veja que essa complexidade só vai acontecer uma vez. A partir do momento que o desenvolvedor chega na sua escolha de frameworks e ferramentas, ele deveria se focar nisso. Vai ser mais complexo? Vai. Mas falando em produtividade, vai ser tão produtivo quanto, por que essa complexidade só ocorre uma vez, no segundo projeto, o desenvolvedor já tem seu ambiente, já sabe o que tem que fazer para ter mais produtividade, e pode ele mesmo criar suas soluções de produtividade em cima dos frameworks que ele escolheu (como muita gente fazia, por exemplo, scripts para gerar automaticamente os xml’s de mapeamento do hibernate, ou usa as ferramentas das IDE’s), ou até criar seu próprio framework.

Realmente não é pra quem está começando, mas falando em produtividade, eu não acho menos produtivo que linguagens totalmente interpretadas. Como eu disse, apenas abstrai o aprendizado mais a fundo da plataforma.

Eu concordo com voce… acho que Java pode ser produtivo sim… Mas o que eu quis dizer é que a especificação padrão JEE, que inclui JSF por exemplo, não é algo que podemos dizer ser produtivo.
Aí acontece que o pessoal sai de Java, achando que Java tem que ser complicado. Ou, nem entram…

Ou então insistem com isso dizendo que é a melhor coisa do mundo, só porque é especificação. Alguém que não é religioso vê, e pula fora.

R

São os closures… queria tanto que tivesse em Java

Mas a questão aqui, não é discutir sobre a linguagem. É discutir sobre a plataforma de desenvolvimento como um todo… parece ser concenso que não é a linguagem que limita o desenvolvimento e sim a arquitetura escolhida… que no caso de Rails já vem com uma que é bem simples e produtiva…

Em Java voce tem que montar…

Z

Fato :

Java : Presente
Ruby on Rails : possível futuro .

Rails tem muito chão ainda para virar algo popular entre as grandes empresas.
A verdade que tem muita especulação que Ruby on Rails vai substutuir java , e etc …
Mentira , ninguem substutui ninguem .
Quando as grandes empresas quiserem investir em ruby on rails vão surgir novos problemas como escalabidade , segurança , etc …
E com certeza se Rails quiser se manter no mercado terá varições ( Frameworks ) iguais do java .

Esse blablabla que Ruby on Rails é 1 só , é momentaneo porque a linguaguem é pouco usada.

K

Sinceramente hoje o Java possui excelentes alternativas para produtividade, como o Playframework, Spring Roo entre outros.

Mas acredito que produtividade também tem haver com paixão, prazer do desenvolvedor pelo seu ambiente, linguagem e é aí que o Ruby começa matar a pau.

O desenvolvedor que migra de uma linguagem verborrágica como o Java e se acostuma com a simplicidade das coisas no mundo ruby, dificilmente volta.

É meio como Mac x PC. Você faz tudo com windows, a questão está no prazer. Se o desenvolvedor puder optar, vai usar algo que o agrade mais.

Particularmente não acredito muito na velocidade de desenvolvimento como único argumento, até pq o que venho sentindo é que isso é variável. Se vc quiser fazer bem feito, vai ter mais testes a coisa fica quase no mesmo patamar, talvez algum ganho mas não o que pregavam de 10x mais.

M

rogelgarcia:

Pelo menos vc reconhece que uma etapa de compilação não ajuda em nada a prevenir erros de produção numa aplicação web. :slight_smile:

Quanto ao desenvolvimento, eu troco capacidade de capturar erros bobos como esse pela produtividade proporcionada por linguagens dinamicas sem pensar duas vezes. :wink:

Mas concordo, numa consultoria 3 letrinhas, com equipes de 10 pessoas e gente saindo e entrando a cada semana talvez não seja uma boa…

R

Mas se pensarmos só em questão de código… codificar em Ruby é tão mais rápido assim?!

Em Java… voce digita 3 letras… dá um CTRL + Espaço, ponto, seta pra baixo, enter, enter… e já pula pra próxima…

Acho que a diferença de produtividade é mais relacionada a questão do ambiente, frameworks, etc… do que na linguagem em si…

A linguagem ajuda… mas ela por si só, não muda tanto a produtividade… imagine vc desenvolvendo com todas as tecnologias Java padrão… JSF … JPA… etc… Mas usando Ruby… você acha que seria muito mais produtivo do que usando Java?

M

rogelgarcia:

A linguagem ajuda… mas ela por si só, não muda tanto a produtividade… imagine vc desenvolvendo com todas as tecnologias Java padrão… JSF … JPA… etc… Mas usando Ruby… você acha que seria muito mais produtivo do que usando Java?

Não é preciso imaginar, esse o propósito de linguagens como Scala e Clojure, rodar na JVM e aproveitar todo o ecossistema de frameworks e bibliotecas java existentes. Escolha a sua e tire suas proprias conclusoes.

D

Rails é simplicidade na linguagem (Ruby), ponto.
Não há muito do que dizer, mesmo porque, java também tem seus frameworks. Sei que já falaram isso aqui, mas eu comprovo. Onde trabalho é assim: pequenos aplicativos, Rails rende. Trabalhos grandes (java, .net e rails), diferença mínima. Essa história de 10x mais é pra aplicativos pequenos, ai sim, com certeza. Java e .Net são canhões pra matar elefantes e não moscas.

M

djemacao:
Rails é simplicidade na linguagem (Ruby), ponto.
Não há muito do que dizer, mesmo porque, java também tem seus frameworks. Sei que já falaram isso aqui, mas eu comprovo. Onde trabalho é assim: pequenos aplicativos, Rails rende. Trabalhos grandes (java, .net e rails), diferença mínima. Essa história de 10x mais é pra aplicativos pequenos, ai sim, com certeza. Java e .Net são canhões pra matar elefantes e não moscas.

Eu vejo esse argumento do projeto grande x pequeno é recorrente quando alguem tenta justificar o uso do Java e desqualificar linguagens mais dinamicas. Imagino que seja em parte por preguiça de experimentar essas novas linguagens ageis em projetos reais (quando a pessoa tem poder de influenciar a escolha da tecnologia a ser utilizada claro) ou, o que é ainda mais provável, por falta de uma visão de arquitetura e design de sistemas que permitiria particionar projetos maiores em sistemas com escopo mais reduzido a serem implementados por equipes menores.

Portanto, toda vez que leio esse tipo de argumento eu entendo “projetos grandes” como: Java é mais indicado para projetos que não tem a perspectiva de um arquiteto para projetar o sistema de forma que seja flexivel e poder ser contruido de forma agil, iterativamente, por equipes independentes.

1

Mapeando uma tabela Produto com 30 atributos:

Java = declaracao de 30 atributos + 30 getters + 30 setters

Rails

class Produto < ActiveRecord::Base end

You Win! Perfect! :lol:

Z

mochuara:
djemacao:
Rails é simplicidade na linguagem (Ruby), ponto.
Não há muito do que dizer, mesmo porque, java também tem seus frameworks. Sei que já falaram isso aqui, mas eu comprovo. Onde trabalho é assim: pequenos aplicativos, Rails rende. Trabalhos grandes (java, .net e rails), diferença mínima. Essa história de 10x mais é pra aplicativos pequenos, ai sim, com certeza. Java e .Net são canhões pra matar elefantes e não moscas.

Eu vejo esse argumento do projeto grande x pequeno é recorrente quando alguem tenta justificar o uso do Java e desqualificar linguagens mais dinamicas. Imagino que seja em parte por preguiça de experimentar essas novas linguagens ageis em projetos reais (quando a pessoa tem poder de influenciar a escolha da tecnologia a ser utilizada claro) ou, o que é ainda mais provável, por falta de uma visão de arquitetura e design de sistemas que permitiria particionar projetos maiores em sistemas com escopo mais reduzido a serem implementados por equipes menores.

Portanto, toda vez que leio esse tipo de argumento eu entendo “projetos grandes” como: Java é mais indicado para projetos que não tem a perspectiva de um arquiteto para projetar o sistema de forma que seja flexivel e poder ser contruido de forma agil, iterativamente, por equipes independentes.

Fale 1 projeto grande Ruby on Rails.
Se eu não me engano o Twitter abandou Rails justamente por que nao era estável e muito menos escalável.
Como eu falei : Tem muito chão ainda pro Rubyon Rails serem adotados por grandes empresas .
Acredito que Ruby on Rails no futuro possa virar , mas hoje o presente é java e .net .

F

Zaperjava:
mochuara:
djemacao:
Rails é simplicidade na linguagem (Ruby), ponto.
Não há muito do que dizer, mesmo porque, java também tem seus frameworks. Sei que já falaram isso aqui, mas eu comprovo. Onde trabalho é assim: pequenos aplicativos, Rails rende. Trabalhos grandes (java, .net e rails), diferença mínima. Essa história de 10x mais é pra aplicativos pequenos, ai sim, com certeza. Java e .Net são canhões pra matar elefantes e não moscas.

Eu vejo esse argumento do projeto grande x pequeno é recorrente quando alguem tenta justificar o uso do Java e desqualificar linguagens mais dinamicas. Imagino que seja em parte por preguiça de experimentar essas novas linguagens ageis em projetos reais (quando a pessoa tem poder de influenciar a escolha da tecnologia a ser utilizada claro) ou, o que é ainda mais provável, por falta de uma visão de arquitetura e design de sistemas que permitiria particionar projetos maiores em sistemas com escopo mais reduzido a serem implementados por equipes menores.

Portanto, toda vez que leio esse tipo de argumento eu entendo “projetos grandes” como: Java é mais indicado para projetos que não tem a perspectiva de um arquiteto para projetar o sistema de forma que seja flexivel e poder ser contruido de forma agil, iterativamente, por equipes independentes.

Fale 1 projeto grande Ruby on Rails.
Se eu não me engano o Twitter abandou Rails justamente por que nao era estável e muito menos escalável.
Como eu falei : Tem muito chão ainda pro Rubyon Rails serem adotados por grandes empresas .

Vc está enganado, o Twiter trocou pois uma linguagem Tipada e funcional, seria melhor para eles, o Front-ENd continua sendo rails.

M

Zaperjava:

Fale 1 projeto grande Ruby on Rails.
Se eu não me engano o Twitter abandou Rails justamente por que nao era estável e muito menos escalável.

Pois é, vc esta enganado. Rails continua sendo usado no site do Twitter. Me avise se isso responde sua primeira pergunta.

M

Zaperjava:

Acredito que Ruby on Rails no futuro possa virar , mas hoje o presente é java e .net .

Tudo bem, não há problema nenhum nisto. Mas acontece que diferentes pessoas possuem diferentes percepções sobre o tempo, e para o autor do tópico e muitos outros que tenho conversado ultimamente, linguagens alternativas são uma realidade a serem consideradas para conseguir novas oportunidades, ou simplesmente novos conhecimentos, HOJE. No caso o tópico é para essas pessoas.

F

mochuara:
Zaperjava:

Fale 1 projeto grande Ruby on Rails.
Se eu não me engano o Twitter abandou Rails justamente por que nao era estável e muito menos escalável.

Pois é, vc esta enganado. Rails continua sendo usado no site do Twitter. Me avise se isso responde sua primeira pergunta.

É, mas o hard da aplicação foi pra scala, e acho que não responde.

Eu acho comédia, os rubistas SEMPRE usam o twitter como EXEMPLO do poder do Ruby, parece ser o UNICO exemplo :shock:, mas quando o Alex foi la e falou que trocaram uma parte pra scala faltaram prega-lo numa cruz :lol: :lol:, outro dia fui parar pra ver toda a briga e tals, hehehe, realmente o bairrismo/religiao/xiismo é TENSO.

Z

mochuara:
Zaperjava:

Acredito que Ruby on Rails no futuro possa virar , mas hoje o presente é java e .net .

Tudo bem, não há problema nenhum nisto. Mas acontece que diferentes pessoas possuem diferentes percepções sobre o tempo, e para o autor do tópico e muitos outros que tenho conversado ultimamente, linguagens alternativas são uma realidade a serem consideradas para conseguir novas oportunidades, ou simplesmente novos conhecimentos, HOJE. No caso o tópico é para essas pessoas.

Twitter message queues move to Scala
Created by bagwell on 2009-02-27. Updated: 2009-02-27, 11:20
To handle the peak rates of Tweeting, 5000 per minute during the Obama Inauguration, Robey Pointer at Twitter has moved their main message queue from Ruby to Scala for improved performance. He explains the concepts behind the Twitter Kestrel project on his live journal and the more concise 1500 lines of Scala code can be seen as open source project here.

F

1 de abril:
Mapeando uma tabela Produto com 30 atributos:

Java = declaracao de 30 atributos + 30 getters + 30 setters

Rails

class Produto < ActiveRecord::Base end

You Win! Perfect! :lol:

Mapeando uma tabela com 150 atributos no Netbeans: => Botao direito no projeto => New EntityBeans from database :twisted:

G

1 de abril:
Mapeando uma tabela Produto com 30 atributos:

Java = declaracao de 30 atributos + 30 getters + 30 setters

Rails

class Produto < ActiveRecord::Base end

You Win! Perfect! :lol:

Cara acho que vc não entende muito de Java e muito menos de RoR.

eu não preciso de get e set para definir minhas colunas com hibernate. No ruby vc mostrou sua classe produto mas os atributos TAMBÉM precisam ser declarados num XML (argh…).

[]'s

F

fredferrao:
mochuara:
Zaperjava:

Fale 1 projeto grande Ruby on Rails.
Se eu não me engano o Twitter abandou Rails justamente por que nao era estável e muito menos escalável.

Pois é, vc esta enganado. Rails continua sendo usado no site do Twitter. Me avise se isso responde sua primeira pergunta.

É, mas o hard da aplicação foi pra scala, e acho que não responde.

Eu acho comédia, os rubistas SEMPRE usam o twitter como EXEMPLO do poder do Ruby, parece ser o UNICO exemplo :shock:, mas quando o Alex foi la e falou que trocaram uma parte pra scala faltaram prega-lo numa cruz :lol: :lol:, outro dia fui parar pra ver toda a briga e tals, hehehe, realmente o bairrismo/religiao/xiismo é TENSO.

Também vi isso, e não acreditei na incapacidade de aceitar a decisão do cara de trocar, o povo desesperado pq o RoR ia perder credibilidade ¬¬, cada um que me aparece.

L

fredferrao,

Você percebeu que você precisou de uma IDE pra fazer isso? O JPA nativamente não dá suporte pra você fazer isso…

1

Bom em relacao a geradores cada um tem o seu… mas me referi a ter um arquivo de 2 linhas contra um de varias :smiley:

Giulliano:
Cara acho que vc não entende muito de Java e muito menos de RoR.

eu não preciso de get e set para definir minhas colunas com hibernate. No ruby vc mostrou sua classe produto mas os atributos TAMBÉM precisam ser declarados num XML (argh…).

[]'s

hibernate pode nao precisar, mas com ctza tem mto DAO que precisa disso, mais XML e models da vida

cara quem nao sabe de RoR nao sou eu… aquela classe eh um model e nao precisa declarar os atributos nela
posso mto bem ter uma tabela no banco e soh um arquivo de model com 2 linhas e ja esta mapeado…
e precisar declarar os atributos num XML??? aonde vc tirou isso… eu nunca usei um arquivo XML em RoR…
acho q vc esta confundindo com a declaracao de migrations que eh outra vantagem do Rails e nao eh em XML e sim YAML. :wink:

L

Na verdade o que mais me impressiona dos evangelistas cegos que acham que java é bala de preta, é o argumento contra rails, que é sempre o mesmo: Não é escalável, não “aguenta o tranco”.

O fato é que pra uma linguagem ser boa, tem que existir um case ultra master fucking ownage pra ser usado. Caso contrário, o ataque no guj é comum OMG MY JAVA ROCKS UR .NET SUCKS AHEAIUWEAW DORGAS MANOOWWWWWW V1D4 L0K4 e daí pra pior

Por exemplo, Rails faz muito bem o que ele se propõe a fazer. Pra que vou usar java se eu quero fazer um crud rápido na web? Ou se quero acessar uma DLL do windows, pra que ficar baixando JNA ou usar java nativo se já tenho as libs do python na mão?

Essas discussões conseguem acender uma discussão antiga. Pra que usar EJB?! Você precisa, de fato, de um canhão pra matar uma mosca? Se eu faço um crud (em java) usando um JDBCDataSource pra fazer 1 insert, repito: 1 insert em uma tabela X, esses mesmos evangelistas ou vão defender o uso do hibernate (…) ou pra piorar vão dizer “Olha, tu deves fazer um Session Facade, depois implementar usando JPA e fazer essa chamada no teu servlet”.

Mas fazer o que, tem gente que gosta de criar complexidade pra parecer que manja de algo, pra mim isso está mais pra insegurança do que demonstrar conhecimento. E não preciso falar da bitolação extrema.

S

Quem quiser dar uma olhada num tutorial simples sobre Ruby on Rails pode checar esse screencast em portugues: http://www.seducaotecnologica.com.br/tutorial-sobre-ruby-rails-parte-1/

J

legionarioba:
fredferrao,

Você percebeu que você precisou de uma IDE pra fazer isso? O JPA nativamente não dá suporte pra você fazer isso…

Qual exatamente a diferença entre uma IDE e um framework gerador de código? É tudo RAD.

F

legionarioba:
fredferrao,

Você percebeu que você precisou de uma IDE pra fazer isso? O JPA nativamente não dá suporte pra você fazer isso…

Eu usei uma ferramenta, e voce outra, o JPA nao faz, e nada impede alguem de fazer um framework que o faça, não ha impedimento para isto.

O ponto pro rails é que o cara foi e implementou desta maneira e escondeu esta parte do programador, mas se algum louco qualquer quiser fazer um JPARails que esconde toda a logica, não ha impeditivo algum.

Ai numa possivel implementação o cara faria assim :lol: :lol:

@EntityRails
public class Pessoa{}
F

Na verdade o que mais me impressiona dos evangelistas cegos que acham que java é bala de preta, é o argumento contra rails, que é sempre o mesmo: Não é escalável, não “aguenta o tranco”.

O fato é que pra uma linguagem ser boa, tem que existir um case ultra master fucking ownage pra ser usado. Caso contrário, o ataque no guj é comum OMG MY JAVA ROCKS UR .NET SUCKS AHEAIUWEAW DORGAS MANOOWWWWWW V1D4 L0K4 e daí pra pior

Por exemplo, Rails faz muito bem o que ele se propõe a fazer. Pra que vou usar java se eu quero fazer um crud rápido na web? Ou se quero acessar uma DLL do windows, pra que ficar baixando JNA ou usar java nativo se já tenho as libs do python na mão?

Essas discussões conseguem acender uma discussão antiga. Pra que usar EJB?! Você precisa, de fato, de um canhão pra matar uma mosca? Se eu faço um crud (em java) usando um JDBCDataSource pra fazer 1 insert, repito: 1 insert em uma tabela X, esses mesmos evangelistas ou vão defender o uso do hibernate (…) ou pra piorar vão dizer “Olha, tu deves fazer um Session Facade, depois implementar usando JPA e fazer essa chamada no teu servlet”.

Mas fazer o que, tem gente que gosta de criar complexidade pra parecer que manja de algo, pra mim isso está mais pra insegurança do que demonstrar conhecimento. E não preciso falar da bitolação extrema.

Rubista detected :!:

Relaxa, não falei mal do rails nem to defendendo nada, apenas falei do episodio onde o mundo entrou em colapso :lol: :lol:

O fato é que o cara estava discutindo sobre a real entrada do rails no mercado, em ampla escala e tals, ai sempre pedem um case de sucesso, e a resposta é sempre a mesma TWITTER, ai quando mexeram no twitter trocando o pedaço pra scala o mundo desabou :shock: :shock:

L

fredferrao:

Rubista detected :!:

Relaxa, não falei mal do rails nem to defendendo nada, apenas falei do episodio onde o mundo entrou em colapso :lol: :lol:

O fato é que o cara estava discutindo sobre a real entrada do rails no mercado, em ampla escala e tals, ai sempre pedem um case de sucesso, e a resposta é sempre a mesma TWITTER, ai quando mexeram no twitter trocando o pedaço pra scala o mundo desabou :shock: :shock:

hehehe não não, eu não sou rubista, na real eu não sou xiita de nenhuma linguagem, apesar de eu ser especialista em Java

Já trabalhei com .NET, com Java e com Ruby. Já fui cego por Java achando que é deus (e perdendo a chance de conhecer linguagens realmente legais como Python)

É difícil você falar em cases de sucesso. Até mesmo em Java, você vai falar o que? que “o itaú” usa? e se for pensar em “cases de sucesso”, python é a linguagem mais animal que existe, já que o google usa né?

Eu posso citar alguns projetos grandes de Rails, como o webmail da uol, a plataforma de edição/cms/publicação da editora abril (veja são paulo), sistemas na globo.com, na toyota etc, mas é da mesma maneira que eu falar dos cases de sucesso em pl/sql nos lugares que passei, os “bancos” que usam cobol e java e assim por diante, ou seja, não é argumento válido.

O que eu digo é: falar mal porque “alguém me disse que é ruim” ou “não conheço ninguém que usa” é ser muito inocente, convenhamos. Alguns users aqui do fórum ganham seus 80/hora por trabalhar com coisas que, por modismo, quase todo mundo fala mal ou “ouviu alguém falar algo”.

Não estou dizendo que tu falou isso nem nada (só estou dando corda na discussão rs :P), mas é que eu acho que, quem gosta de acusar que algo não é bom dessa maneira só sai perdendo… não se ganha nada defendendo uma linguagem/tecnologia/empresa/time de futebol, um pouco de opinião própria não faz mal a ninguém, mesmo :stuck_out_tongue:

M

Zaperjava:
mochuara:
Zaperjava:

Acredito que Ruby on Rails no futuro possa virar , mas hoje o presente é java e .net .

Tudo bem, não há problema nenhum nisto. Mas acontece que diferentes pessoas possuem diferentes percepções sobre o tempo, e para o autor do tópico e muitos outros que tenho conversado ultimamente, linguagens alternativas são uma realidade a serem consideradas para conseguir novas oportunidades, ou simplesmente novos conhecimentos, HOJE. No caso o tópico é para essas pessoas.

Twitter message queues move to Scala
Created by bagwell on 2009-02-27. Updated: 2009-02-27, 11:20
To handle the peak rates of Tweeting, 5000 per minute during the Obama Inauguration, Robey Pointer at Twitter has moved their main message queue from Ruby to Scala for improved performance. He explains the concepts behind the Twitter Kestrel project on his live journal and the more concise 1500 lines of Scala code can be seen as open source project here.

http://github.com/robey/kestrel

O carinha aí diz que o presente é Java e .NET e cita como exemplo um projeto que usa Scala e Rails. :lol:

T

1 de abril:
Mapeando uma tabela Produto com 30 atributos:

Java = declaracao de 30 atributos + 30 getters + 30 setters

Rails

class Produto < ActiveRecord::Base end

You Win! Perfect! :lol:

Se vc conseguir modelar uma tabela ou classe com 30 colunas ou atributos, pelo amor, nao tem linguagem que resolva o seu problema. Vai aprender a modelar primeiro!

L

hueheuehue

Vai que é uma tabela fato de uma modelagem para Data Warehouse. 8) Mas pra situações comuns realmente isso não existe :smiley:

1

Thiago Senna:
1 de abril:
Mapeando uma tabela Produto com 30 atributos:

Java = declaracao de 30 atributos + 30 getters + 30 setters

Rails

class Produto < ActiveRecord::Base end

You Win! Perfect! :lol:

Se vc conseguir modelar uma tabela ou classe com 30 colunas ou atributos, pelo amor, nao tem linguagem que resolva o seu problema. Vai aprender a modelar primeiro!

Mapeando uma tabela Fuuuuuuuuuu com N atributos:

Java = declaracao de N atributos + N getters + N setters

Rails

class Fuuuuuuuuuu < ActiveRecord::Base end

You Win! Perfect! :lol:

Cara nao entende uma piada, meldels :shock:

G

Cara…na boa se a teoria de Darwin for correta e apenas os mais fortes sobreviverem, vc já esta fazendo hora extra no mundo. Onde já se viu mapear um banco de dados sem falar quais colunas estão presentes. DAO que precisa de XML (caraca eu queria ir até aí na sua mesa pra vc me mostrar UM exemplo disso), e quem disse que Java tem DAO, isso é um pattern eu uso se eu quiser, francamente vc precisa estudar um “pouquinho bastante (muito) (demasiadamente) mais”.

[]'s

1

Giulliano:
Cara…na boa se a teoria de Darwin for correta e apenas os mais fortes sobreviverem, vc já esta fazendo hora extra no mundo. Onde já se viu mapear um banco de dados sem falar quais colunas estão presentes. DAO que precisa de XML (caraca eu queria ir até aí na sua mesa pra vc me mostrar UM exemplo disso), e quem disse que Java tem DAO, isso é um pattern eu uso se eu quiser, francamente vc precisa estudar um “pouquinho bastante (muito) (demasiadamente) mais”.

[]'s

1 - Onde já se viu mapear um banco de dados sem falar quais colunas estão presentes
Ja vi em Rails, se vc nunca mexeu com Rails fica ai na curiosidade duvidando

2 - DAO que precisa de XML
Ibatis

Fica ai usando seu cabresto pra uma lingugem soh fortao :twisted:

T

1 de abril:

Mapeando uma tabela Fuuuuuuuuuu com N atributos:

Java = declaracao de N atributos + N getters + N setters


Eu não escrevo os getters e setters. Veja lombok e play framework. E ai?

1 de abril:
Rails

class Fuuuuuuuuuu < ActiveRecord::Base end

You Win! Perfect! :lol:

Em java tu cria 30 atributos e a tabela é criada automaticamente. Em Rails vc cria uma tabela de 30 colunas e a classe detecta automaticamente. Cara, o esforço é o mesmo. Vc só mudou o local onde foi empreendido o esforço.

L

Mas a questão aqui é Hibernate/JPA, não iBatis. Se for assim, compara JDBC com ActiveRecord do Rails, que no final vai dar nada com nada.

1

Thiago Senna:
1 de abril:

Mapeando uma tabela Fuuuuuuuuuu com N atributos:

Java = declaracao de N atributos + N getters + N setters


Eu não escrevo os getters e setters. Veja lombok e play framework. E ai?

1 de abril:
Rails

class Fuuuuuuuuuu < ActiveRecord::Base end

You Win! Perfect! :lol:

Em java tu cria 30 atributos e a tabela é criada automaticamente. Em Rails vc cria uma tabela de 30 colunas e a classe detecta automaticamente. Cara, o esforço é o mesmo. Vc só mudou o local onde foi empreendido o esforço.

Eu sei que existem geradores em cada linguagem, eu me referi ao codigo gerado em rails que eh mto menor que em Java
cada um utiliza o framework que mais lhe agrada, agora uma coisa nao se pode negar, varios destes frameworks que estao surgindo
acabam adotando alguma caracteristica do rails e adaptando a sua linguagem, nao que seja algo ruim, eh ate bom ver que outras plataformas
estao abertas a novos conceitos de desenvolvimento…
utilizo tanto Java qto Rails, e num vou ficar pregando qual a melhor, eu vejo mais vantagens em Rails
soh aconselho quem nunca mexeu dar uma olhada e tirar suas proprias conclusoes

L

Precisam de cases de sucesso com Rails:
http://37signals.com

Acho que quem nunca fez pelo menos um projeto real em Java e em Rails pode opinar com propriedade, Hello World e mapeamento ORM tbm não.

O mercado pede Java e Struts1, e daí? Isso mostra o que?
Que a maioria das empresas são atrasadas tecnologicamente por N fatores, mas não que essas tecnologias em uso são melhores.

Pros que não vivem sem IDE, tem cara que se tirar o Eclipse vai pedir moeda no farol… http://www.jetbrains.com/ruby

Cada 10 pessoas experientes (e competentes) em Java que eu conheço que trabalharam em projetos reais com Rails, pelo menos 8 nunca mais voltarão a desenvolver com Java na vida.

Hoje a comunidade em torno do Rails é infinitamente maior e mais ativa do que em qualquer outro framework, independente da linguagem. Isso ajuda no aumento de produtividade, pois tem milhares de pessoas desenvolvendo soluções para as mais diversas necessidades de quem trabalha com Rails.

[]s

M

Se não me engano o Github é em Rails, globo.com tb ta usando rails no seus sistemas de vídeos na web, etc…

Mas a linguagem ruby tem seus pontos negativos, como não rodar na JVM e falta de habilidade dos evangelistas ruby (que se autodenominam com termos sem noção como ninjas, rockstars e tal) em criar uma comunidade vibrante em torno da linguagem. Ja faz tempo que ruby deu uma caida de popularidade em relação a outras linguagens dinamicas.

1

Leozin:
1 de abril:

2 - DAO que precisa de XML
Ibatis

Mas a questão aqui é Hibernate/JPA, não iBatis. Se for assim, compara JDBC com ActiveRecord do Rails, que no final vai dar nada com nada.

Bom eu soh citei um exemplo de DAO que utiliza XML… que um fanatico por Java nem sabia que existia

Cara eu me divirto vendo tanto fanatismo de algumas pessoas, parece que passaram a vida toda estudando pra aprender uma linguagem que qdo aparece uma alternativa inovadora fecham os olhos e saem criticando como se sentissem ameaçados, com receio de se tornarem “ultrapassados”… a verdade eh q a cada dia estamos sujeitos a uma nova forma de desenvolvimento, pode ser inovadora ou baseada em algo ja existente.

Andar olhando pra frente eh facil, dificil eh seguir olhando para os lados.

R

Pelo que andei vendo do ruby especificamente, e principalmente pelo vídeo do saoj que por sinal é muito bom e explicativo, tenho as seguintes considerações.

Sobre código Ruby ser menor do que Java: Sim, o código em Ruby tende a ser menor. Em contrapartida voce não tem uma IDE tão robusta como o eclipse, que oferece code completion e tudo mais. Acaba que ruby tem menos linhas, MAS não tem tanta produtividade a mais. Em java… voce digita 3 letras, CTRL+Espaço…
No Ruby você tem que decorar muito mais comandos, pela falta de auxilio da IDE, ou então manter um tutorial de referencia do lado… até voce ter o domínio…

O ruby trabalha muito com geração de código o que aumenta um pouco o trabalho e o conhecimento dos vários comandos possíveis. Isso podemos comprar com o Spring ROO que é bem mais eficiente, onde vc tem um programa que te guia na geração com sugestão e tudo mais.

O ActiveRecord não é grande vantagem em relaçao a um POJO. De qualquer maneira você tem que em algum lugar informar quais são os campos. No caso do POJO voce precisa dos getters e setters… que a propria IDE pode gerar… ou com auxilio de algum framework ou aspectos podemos fazer apenas com os atributos (sem os getters e setters).

Acaba que o Ruby é mais uma proposta de uma nova linguagem ou forma de desenvolvimento, do que um BOOMM no desenvolvimento. Não considero que Ruby seja tão mais produtivo do que outras ferramentas Java que existem por aí.

A adoçao de Ruby é muito complicada por quem já trabalha com Java pois… em Java você já conhece muitas APIs para jogar fora e aprender tudo denovo. O ganho de produtividade não é tão grande para substituir todo o conhecimento e base instalada de Java.

Se os Rails são a solução acho que deveria se pensar em algo mesclado… partes Java e parte código interpretado. Nessa situação acho que o que mais se aproxima é o Groovy utilizando Grails, por ser mais próximo de Java.


Agora se o Groovy seria a melhor escolha porque na briga dos Rails quem ganha é o Ruby?!

Na minha opinião eu acho que é pelo seguinte. Quem defende os Rails e realmente acha que isso irá dominar no futuro, parte para a solução mais extremista que é o Ruby. Quem tem mais pé no chão, vamos dizer assim, que optaria por uma solução mais conservadora acho que iria de Grails. Mas como dito anteriormente, essas linguagens interpretadas tem realmente grandes vantagens, mas também tem desvantagens, então acaba se trocando seis por meia duzia. Uma troca que não oferece grandes beneficios. Acaba que o extremistas vão para o Ruby, e os mais conservadores preferem continuar com o Java mesmo e as soluções intermediárias não alavancam muito.


Que a linguagem Java está ficando defasada, isso está. Mas a solução é começar tudo denovo? Ou tentar melhorar o que já existe?

Eu mesmo já fiz um compilador para o eclipse que elimina a necessidade dos getters e setters… Vamos supor que uma evolução na linguagem como essa, e mais alguns recursos como closures (só que bem mais bem pensado e simples do que estava sendo proposto) forma de atribuir listas e mapas na sintaxe… já não aproximaria demais o Java dessas linguagens interpretadas? Com a vantagem de toda a base instalada, utilização do que já existe, backward compatible, e baixo tempo de aprendizado?


Devemos lembrar que nós da tecnologia (inclusive eu) temos tendência a querer reinventar a roda :smiley:

R
rlazoti:
#Codigo Ruby
users = ["joao", "jose", "maria"]

users.each do |user|
	puts user
end


//Codigo Java
String[] users = {"joao", "jose", "maria"};

for (String user : users) {
	System.out.println( user );
}

Pegando esse exemplo lá do inicio.. postado por nosso colega...

Primeira observação é a seguinte... escrever users = ["joao", "jose", "maria"] ou String[] users = {"joao", "jose", "maria"}; é praticamente a mesma coisa.. com a vantagem de se ter code completion para a variavel users e checagem em tempo de compilacao (em java).. voce ganha na hora de declarar e perde na hora de usar (em ruby)...

no loop (se eu estiver errado me corrijam):

no ruby vc digita tudo isso
users.each do |user|
	puts user
end

No Java...

for (CTRL + Espaço) (Enter)
sysout (CTRL+Espaco) user (Enter)

Então.. dizer que voce tem uma produtividade gigantesca em relaçao a Java... acho que nao é bem assim nao...

Como falado anteriormente.. o que vale é o ambiente em que se desenvolve.. e nao a linguagem propriamente dita..

Acontece que o padrão de desenvolvimento Java proposto.. já é muito burocratico.. JSF + JPA.... e com o CDI não vai mudar muito... os Rails ganham contra isso fácil... Mas nem só disso é feito o mundo java...

M

Parei de ler no primeiro parágrafo…

Pelo que andei vendo do ruby especificamente, e principalmente pelo vídeo do saoj que por sinal é muito bom e explicativo, tenho as seguintes considerações.

Cara, coloca um projetinho no ar depois conta pra gente como foi a experiencia. Onde ja se viu ver um vídeo e achar que ta em posição de analisar alguma coisa.

Não esqueça de nos informar do seu progresso ok?

Abracos!

L

Veja qualquer screencast do Railslab onde usam o Textmate como editor, sem tem muuuuitas maneiras que “ganhar codigo” nele e a produtividade é altíssima.

Não opine sem conhecimento real de causa, e mensurar a produtividade de uma linguagem com base nos recursos de uma IDE é ni mínico fantasioso.

Meus ETs do céu, quanta groselha.

Desculpem, não da pra continuar acompanhando esse tópico.

R

Cara… se vc tá achando tanta groselha… e nao tem nada pra acrescentar ao invés de ficar pegando detalhes sobre o que alguém aqui disse… vaza mesmo…

O negócio aqui cada um pode dar sua opinião… se vc tem uma opinião diferente… ao invés de falar que é groselha… mostre os argumentos que te levam a ter uma opiniao diferente… quem sabe assim eu nao posso me convencer?!

Falar que o que eu disse é groselha… só vai me levar a te achar um cara chato, que nao tem argumentos para adicionar a discussao… e sua opiniao pra mim nao vai ter mais relevancia…

Quando neguinho disse que a Terra era redonda… também diziam que o que ele falou era groselha… ahahhaha

R

mochuara:
Parei de ler no primeiro parágrafo…

Pelo que andei vendo do ruby especificamente, e principalmente pelo vídeo do saoj que por sinal é muito bom e explicativo, tenho as seguintes considerações.

Cara, coloca um projetinho no ar depois conta pra gente como foi a experiencia. Onde ja se viu ver um vídeo e achar que ta em posição de analisar alguma coisa.

Não esqueça de nos informar do seu progresso ok?

Abracos!

O avatar desse cara usa luvas de boxe… num é a toa… heheheh

Mas vou fazer o que vc falou … para poder dar o meu parecer…

T

Digo por mim, que ainda não estou satisfeito com opções como Rails, Grails, Django e até mesmo Play Framework. Sou de fato um admirador dos benefícios que estes frameworks trouxeram, no entanto, para mim, ainda não foi possível abandonar java. Cito os motivos:

1 - Comecei minha carreira com java e é a linguagem que ainda sei melhor
2 - O suporte das IDE’s para essas linguagens dinamicas ainda nao me convenceram
3 - Eu dependo de auto complete, detectar erros em tempo de compilacao e evito testes unitários
4 - Vim da epoca do Swing e não abro mao de um framework component-based. Desconheço boas opcoes component-based para linguagens dinamicas
5 - Boas idéias que surgem nestes ótimos frameworks ‘dinamicos’ eu sempre tento adaptá-las em minha arquitetura, quando vale a pena!

Enfim, apesar de eu curtir estes frameworks dinamicos acho totalmente valido ser contra eles também pois ainda há no mercado boas opções para você produzir bem em java. Eu me divirto programando em java assim como qualquer um em rails. Meu código é limpo - as classes de dominio sao ricas, usam e abusam de OO (até onde conheço, claro). Eu resisto em migrar para Rails (ou outros) e estou muito bem. Obrigado!

1

quem falou que nao tem code completion pra RoR: http://netbeans.org/download/flash/jruby_editing/jruby_editing.html

rogelgarcia o netbeans tem suporte pra Rails, o RadRails eh como um plugin de Eclipse, ou seja, da pra se trabalhar com as melhores IDE’s pra Java em Rails

dica: se vc usa o netbeans ou o eclipse para desenvolver em java, nao custa nada adicionar uns plugins e mudar a perspectiva da IDE pra Rails e dar uma fuçada,
entre um projeto e outro, em algum tempo livre. :smiley:

R

1 de abril… isso é verdade mesmo … ou é 1 de abril… ahhahahha (sempre quis fazer essa piadinha)

Já to até vendo aqui os IDEs… vou testar essa bagaça agora…

Valew pela dica

R

Agora… sem nem ver os editores… posso afirmar … que o suporte a code completion é mais limitado do que em java… isso se dá por definicao…

As variaveis nao sao fortemente tipadas… certo?!

(daqui a pouco o cara vem com a groselha…)

1

1 de abril :smiley:

entao… claro que o code completion de java eh bem mais robusto, mas assim como em java nao da pra aprender a api sem consultar algum manual

a tipacao tb nao eh como em Java, mas eh isso ai… nao adianta eu falar qual eh melhor… cada um se identifica com um tipo de codificacao

eu comecei em rails e to aprendendo Java, nao eh pq vejo as vantagens de uma que nao vo ter interesse em conhecer os beneficios de outra

R

É… a intençao da discussão… é justamente levantar os pontos fortes e fracos de cada uma…

F

O ruby é fortemente tipada. Achei um tópico antigo que já discutiram sobre isso: http://www.guj.com.br/posts/list/15/129946.java

Só para saber, no IRB (Interactive Ruby Shell) tem a possibilidade de dar os auto complete. Basta utilizar o seguinte comando: irb -r ‘irb/completion’

F

Quando vai sair o Scala on Rails?? :smiley:

Alguem ja testou o Lift? Ele se encaixa no conceito “rails”???

R

fredbene:
O ruby é fortemente tipada. Achei um tópico antigo que já discutiram sobre isso: http://www.guj.com.br/posts/list/15/129946.java

Só para saber, no IRB (Interactive Ruby Shell) tem a possibilidade de dar os auto complete. Basta utilizar o seguinte comando: irb -r ‘irb/completion’

Mas no ruby… acaba que o pessoal segue mais a filosofia de dá pra tipar… mas nao costumam…

Tem coisas que sao totalmente dinamicas tb… entao… nem tipando resolve…o code completion…

R

Pode até ser questao de costume… mas entre scalla e java… prefiro a sintaxe de java

object HelloWorld { def main(args: Array[String]) { println("Hello, world!") } }
Uma pergunta que nao quer calar… porque o cara ao invés de definir uma classe com class… define com object?! Deve ser pra confundir a cabeça dos neguinhos…
Se dá pra complicar… pra que simplificar…

R

E o pior é que tem o class tb… heheeh

F

rogelgarcia:
fredbene:
O ruby é fortemente tipada. Achei um tópico antigo que já discutiram sobre isso: http://www.guj.com.br/posts/list/15/129946.java

Só para saber, no IRB (Interactive Ruby Shell) tem a possibilidade de dar os auto complete. Basta utilizar o seguinte comando: irb -r ‘irb/completion’

Mas no ruby… acaba que o pessoal segue mais a filosofia de dá pra tipar… mas nao costumam…

Tem coisas que sao totalmente dinamicas tb… entao… nem tipando resolve…o code completion…

Temos alguns conceitos para serem visto ae:

Tipagem estatica, tipagem dinamica, fortemente tipado e type inference.

Ao meu ver tu esta fazendo uma “pequena” confusão.

Por isso o pessoal da “groselha” fica bravo com voce, tu joga um monte de coisas aqui, sem ao menos ter algum embasamento.

Resumindo Ruby é fortemente tipada e dinamicamente tipada., que sao coisas diferentes.

M

Faz um vídeo explicativo que fica mais fácil entender esses conceitos. :twisted:

L

Olha, quero deixar bem claro que não quero atacar ninguém, apenas tentar entender algumas coisas:

rogelgarcia:
O ruby trabalha muito com geração de código o que aumenta um pouco o trabalho e o conhecimento dos vários comandos possíveis. Isso podemos comprar com o Spring ROO que é bem mais eficiente, onde vc tem um programa que te guia na geração com sugestão e tudo mais.

O ActiveRecord não é grande vantagem em relaçao a um POJO. De qualquer maneira você tem que em algum lugar informar quais são os campos. No caso do POJO voce precisa dos getters e setters… que a propria IDE pode gerar… ou com auxilio de algum framework ou aspectos podemos fazer apenas com os atributos (sem os getters e setters).


http://www.ruby-lang.org/pt/
http://www.rubyonrails.pro.br/

O que tem que ficar entendido é que, Ruby é uma linguagem de programação com suas carcterísticas. Rails é um full - framework que usa a linguagem Ruby. Só. Aquela magia negra ferradona do Rails, se dá por conta da meta-programação, do poder da linguagem Ruby.
Rails (não Ruby, certo?) tem um princípio de Convention over Configuration, onde o programador não deve se preocupar com estrutura de pastas nem arquivos de configuração. Basta entender como o Rails “enxerga” e programar voltado para o domínio da sua aplicação.
Gere um controller, um model, uma migration ou até mesmo um scaffold pra vc enxergar o tamanho da produtividade.

O que seria “briga dos Rails”?

Com que embasamento você diz isso? Desculpe, eu não vejo Java se defasando.

R

fredferrao:

Temos alguns conceitos para serem visto ae:

Tipagem estatica, tipagem dinamica, fortemente tipado e type inference.

Ao meu ver tu esta fazendo uma “pequena” confusão.

Por isso o pessoal da “groselha” fica bravo com voce, tu joga um monte de coisas aqui, sem ao menos ter algum embasamento.

Resumindo Ruby é fortemente tipada e dinamicamente tipada., que sao coisas diferentes.

Sim… o que eu quis dizer… Java é estaticamente tipada… Ruby dinamicamente tipada… e por causa disso nao é possivel ter code completion…

Sem embasamento é por sua conta…

Sem embasamento… eu nao conseguiria nem … questionar e escrever da forma que eu escrevo…

As vezes a gente escreve rápido aqui no fórum… e sai uns termos trocados… mas isso nao importa se a mensagem foi entendida

O cara da groselha… nao falou nada de importante… ele é que falou groselha…

Primeiro o negócio do gerador de código… está claro que eu quis dizer sobre o ruby on rails… e nao somente o ruby… (o topico é sobre rails inclusive)
Sobre a linguagem ser nova… o que eu quis dizer… é que a proposta de utilizar a linguagem dessa forma é nova…
E por fim eu fiz uma suposição, uma hipótese… e o cara falou que eu tava falando groselha…

Num contexto geral do que eu falei… o cara pega… 3 palavras interpreta do jeito dele… ignorando inclusive o contexto em que as palavras estao… e joga como se eu fosse um criminoso…

Leia o meu texto todo…

Tá parecendo briga política… que o politico da opisicao… corta um pedaço de uma entrevista para tentar desmoralizar o que o outro falou…


(desabafo geral)

O problema aqui no fórum… é que quando alguém tem alguma ideia contraria… vai logo atacando o outro… e geralmente por coisa pequena… e o pior, sem argumentos…
Só chega falando que o outro neguinho é burro e pronto e acabou… dá muita preguiça isso…
Tudo voce tem que ficar explicando nos minimos detalhes pq se nao… vem pedrada … isso é um saco e pouco produtivo…

Aqui só tem DONOS DA VERDADE

Se voce acha que alguem tá equivocado… o melhor é expressar seu ponto de vista…
E opinião é uma coisa pessoal… se eu chegar aqui e falar… que Java é uma bosta… isso é minha opinião … no máximo alguém pode discordar e mostrar outra visao… (não… nao acho java uma bosta :D)

Nem com o framework que eu criei eu sou tao xiita…


leandronsp
o que vc falou tá entendido… eu entrei aqui sabendo o que é ruby… e o que é ruby on rails… o neguinho da groselha é que misturou o que eu tava dizendo…

A briga dos rails é que tem ruby on rails… grails… blza… sao linguagens diferentes… mas a proposta é a mesma…

Falta alguns recursos em Java que várias outras linguagens possuem… Exemplo: closure, uma forma na sintaxe de criar e acessar mapas, etc…

R

Falou viu ô fodão do notepad…

(viram como não é legal… pegar pedaços de outras pessoas… e por único e exclusivo motivo… criticar ao próximo)

R

Voltando a origem do tópico…

Rails estão crescendo…

Se tem gente saindo de Java (EE no caso)… ficam as pergutnas: Java está ruim? Tá burocratico? Tá antiprodutivo?

Já que o principal motivo de ir pro rails é produtividade?

M

rogelgarcia:
Voltando a origem do tópico…

Rails estão crescendo…

Se tem gente saindo de Java (EE no caso)… ficam as pergutnas: Java está ruim? Tá burocratico? Tá antiprodutivo?

Já que o principal motivo de ir pro rails é produtividade?

Daonde vc tirou que Rails esta crescendo e Java esta em desuso? Esse tipo de coisa não é facil mensurar, qual o embasamento? a sua percepção do mercado apenas?

E mais, porque vc acha que para um crescer tem que canibalizar o mercado do outro? Daonde tirou que alguém precisa abandonar X e esquecer tudo que aprendeu pra comecar estudar Y ou Z?

Repito as palavras da primeira pessoa que respondeu esse topico, vc quer chegar em algum lugar alem de queimar o seu filme, vc que se diz criador de um framework Java?

R

mochuara:
rogelgarcia:
Voltando a origem do tópico…

Rails estão crescendo…

Se tem gente saindo de Java (EE no caso)… ficam as pergutnas: Java está ruim? Tá burocratico? Tá antiprodutivo?

Já que o principal motivo de ir pro rails é produtividade?

Daonde vc tirou que Rails esta crescendo e Java esta em desuso? Esse tipo de coisa não é facil mensurar, qual o embasamento? a sua percepção do mercado apenas?

E mais, porque vc acha que para um crescer tem que canibalizar o mercado do outro? Daonde tirou que alguém precisa abandonar X e esquecer tudo que aprendeu pra comecar estudar Y ou Z?

Repito as palavras da primeira pessoa que respondeu esse topico, vc quer chegar em algum lugar alem de queimar o seu filme, vc que se diz criador de um framework Java?

Bicho … tá dificil viu…

Eu nao falei que está em desuso… Algumas pessoas aqui no tópico disseram que sairam do java… e foram para o rails… e foi baseado nisso que eu falei “Se tem gente saindo de Java (EE no caso)”… nao tem nada de desuso no que eu falei

Novamente eu nao falei que para um crescer tem que canibalizar o mercado do outro… E eu nao falei que precisa abandonar X… o pessoal é que falou que entraram no Y e estao saindo do X…

Cara, voces estao distorcendo tudo que eu falei… adicionando palavras e contextos que nao fui eu quem disse… Acho que rola um certo preconceito aqui… pelo fato de eu ter criado um framework…
Toda discussão que neguinho começa a jogar pedra no que eu digo… em algum momento passa pelo meu framework… e em nenhuma das vezes sou eu quem adiciono esse fato a discussao
Eu nao sei se pelo fato de eu ter criado um framework eu fico impossibilitado de questionar… levantar hipóteses e coisas do tipo…

Eu quero chegar em um meio onde as pessoas me dêem argumentos para que Ruby seja mais produtivo… ao invés de neguinho falar: vc tá falando groselha…

Eu acho que o padrão java, JSF por exemplo… está longe de ser algo produtivo… mesmo porque dá problema até falar chega… e eu juntei esse fato… com o fato de o pessoal que vai pro rails querer algo mais produtivo… e coloquei uma hipótese…
O pessoal tá saindo de Java EE e entrando no Rails, porque o Java EE tá pouco produtivo?
Se o pessoal tivesse conhecimento e firmeza falaria: Sim… é por isso… ou entao… Não… é por tal e tal motivo… e numa terceira opcao… Não… o pessoal entra em rails mas nao sai de java…
Pronto!.. É tão mais fácil…

Acho que quando alguém fala sobre groselha e ets… é porque nao tem conhecimento e argumentos suficientes para propor uma ideia contraria…

M

Ok, esqueca toda essa confusao entao…

O fato é que, Rails é um frameworks web, Java serve para muitas coisas.

É normal que, por isso, Java não seja tão produtivo para web, enquanto Rails que tem como unico proposito criar aplicações web seja mais indicado. Agora, Rails é produtivo pra web graças a linguagem que oferece mais recurso que a linguagem Java. Isso é bem diferente do que vc disse até agora, que o fato do framework ser produtivo não tem a ver com a linguagem. Claro que tem, a linguagem é fundamental para produtividade de frameworks baseados nela.

Eu não sei dizer pra que Java (a linguagem) seria mais produtivo, a não ser consultorias que tem como negocio contratar programadores mediocres e entregar software de baixa qualidade.

L

R

mochuara:
Ok, esqueca toda essa confusao entao…

O fato é que, Rails é um frameworks web, Java serve para muitas coisas.

É normal que, por isso, Java não seja tão produtivo para web, enquanto Rails que tem como unico proposito criar aplicações web seja mais indicado. Agora, Rails é produtivo pra web graças a linguagem que oferece mais recurso que a linguagem Java. Isso é bem diferente do que vc disse até agora, que o fato do framework ser produtivo não tem a ver com a linguagem. Claro que tem, a linguagem é fundamental para produtividade de frameworks baseados nela.

Eu não sei dizer pra que Java (a linguagem) seria mais produtivo, a não ser consultorias que tem como negocio contratar programadores mediocres e entregar software de baixa qualidade.

Certo… agora começamos a conversar então…

Java é uma linguagem e Ruby é outra…

Ruby tem o Ruby on Rails… e Java tem os seus frameworks…

Podemos fazer essa analogia … certo!?

Então comparamos JEE + Frameworks contra Ruby on Rails…

OK…

Isso que eu falei que o fato se ruby ser mais produtivo não se dever a linguagem… foi uma hipótese… levantei uma discussao sobre o assunto… cuja pergunta seria: O Ruby on Rails, é mais produtivo por causa da linguagem? Ou por causa da arquitetura?

Alguns aqui já colocaram seu parecer que é devido a arquitetura, onde Ruby já vem tudo pronto… e Java voce tem que montar a arquitetura, o que gasta tempo e experiencia… Eu, concordo com isso…

Acho que o papel da linguagem na produtividade é coadjuvante num contexto de desenvolvimento de aplicacoes web… E o que importa mais é a arquitetura…

A linguagem vai ajudar, mas não será o motivo principal…

Com isso levantei outra pergunta: Se colocasse-mos Ruby, numa arquitetura utilizando JSF + JPA… seria tão produtivo quanto ruby on rails? Se o fator principal é a linguagem?!

Para essa pergunta, caso a resposta fosse:

  • Não, ruby + jsf + jpa não seria tão produtivo quanto ruby on rails poderiamos verificar que jsf + jpa é que não estão sendo tão produtivos, e que a linguagem não é o fator principal
    ou
  • Sim, ruby + jsf + jpa seria tão produtivo quanto ruby on rails. Então poderiamos pensar que a produtividade seria de fato relacionada a linguagem…

AGORA VAMOS PRESTAR ATENÇAO NA DISTORÇÃO DO QUE EU FALEI EM RELAÇÃO AO QUE VOCE FALOU

eu:
[size=18]Acho[/size] que a diferença de produtividade é mais relacionada a questão do ambiente, frameworks, etc… do que na linguagem em si…

A linguagem ajudamas ela por si só, não muda [size=16]tanto [/size] a produtividade… imagine vc desenvolvendo com todas as tecnologias Java padrão… JSF … JPA… etc… Mas usando Ruby… você acha que seria muito mais produtivo do que usando Java?

OLHA O QUE VC FALOU

Acho que já deu pra ver que tá bem diferente né?!

R

mochuara:
Zaperjava:

Acredito que Ruby on Rails no futuro possa virar , mas hoje o presente é java e .net .

Tudo bem, não há problema nenhum nisto. Mas acontece que diferentes pessoas possuem diferentes percepções sobre o tempo, e para o autor do tópico e muitos outros que tenho conversado ultimamente, linguagens alternativas são uma realidade a serem consideradas para conseguir novas oportunidades, ou simplesmente novos conhecimentos, HOJE. No caso o tópico é para essas pessoas.

Aqui voce falou bem… olha que bacana… um comentário pertinente sem agressão e sem distorçao

Captou exatamente a essência: “Linguagens alternativas são uma realidade a serem consideradas…”

E aí é que eu coloquei a pergunta: Porque?! Será Java uma linguagem defasada? Será que é a arquitetura padrão (JSF + JPA) que está muito complexa? Irão Java e Ruby on Rails viver harmoniosamente? Teremos que aprender as duas plataformas? O Brasil vencerá a copa?!

vlw

:smiley:

S

Ruby e Java são dois mundos diferentes. Ambos tem seu espaço. Ruby é mais poderoso do que Java. Mais dinamico, inteligente, etc. Java é mais conservador, mais robusto e tem a sua VM maravilhosa. Melhor é usar JRuby on Rails e ficar com o melhor dos dois mundos.

Agora discutir qual é melhor não faz sentido. É chover no molhado.

R

Valew saoj

A discussão aqui não é nem qual é o melhor…

E sim, porque motivo está tendo uma crescente no mundo rails?

Vamos dizer assim, que rails está sendo mais adequado as necessidades do que java… Se isso está acontecendo, qual é o fato que faz com que isso aconteça?

Tópicos como esse são meio polemicos pq a galera da religião leva pro lado pessoal, aí sai do escopo… ehehhehe

R

Uma pergunta aqui… uma boa solução, não teria que atender a várias situações?

Por exemplo, se uma plataforma é boa… ela é boa para projetos grandes e pequenos? (Em questão de produtividade, e não só de escalabilidade)

Z

Rails se eu não me engano não tem suporte a multi Threads nativo , por isso os servidores de aplicações java dão de 10 em qualquer aplicação rails que tentar escalar .

Ou rails entra de cara na JVM ( que já estao fazendo ) ou vão cair em desuso.

R

Considerando a opnião do pessoal e a minha… ando lendo uma série de artigos… vendo screen casts… já instalei o ruby estou testando… olhando códigos fonte… e agora estou lendo um livro…

Cada vez mais eu chego a conclusão que JEE (padrão) está totalmente na contra mão … com uma série de frameworks ultra complexos como JSF, EJB, etc…

Enquanto que o futuro está na simplicidade…

Tem um trecho do livro que eu estou lendo… que exemplifica isso (traduçao propria)

Vou dar uma de profeta aqui… e apostar minhas fichas nisso: JEE com CDI (que é o JBoss Seam) + JSF + EJB… vai perder muito espaço…

Acho que o caminho de Java… é pelo Spring…

K

rogelgarcia:
Considerando a opnião do pessoal e a minha… ando lendo uma série de artigos… vendo screen casts… já instalei o ruby estou testando… olhando códigos fonte… e agora estou lendo um livro…

Cada vez mais eu chego a conclusão que JEE (padrão) está totalmente na contra mão … com uma série de frameworks ultra complexos como JSF, EJB, etc…

Enquanto que o futuro está na simplicidade…

Tem um trecho do livro que eu estou lendo… que exemplifica isso (traduçao propria)

Vou dar uma de profeta aqui… e apostar minhas fichas nisso: JEE com CDI (que é o JBoss Seam) + JSF + EJB… vai perder muito espaço…

Acho que o caminho de Java… é pelo Spring…

Bom, sinceramente acho que o JEE é denso pois os problemas que ele se propõe a lidar não são simples. O problema está em usar toda essa força, para resolver pequenas questões.

Quanto ao JSF, aí é gosto. Melhoraram muita coisa na versão 2.0 e está se tornando um ótimo component based. Particularmente trabalhei num projeto grande, com 20 desenvolvedores e muito focado em Telas Web e vi no dia-a-dia o pessoal se virando bem e montando telas de forma rápida. O problema estava pra quem escrevia componentes não existentes, estendê-los ou fazer melhorias…aí o nego tava ferrado !! :smiley:

Eu ainda fico com ActionBased e templates, gosto mais do estilo :slight_smile:

R

Eu tenho pra mim que component based… nao funciona em web…

E tb prefiro action based…

Vou contar minha experiencia, do outro lado… como criador de frameworks…

A primeira versao do next… era um misto de action based, com component based…
Nossa… dava uma série de problemas… nao podia colocar html em qualquer lugar… tinha que seguir determinadas regras… e tal…

A versao dois… já tinha um engine melhor… mas mesmo assim… tinha umas limitacoes

Quando larguei esse negócio de component based… é que o negócio fluiu…

Entre a versao 1 e a versao 3 foram 6 meses… e a versao 3 já tem 5 anos…

O JSF sempre terá que correr atrás de fazer o framework ficar bom… e nunca vai chegar…
Esse negócio de na versão X tem uma série de melhorias… vai existir até o final do JSF…

R

Kenobi:
Particularmente trabalhei num projeto grande, com 20 desenvolvedores e muito focado em Telas Web e vi no dia-a-dia o pessoal se virando bem e montando telas de forma rápida. O problema estava pra quem escrevia componentes não existentes, estendê-los ou fazer melhorias…aí o nego tava ferrado !! :smiley:

Mas com action based e templates… vc nao acha que vc conseguiria a mesma, ou melhor produtividade? E isso, sem o problema da criação dos componentes?

R

Eu acho que uma solução deve ser genérica e funcionar para os problemas simples e complexos… Nos problemas simples, vc escreve pouco… nos complexos vc escreve mais…

O problema está em complicar além do necessário o problema… para então propor uma solucao…

Um exemplo é compararmos o EJB 2 com Spring… O Spring resolve o mesmo problema do EJB, mas nao é tao complicado…

O que está acontecendo com o JEE, é que cada vez aumenta uma camada para resolver problemas que ele mesmo criou… não são problemas de aplicações que estão tentando resolver, e sim problemas da arquitetura…

Uma ferramenta boa, é aquela que diminui o esforço necessário para realizar determinada tarefa… e não adiciona complexidade…

Vamos por exemplo pegar um combobox… no JSF é um parto… é mais facil fazer com JSTL + HTML…

R

Eu me lembro que quando fui aprender EJB… li um livro e quando estava na página 200… é que fiz um hello world…

Tá doido…

E mesmo assim… deu pau… hehehhe

Pra vc ver… EJB 3 é bem melhor que EJB 2… e os dois servem para a mesma coisa…
Então… acho que o fato de resolver um problema complexo… nao necessariamente, requer uma solucao complexa…

K

rogelgarcia:
Eu me lembro que quando fui aprender EJB… li um livro e quando estava na página 200… é que fiz um hello world…

Tá doido…

E mesmo assim… deu pau… hehehhe

Pra vc ver… EJB 3 é bem melhor que EJB 2… e os dois servem para a mesma coisa…
Então… acho que o fato de resolver um problema complexo… nao necessariamente, requer uma solucao complexa…

Isso se chama evolução, lembrando que nos tempos do EJB2 a própria linguagem não tinha metadados (annotations) e um dos projetos precursores disso foi o XDoclet, usado para esse fim.

Outro ponto de referência estava no que havia na época, CORBA.

Pra mim o grande tiro no pé na época se deu por conta dos Entity Beans, pq o resto funcionava bacana - Session Beans, MDB rocks :slight_smile:

R

Nossa… os Entity Beans… eram dureza mesmo…

Mas eu lembro que muuuuuuuuuuita gente usava EJB sem necessidade nenhuma…

Quer dizer… só vi projetos que nao tinham necessidade nenhuma de usar EJB… ehhehe

R

Kenobi:

Isso se chama evolução

Vou discordar um pouco nesse ponto… pelo motivo:

Evolução seria pegar algo que funciona e melhorar…

Outra coisa é voce jogar o que já tem fora… e fazer outro completamente diferente :smiley:

ehheh

Os Session Beans… mesmo assim tinham problemas arquiteturais… se me lembro bem… era necessário no mínimo 2 interfaces, e uma classe para cada EJB… num era isso?
As anotações acho que se existissem naquela época… poderia melhorar… mas mesmo assim… ainda ficaria devendo

(Já viu que eu nao gosto de EJB :smiley: … mas eu já até fui defensor dele… em algum momento da história… )

R

E em algum momento da história… também já gostei de JSF… heheheh

Z

rogelgarcia:
Eu me lembro que quando fui aprender EJB… li um livro e quando estava na página 200… é que fiz um hello world…

Tá doido…

E mesmo assim… deu pau… hehehhe

Pra vc ver… EJB 3 é bem melhor que EJB 2… e os dois servem para a mesma coisa…
Então… acho que o fato de resolver um problema complexo… nao necessariamente, requer uma solucao complexa…

?

Voce tem certeza que vc ja programou com EJB?

F

rogelgarcia:
Kenobi:

Isso se chama evolução

Vou discordar um pouco nesse ponto… pelo motivo:

Evolução seria pegar algo que funciona e melhorar…

Outra coisa é voce jogar o que já tem fora… e fazer outro completamente diferente :smiley:

ehheh

Os Session Beans… mesmo assim tinham problemas arquiteturais… se me lembro bem… era necessário no mínimo 2 interfaces, e uma classe para cada EJB… num era isso?
As anotações acho que se existissem naquela época… poderia melhorar… mas mesmo assim… ainda ficaria devendo

(Já viu que eu nao gosto de EJB :smiley: … mas eu já até fui defensor dele… em algum momento da história… )

Na verdade não seria bem uma evolução, está mais para a demanda de um novo nicho de desenvolvedores, cansados de desenvolvimentos burocráticos, e milhoes de configurações para fazer suas aplicações, sem falar na repetitividade, ou ninguem aqui mecheu com o Spring na versão 2? configurar os beans via XML, aqui era o troço mais repetitivo que eu já vi.

Vi também pessoal falando da comparação do ActiveRecord e do Hibernate, existem diversas, são abordagens diferentes, e sem falar que perdendo o TypeSafe usando ActiveRecord, vc perde por um lado ganha pelo outro, sem falar que aumenta o numero dos testes, para garantir que tal campo so recebe valores de determinado tipo ( se vc não faz isso, começe a fazer).

Vantagens por lado, desvantagens por outro, só acho que o desenvolvimento em java seria muito mais simples se fosse menos burocrático.

R

@Zaperjava… já desenvolvi sim… falei alguma bobagem?

Já trabalhei com Spring na versão 1.0… heheh…

Mas já trabalhava com o Spring usando o Next… e ele já tinha suporte a configuração com annotations então o xml num era tao ruim… nem punha a mão nele… ehhe

O XML da versão 1 era ainda pior… mas mesmo assim… um xml do Spring era infinitamente mais simples do que os XMLs do EJB… apesar do trabalho repetitivo

Eu também concordo com o Felagund… a burocracia é o que mata Java…

Criado 7 de abril de 2010
Ultima resposta 12 de abr. de 2010
Respostas 110
Participantes 23