Vale a pena aprender Ruby?

43 respostas
Marcio_Nogueira

Olá, trabalho com Java para a web, e nos ultimos meses tenho ouvido falarem muito sobre Ruby. Minha dúvida é: vale apena aprender Ruby atualmente? Qual livro vocês recomendam? Qual o melhor curso? :wink:

43 Respostas

Marcio_Duran

A melhor ferramenta para Web é Ruby on Rails, Java é proporcional perante atividades que envolve um aspecto de infra envolvendo uma característica stand-Alone e não mais orientado web semântica isso é para tecnologias orientado a console programando scripts OO.

danieldestro

Traduz, por favor!

Kenobi

A melhor ferramenta para Web é Ruby on Rails, Java é proporcional perante atividades que envolve um aspecto de infra envolvendo uma característica stand-Alone e não mais orientado web semântica isso é para tecnologias orientado a console programando scripts OO.

Duran, pegou pesado rsss dica : http://www.submarino.com.br/produto/1/1870870/por+que+as+pessoas+de+negocios+falam+como+idiotas :slight_smile:

Caraca, estou tentando entender tudo isso, quebrando por partes … mas tá difícil :slight_smile: 2 cents pra quem traduzir :stuck_out_tongue:

C

Em se tratando de linguagens de programacao qualquer coisa vale a pena aprender, ate Ruby! :twisted:

tnaires

A melhor ferramenta para Web é Ruby on Rails, Java é proporcional perante atividades que envolve um aspecto de infra envolvendo uma característica stand-Alone e não mais orientado web semântica isso é para tecnologias orientado a console programando scripts OO.
Acho que ele quis dizer que Ruby é melhor que Java.

moacirjava

Não concordo muito não, se for assim, o cara começa a estudar tudo o que vê, não fica bom em nenhuma e fica sabendo um pouquinho de tudo.

Acho que tem de focar em duas ou três linguagens no máximo, estudar a fundo cada uma delas e só, imagina vc estudando Phyton, Java, C++, PHP e Ruby On Rails, o cara fica doido…

rissato

acho o RoR uma ótima opção pra um projeto de pequeno/médio porte e que esteja em um ambiente isolado.

aprender ruby e usar ruby sem rails (na minha opinião) não vale a pena, principalmente pela aplicabilidade e curva de aprendizado…

C

Não concordo muito não, se for assim, o cara começa a estudar tudo o que vê, não fica bom em nenhuma e fica sabendo um pouquinho de tudo.

Acho que tem de focar em duas ou três linguagens no máximo, estudar a fundo cada uma delas e só, imagina vc estudando Phyton, Java, C++, PHP e Ruby On Rails, o cara fica doido…

Concordo. Eu quis dizer que dessas 2 ou 3 que vai focar ruby pode ser uma boa escolha pra fazer sites.

Marcio_Nogueira

Mas quais são as vantagens do Ruby? Como posso aprender Ruby de forma rápida e prática? :wink:

Marcio_Duran

Traduz, por favor!

O Rails ou mais conhecido como Ruby on Rails ou RoR é um "meta-framework"
desenvolvido em Ruby e de código aberto assim como Ruby, de cara leva em sua arquitetura o design pattern “MVC” (Model-View-Controller).
O molde MVC oferece vantagens significativas no desenvolvimento de aplicativos, através da separação das camadas, possibilitando implementar com maior facilidade e clareza questões programáticas importantes como a persistência de dados, controle de segurança, comunicação em rede e fluxo de visualização.

O Rails ainda contém 5 outros frameworks:

* Active Record;
* Action Pack;
* Action Mailer;
* Active Support;
* Active WebServices.

Cada um destes “mini-frameworks” está disponível via gem (sistema de gerenciamento de pacotes para Ruby), mas todos eles são baixados e instalados automáticamente quando se instala o gem do Rails.

