Vale a pena aprender Ruby?

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

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

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.

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!)

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

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

[quote=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!)
[/quote]
“Olha só, quando você quer falar as coisas certas você consegui né !!!”
:lol: :lol: :lol:

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:

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.

[quote=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.

[/quote] 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.

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.

[quote=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.[/quote]

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.

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,

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

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

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

[quote=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,[/quote]

[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

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

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

Revivendo…

[quote=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…[/quote]

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,

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.