Archive for the ‘jruby’ Tag

Java language end of life (aka. Java as a platform)?

Deve fazer mais um menos uns 5 anos que a maioria de nós ouvimos falar em Ruby on Rails. De lá pra cá, a adoção da linguagem Ruby e do framework Rails subiu de uma forma surpreendente, ajudando a quebrar um pouco a polarização Java<->.Net que tínhamos antes. É claro que Ruby ainda não atingiu a popularidade Java ou de .Net, principalmente aqui no Brasil, mas mesmo assim ajudou a comunidade como um todo a repensar vários aspectos do desenvolvimento de software, principalmente de aplicações web.

Uma das coisas que a revolução do Ruby on Rails fortaleceu é o uso de outras linguagens na Java Virtual Machine. É claro que antes de surgir o Rails já existiam várias iniciativas para rodar outras linguagens dentro da JVM, mas depois de uns anos pra cá esse assunto ficou cada vez mais importante, pois existe muito interesse em rodar aplicações desenvolvidas usando ferramentas produtivas como Ruby on Rails numa plataforma robusta como Java. Hoje tempos diversas engines que permitem rodar muito bem várias linguagens na JVM, como JRuby, Jython, Clojure, Rhino, Groovy, entre outras… Com essa quantidade de linguagens rodando na JVM, já faz alguns anos que se tem falado em Java como plataforma e não como linguagem.

Eu gosto muito dessa idéia, acho que as vantagens dessa abordagem já foram amplamente discutidas, mas resumindo:

  • Java possui uma das mais avançadas máquinas virtuais do mercado. O just-in-time compiler e o garbage collector da JVM, mesmo não sendo perfeitos, são frutos de anos de pesquisa e desenvolvimento, seria muito difícil implementar uma VM igual do zero para outras linguagens.
  • Existe um enorme legado de aplicações desenvolvidas em Java, utilizando Java como plataforma, novas aplicações em outras linguagens podem aproveitar muito do código já existente.
  • Java também possui excelentes servidores web e application servers bem estabelecidos no mercado

Infelizmente, já se passarem alguns anos que esse tipo de abordagem vem sendo discutida, mas não temos tantas empresas adotando Java como linguagem e não como plataforma. Quase todo mundo que desenvolve na plataforma Java usa a própria linguagem Java. Temos sim muitas empresas desenvolvendo novos projetos em Ruby on Rails, mas na maioria dos casos não estão rodando eles em Java. Pelo menos é o que eu tenho visto na nossa comunidade local.

Um dos motivos para isso é a dobradinha Passenger + Nginx (ou mesmo Apache) tem tido muito sucesso para rodar aplicações Rails. As pessoas não precisam recorrer ao JRuby para rodar aplicações Rails num ambiente com uma performance aceitável. O Passenger tem dado conta do recado.

Eu gostaria muito de ver mais empresas adotando Ruby on Rails, acho que poder reaproveitar código já existe e poder rodar numa infra-estrutura (VM + Application Server) já bem estabelecida são dois fatores que podem facilitar a adoção de Ruby on Rails em empresas que utilizam Java, mas não é algo fácil de ser feito. Ruby tem uma sintaxe diferente, um estilo de programação diferente. Leva algum tempo pegar uma equipe que trabalha muito bem com Java e deixar ela produtiva trabalhando com Ruby on Rails.

Recentemente, a ThoughtWorks recomendou que as empresas comecem a avaliar o “Java language end of life”, ou seja, usar outras linguagens na plataforma Java. Quando eu li essa recomendação achei meio precipitado, mas no fim é uma opção tecnicamente viável e pode trazer muitos ganhos de produtividade.

Eu acho que vai demorar muito até a grande maioria das empresas adotarem outras linguagens mais produtivas que Java, mas se você trabalha com Java tem a liberdade de escolher a tecnologia que você vai usar para desenvolver seus aplicativos, já passou da hora de considerar usar outras linguagens que rodam na JVM.

Eventos: Ruby no Mundo Real

Evento Ruby e Rails no mundo Real 2009 organizado pelo Guru-SP

Evento Ruby e Rails no mundo Real 2009 organizado pelo Guru-SP

Dia 4 de abril de 2009 ocorrerá em São Paulo, na FIAP, o evento Ruby e Rails no Mundo Real. O conteúdo técnico do evento está sendo organizado pelo grupo Guru-sp.

O evento com certeza é de interesse para todos os desenvolvedores, inclusive os que desenvolvem em Java, devido a importância que a linguagem Ruby vem adquirindo de uns anos para cá e que hoje é possível utilizar Ruby nas plataformas Java e .Net com projetos como JRuby  (que será apresentado no evento) e IronRuby.

Muito se fala hoje em Java como plataforma e não mais como linguagem. Podemos dizer que a linguagem Java não esta evoluindo na velocidade que a comunidade espera (eu particularmente gostaria muito de ver closures entrando na linguagem) e muitos tem dúvidas se a Sun (que  é a principal mantenedora da linguagem Java) tem condições de continuar evoluindo a linguagem devido a sua delicada situação financeira.

Eu uso muito a linguagem Groovy no meu dia-a-dia e acompanho com muito interesse a impressionante evolução do JRuby. Depois que você se acostuma com a agilidade destas linguagens, fica até chato voltar a usar uma linguagem, digamos, tradicional 🙂

lula_plantando_uma_rvore

Mesmo que você não acredite em outras linguagens na JVM, Ruby e Ruby on Rails tem tido um crescimento muito interessante no mundo inteiro, e inclusive tem gente prevendo um grande crescimento para o Ruby no Brasil.

Enfim, as palestras parecem muito interessantes, os palestrantes são bons, o evento é num final de semana, num local bem acessível em São Paulo e com um custo relativamente baixo. Eu acho que vale a pena dar um pulo no evento 🙂