Um dos grandes problemas de vários frameworks que vejo por aí no mercado é sua configuração complexa baseados em arquivos xml´s, isso deixa em MUITO a desejar para quem esta aprendendo, tornando a curva de aprendizado maior. Em Rails isso praticamente não existe pois a idéia é que no lugar de configurações existem somente convenções facilitando a configuração do banco de dados e outros.

Outro ponto forte do rails é o DRY (Don’t Repeat Yourself, Não se repita) é o conceito por trás da técnica de definir nomes, propriedades e códigos em somente um lugar e reaproveitar essas informações em outros. Por exemplo, ao invés de ter uma tabela Produtos e uma classe Produto com uma propriedade um método “acessador” (getter) e um “mutador” (setter) para cada campo na tabela tem-se apenas no banco de dados. As propriedades e métodos necessários são “injetados” na classe através de funcionalidades da linguagem Ruby.

Com isso, economiza-se tempo, já que não é necessário alterar a tabela, o “bean”, o “form bean”, o “local home”, o “home”, o “session”, … Alterando apenas no banco de dados, [color=blue]tudo o que se baseia nessas informações são atualizadas automaticamente.[/color]

Mauricio_Linhares

Bem, depende muito da sua “vontade”, mas eu comecei com o “Agile Web Development With Rails” e com o Programming Ruby do lado pra ajudar a tiras as dúvidas da linguagem que surgiam com a leitura do livro de Rails.

Se você estiver realmente interessado, eu indicaria também a compra desses outros:

Com isso você já vai longe em Ruby e Rails, depois é só procurar os livros e materiais mais exóticos. Obviamente, todo esse material pode ser encontrado na internet, mas ter tudo junto e organizado em um livro só sempre ajuda.

Marcio_Duran

Kenobi:
[Marcio Duran]
Caraca, estou tentando entender tudo isso, quebrando por partes … mas tá difícil :slight_smile: 2 cents pra quem traduzir :stuck_out_tongue:

Bom veja se ficou melhor !!! :lol: :lol: :lol:

Mauricio_Linhares

Antes que pareça que o Duran escreveu esse texto aí de cima, ele retirou ele daqui -> http://blog.egenial.com.br/?p=3

Aprenda a citar as fontes dos textos que você copia rapaz, plágio é crime.

Marcio Duran:
O Rails ou mais conhecido como Ruby on Rails ou RoR é um "meta-framework"
desenvolvido em Ruby e de código aberto assim como Ruby, de cara leva em sua arquitetura o design pattern “MVC” (Model-View-Controller).
O molde MVC oferece vantagens significativas no desenvolvimento de aplicativos, através da separação das camadas, possibilitando implementar com maior facilidade e clareza questões programáticas importantes como a persistência de dados, controle de segurança, comunicação em rede e fluxo de visualização.

O Rails ainda contém 5 outros frameworks:

* Active Record;
* Action Pack;
* Action Mailer;
* Active Support;
* Active WebServices.

Cada um destes “mini-frameworks” está disponível via gem (sistema de gerenciamento de pacotes para Ruby), mas todos eles são baixados e instalados automáticamente quando se instala o gem do Rails.

Um dos grandes problemas de vários frameworks que vejo por aí no mercado é sua configuração complexa baseados em arquivos xml´s, isso deixa em MUITO a desejar para quem esta aprendendo, tornando a curva de aprendizado maior. Em Rails isso praticamente não existe pois a idéia é que no lugar de configurações existem somente convenções facilitando a configuração do banco de dados e outros.

Outro ponto forte do rails é o DRY (Don’t Repeat Yourself, Não se repita) é o conceito por trás da técnica de definir nomes, propriedades e códigos em somente um lugar e reaproveitar essas informações em outros. Por exemplo, ao invés de ter uma tabela Produtos e uma classe Produto com uma propriedade um método “acessador” (getter) e um “mutador” (setter) para cada campo na tabela tem-se apenas no banco de dados. As propriedades e métodos necessários são “injetados” na classe através de funcionalidades da linguagem Ruby.

Com isso, economiza-se tempo, já que não é necessário alterar a tabela, o “bean”, o “form bean”, o “local home”, o “home”, o “session”, … Alterando apenas no banco de dados, [color=blue]tudo o que se baseia nessas informações são atualizadas automaticamente.[/color]

Marcio_Duran

Mauricio Linhares:
Antes que pareça que o Duran escreveu esse texto aí de cima, ele retirou ele daqui -> http://blog.egenial.com.br/?p=3

Aprenda a citar as fontes dos textos que você copia rapaz, plágio é crime.


:thumbdown:
“Vai aprender o que é plágio para depois você firmar sua colocação” , [color=blue]pior é um ignorante passando por intelectual[/color].

kruger

acho q vale muito a pena…
li o The Ruby Way para entender os fundamentos da linguagem…e quebrei alguns paradigmas formados por anos programando apenas em java… :slight_smile:
agora estou estudando Rails com Agile Web Development with Rails

peczenyj

Citando Fontes:

http://blog.fragmental.com.br/2007/10/02/ruby-ou-rails/

É assim que se participa de uma discussão: sem agressões ou provocações. É claro que, de vez em quando, algum desrespeito é cometido, como postar um texto como se fosse SEU mas é de autoria de OUTRA PESSOA. Se vale a pena aprender Ruby? Acho que vale mais a pena praticar e discutir aspectos técnicos do que perder tempo com discussões amplas demais. Aprender uma nova linguagem abre a nossa mente, entretanto alguns tipos de discussão abrem tanto a mente que o cérebro escorre pro chão, portanto mão na massa :slight_smile:

Marcio_Duran

Vamos entender uma coisa, autoria de matéria intelectual é uma publicação registrada e autorizada, tendo disponível em sites que lhe torne de uso publico isso é fonte de pesquisa e não de apropriação, querer dizer de onde o conteúdo vem ou postar link de matéria publica isso é parte de quem quer ou não dispor por livre e espontânea vontade sendo em fórum público ainda mais não pago por esta aqui e não me pagam patrocinar ninguem, sendo assim o mesmo texto foi localizado por quem afirmou em dizer sobre plagio, em não entender o que é de fato apropriar-se de uso ou obra intelectual em benefício próprio.

peczenyj

:idea: Blablablabla.

:arrow: Indique a fonte e pare de encher o saco.

Marcio_Duran

peczenyj:
:idea: Blablablabla.

:arrow: Indique a fonte e pare de encher o saco.

:lol: :lol: :lol: http://marcioduran.wordpress.com , ai tem assuntos interessantes também a parte de Ruby ainda vou disponibilizar, claro o blog esta sempre em constantes mudanças mas qualquer dica saudável é bem vinda :thumbup:

Dieval_Guizelini

Senhores,

estamos realizando estudos sobre o RoR a algum tempo, e disponibilizamos uma série de materiais em nosso site.

http://www.tsi.ufpr.br/course/view.php?id=83

O material em questão foi coletado pelo aluno do Curso de Tecnologia de Sistema de Infomração da UFPR.

att

S

Logo percebi. Um texto sem vírgulas aleatórias e com frases que fazem sentido não poderia ser dele.

Marcio_Nogueira, você também pode baixar um livro grátis do InfoQ: http://www.infoq.com/minibooks/ruby

Kenobi

Bom, eu tirei um baratinho do Duran com a frase, pois me matei de rir e alegrou meu dia :slight_smile: Mas vamos voltar e responder.

Entendo que o Ruby foi trazido à tona através do excelente framework Rails e hoje uma das maiores características de não uso por muitos - ThreadSafe foi superado por Josh Peek, mais detalhes - http://www.akitaonrails.com/2008/8/17/tradu-o-o-que-rails-2-2-thread-safe-significa

Mas existem outros projetos, só para falar de Web, MVC há o Merb, para quem pretende utilizar outros frameworks ORM , sem estar atrelado ao ActiveRecord por exemplo.

Hoje em dia vejo Ruby migrando também para projetos Enterprise, com o Passanger - http://blog.phusion.nl/2008/06/09/phusion-passenger-20-rc-1-and-ruby-enterprise-edition-released dá pra pensar em desenvolver produtos como SCA, implementação de ESB na própria linguagem, já que os analisadores XML são mais naturais na linguagem por exemplo.

Finandando, vale sim à pena estudar a linguagem e contribuir para o crescimento da plataforma, visando produtividade. Não vejo Ruby somente para solução de problemáticas WEB, apesar da linguagem ser dinâmica e perder em performance para linguagens estáticas, acredito que à medida que o poder de processamento aumenta, muitas soluções podem ser criadas com um custo infinitamente menor.

Outro ponto são as atuais VMs que incorporarão linguagens dinâmicas como Ruby, Python e por aí vai.

Isto signfica que a linguagem também deverá ser adotada no ambiente Enterprise, soluções de integração por exemplo.

Mauricio_Linhares

Rapaz, pra integração de sistemas eu não consigo ver nada melhor, linguagens de script tem um turnover muito pequeno e as ferramentas de teste disponíveis ajudam você a mudar sem ficar se descabelando com os possíveis bugs, não vejo motivos hoje pra se iniciar novos sistemas sem ser numa linguagem dessas, especialmente Ruby que já roda na JVM melhor do que no Ruby feito em C.

Quanto ao aprendizado, Ruby pra programadores Java com certeza é um ótimo negócio, a linguagem tem diversas características interessantes e muitas soluções diferentes pra problemas que nós encontramos comumente em Java, como já disseram, aprender Ruby ajuda a abrir a mente de alguém que ficou por muito tempo exposto a radioatividade do Java :slight_smile: (brincadeirinha!)

Marcio_Duran

Schuenemann:

Logo percebi. Um texto sem vírgulas aleatórias e com frases que fazem sentido não poderia ser dele.

Bom saber que você tem prestado atenção :lol: :lol: :lol: :lol:

Marcio_Duran

Mauricio Linhares:

Quanto ao aprendizado, Ruby pra programadores Java com certeza é um ótimo negócio, a linguagem tem diversas características interessantes e muitas soluções diferentes pra problemas que nós encontramos comumente em Java, como já disseram, aprender Ruby ajuda a abrir a mente de alguém que ficou por muito tempo exposto a radioatividade do Java :slight_smile: (brincadeirinha!)

“Olha só, quando você quer falar as coisas certas você consegui né !!!”
:lol: :lol: :lol:

peczenyj

Aproveitando para postar algo de util:

http://eustaquiorangel.com/downloads/tutorialruby.pdf

Aviso: a proxima sequencia inutil de :lol: :lol: :lol: sera apagada sem dó. Sejam adultos :wink:

Mauricio_Linhares

Outro lugar pra aprender é no Ruby Quiz, lá tem um bocado de algoritmos (famosos ou não) implementados em Ruby, dá pra pegar um “feel” da linguagem.

SpeedRace.Claude

Marcio Duran:
O Rails ou mais conhecido como Ruby on Rails ou RoR é um "meta-framework"
desenvolvido em Ruby e de código aberto assim como Ruby, de cara leva em sua arquitetura o design pattern “MVC” (Model-View-Controller).
O molde MVC oferece vantagens significativas no desenvolvimento de aplicativos, através da separação das camadas, possibilitando implementar com maior facilidade e clareza questões programáticas importantes como a persistência de dados, controle de segurança, comunicação em rede e fluxo de visualização.

O Rails ainda contém 5 outros frameworks:

* Active Record;
* Action Pack;
* Action Mailer;
* Active Support;
* Active WebServices.

Onde posso ler mais sobre MVC aqui no fórum? Será que você poderia falar mais sobre o assunto?
Estou fazendo o curso de Web_Designer para depois trabalhar na parte de “view” em conjunto com outros colegas. Me disseram que irei trabalhar com JSP no lugar de PHP e ASP. Na conversa, surgiu os nomes Tomcat e Velocity.

dlt

Experimente usar a busca.

Quantos aos frameworks, existem várias possibilidades além dos que vc citou (e grandes polêmicas em relação a qual é o melhor). Uma boa é vc pesquisar vários deles aqui no guj e no google e ver qual te atende melhor.
Pessoalmente eu prefiro frameworks que não necessitem de muita configuração inicial.

Dois frameworks bem conhecidos aqui no guj são o mentawai e o vraptor.

Marcio_Duran

SpeedRace.Claude:

Onde posso ler mais sobre MVC aqui no fórum? Será que você poderia falar mais sobre o assunto?
Estou fazendo o curso de Web_Designer para depois trabalhar na parte de “view” em conjunto com outros colegas. Me disseram que irei trabalhar com JSP no lugar de PHP e ASP. Na conversa, surgiu os nomes Tomcat e Velocity.

Não confuda responsabilidades, WEbDesigner ou querer achar que tier presentation é algo que não se vincula com o todo n-tiers, JSP PHP e ASP você ai pode ter tanto uso no cliente como no servidor, quanto aos containers webs isso também vai depender da estratégia arquitetada ou a forma que a produção já se encontra, se vai ser J2EE ou outra especificação isso não é naturalmente de sua responsabilidade, o que percebo que é você não sabe onde vc se situa na produção.
Você precisa entender varios Frameworks para depois ir para os enxutos,não é em todos os projetos que você irá usar o controller Vraptor então eu sugiro muito mais muita pesquisa mesmo, se for o caso faça curso com quem já entende e vivenciou esse meio de produção não é só livro que vai lhe posicionar sobre questões de desenvolvimento.

pimenta

Marcio Nogueira,

Trabalho com você e inclusive sento do seu lado, mas vou te responder por aqui. (iuahaiuhaih)
A experiência que tenho com Ruby é pequena, cerca de seis meses, mesmo assim vou me arriscar a falar algo aqui.

São duas coisas distintas que se confundem em uma só: Ruby e Ruby on Rails.

Ruby on Rails, que muitas pessoas chamam somente de Rails, é um framework para desenvolvimento web para Ruby feito em Ruby. É muito produtivo e fácil de aprender. É composto por cinco módulos, se não me engano.

Ruby em si é uma linguagem com sintaxe muito simples e direta e, pra quem gosta de programar, até divertida (frase meio batida em se tratando de Ruby). Me parece que um dos conceitos utilizados no Ruby virá no JSE7, como as closures, que são, a grosso modo, blocos de instruções que podem ser passados como parâmetros para métodos.

Ruby ainda tem alguns problemas como o GC dela que ainda é o mark-and-sweep, que é lento e, por ser uma linguagem interpretada é mais lenta por si só. Pelos posts e artigos que andei lendo ultimamente esses dois problemas serão minimizados com o release do que seria o RubyEE e de uma ferramenta para geração de bytecode, assim como o javac.

Num geral acho que vale sim muito a pena investir um pouco do tempo em Ruby, até porque se eu não achasse isso eu não estaria investindo meu tempo nisso.

Abraços,

Mauricio_Linhares

Cara, você trabalha com o márcio duran? Sério mesmo?

aleck

Também achei isso, mas depois olhei novamente e vi que ele estava falando com o criador do topico. Quase tive um treco :o

pimenta

Como não “quotei” ninguém achei que fossem entender que eu estava falando do Marcio Nogueira, mas vou editar.
Mal aí, campeões!

Marcio_Duran

pimenta:

Ruby ainda tem alguns problemas como o GC dela que ainda é o mark-and-sweep, que é lento e, por ser uma linguagem interpretada é mais lenta por si só. Pelos posts e artigos que andei lendo ultimamente esses dois problemas serão minimizados com o release do que seria o RubyEE e de uma ferramenta para geração de bytecode, assim como o javac.

Num geral acho que vale sim muito a pena investir um pouco do tempo em Ruby, até porque se eu não achasse isso eu não estaria investindo meu tempo nisso.

Abraços,

[color=red]“Ruby ainda tem alguns problemas como o GC dela que ainda é o mark-and-sweep”[/color]

Conversando com Evan Phoenix, leia aqui muito bom !!! [size=18]; )[/size]

:arrow: http://www.akitaonrails.com/2008/2/11/conversando-com-evan-phoenix

Marcio_Duran

:lol: Amigo do Zé Coméia, como posso lhe ser útil… [size=24] ; )[/size]

Marcio_Duran

Fala ai Catatau !!! :lol: :lol: :lol:

pimenta

Revivendo…

rissato:
acho o RoR uma ótima opção pra um projeto de pequeno/médio porte e que esteja em um ambiente isolado.

aprender ruby e usar ruby sem rails (na minha opinião) não vale a pena, principalmente pela aplicabilidade e curva de aprendizado…

Concordo com uase tudo que disse, mas pecou no final. A curva de aprendizado para Ruby sem Rails é muito menor do que para aprender Java. Ruby vai crescer muito ainda quando forem resolvidos seus problemas. E não acredito que leve muito tempo.

Abraços,

Andre_Brito

Cara, rachei de rir! hauhauha.

Bom, na minha opinião, mesmo eu não sabendo Ruby, acho que vale a pena aprender.
Depende da pessoa, do gosto e blá blá blá. Então eu posso dizer que a minha seqüência de aprendizado estaria assim: C++, Java, Ruby (e C# posteriormente). Além disso, eu também apoio a pessoa que falou que é melhor aprender duas, três linguagens e procurar entendê-las de cabo a rabo (estava conversando com um membro aqui do forum e ele me falou a mesma coisa).

Ultimamente, tenho visto 3 linguagens que estão ficando populares (acrescentem ou retirem, se vocês acharem interessante): Ruby, Python e Groovy. Não conheço nenhuma das três, mas assim que eu tiver um domínio legal sobre C++, vou pegar uma dessas (provavelmente Ruby).

Abraço.

W

Acho que vale a pena aprender qualquer linguagem (desde que nao seja do tempo dos dinossauros).
Na minha opiniao aprender uma linguagem te ajuda a ser um bom programador em outras linguagens tb. Desde quando eu comecei a desenvolver em C# eu melhorei bastante em Java provavelmente Java me ajuda no C# tb.

Eu estou estudando paralelamente Ruby e objective C (pra desenvolver app pra iPhone) :slight_smile:

//Daniel

Fabio_Kym_Nascimento

Eu peguei o RoR pra aprender a pouco tempo pra aplicar um projeto WEB de medio porte que inicialmente eu planejava portar pra Java (Foi feito e PHP a primeira versao). e posso te dizer que estou gostando muito! As idéias do Ruby são fabulosas, a sintaxe é a mais “cool” que eu ja vi e a famosa curva de aprendizado pra quem já programa a algum tempo é bem tenue.

O que mais me chama a atenção no RoR é a possibilidade de escrever tudo em Ruby e não precisar usar XML’s pra tudo. Eu acho chato d+ escolher tecnologias pra trabalhar com Java, tem muiiiiiiiiiitas opções e cada uma trabalha de uma forma, voce acaba tendo que aprender pseudo-linguagens toda hora e se muda a tecnologia/framework tem que aprender tudo de novo (claro que existem as semalhanças). Outra sacada legal do RoR é o script/generate que padroniza a estrutura da sua aplicação e cria tudo baseado nas convenções do RoR, assim você não tem que decorar tudo pra começar.

“Valer a pena” é muito amplo, eu acho que algo vale a pena pelo conhecimento, não pretendo ganhar dinheiro (ainda) com o RoR e to gostando muito do que to vendo. Recomendo. Estou lendo o livro Rails for PHP Programmers que é muito bom.

[]

Mauricio_Linhares

Acho que o problema do Java não é a falta de escolhas, é o excesso de escolhas ruins :slight_smile:

Marcio_Duran

O problema é uma omissão da informação e não fazer uma avaliação justa por interesses comerciais sobre uma tecnologia e outra.

Criado 6 de novembro de 2008
Ultima resposta 28 de dez. de 2008
Respostas 43
Participantes 20