Além do Java

Pegando emprestado o título do antigo blgo da Bani, vamos comentar novamente aqui o meu atual comportamento subversivo.

Quem lê este blog já sabe que ando tendo uma queda por Ruby. O problema é que não é uma linguagem do tipo perl, que você nem se lembra como aprendeu mas sabe usar. Ruby é uma linguagem muito legal, mas com características que já existem em outras:

  • Totalmente OO
  • Closures
  • Altamente Dinâmica
  • Tratamento de Exceções
  • Gerenciamento Automático de Memória
  • Tipagem dinâmica
  • Portável
  • Suporte à RegExp

Mas seus méritos não acabam aí. Neste ponto, podemos comparar Ruby e Python claramente. O grande diferencial é que Ruby surge num momento todo especial.

Java está a dez anos no mercado, e há bastante tempo como soberana das plataformas de desenvolvimento. Saber Java é ter emprego. Mas Java está sofrendo com seu próprio peso.

Antigamente você gostava de usar Java porque era simples ter uma aplicaçãozinha rodando, bastava você escrever um applet, muito mais fácil que mexer com MFC (não confundir com MVC :P). Hoje em dia, fazer qualquer coisa em Java é complexo.

A plataforma cresceu demais, a complexidade aumentou. Eu tenho certeza que por muitos anos vamos programar em Java, e que esta será a única opção real apra muitos por mais tempo ainda, mas não podemos deixar de olhar para o lado. Você conhece o Rails?

Ruby on Rails é um framework que permite fazer aplicações em web Ruby com altíssima qualidade num tempo menor que seu estagiário faz telas em Visual Basic (ok, somos brasileiros e não desistimos nunca, Delphi). Dê uma olhada no infame videozinho (15 minutos não vão te matar).

Sim, Rails serve para aplicações web, não apra todo tipo de aplicação que fazemos em Java EE hoje mas… quantas das aplicações feitas em java EE não são apenas sitezinhos?

Para mim, o poder está na união. O projeto jRuby é uma implementação das versões mais recentes de Ruby (1.8.x) para a JVM (existe também o Jython, para -duh!- Python). Isso é uma estratégia Microsoft? Quase. A Microsoft começou do zero, ela não tinha a estrutura que Java tem hoje, e nem o apoio da comundiade de Software Livre.

Java tem a plataforma pronta. Podemos manter o que é intrinsicamente complexo mas resolver o que é simples de forma simples. Aí entra o Rails.

Gerência automática de memória, portabilidade, tipagem dinâmica, polimorfismo, integração entre linguagens… isso veio apra ficar. Hoje temos uma JVM, mas em breve isso vai estar disponível já no Sistema Operacional, creio. E não há tamanho único em linguagens de programação, do contrário teríamos parado em Assembly. No Golden Hammers here. Aliás, bela analogia…

Se você só tem um martelo, tudo parece prego. Se você tem Java EE, parece que tudo é do jeito Java EE (o que significa hoje um milhão de arquivos XML, três containers diferentes e algumas rezadeiras de plantão 24/7).

Como podem perceber, estou altamente influenciado pelas idéias de Bruce Tate. Para quem não sabe, este semrpe foi um dso advogados do Java lightweight, seu livro Better, Faster, Lighter Java é obrigatório. A Amazon acaba de entregar meu Beyond Java e eu li os dois primeiros capítulos durante minha aula dessa noite.


Beyond Java

Junto com esse livro, comprei outros dois. Referências de Ruby e Rails.


Ruby Book


A plataforma Java vêm mudando para se tornar mais simples, mas mesmo o JCP/Sun já sabem que não adianta mantêr apenas uma linguagem, um jeito de fazer as coisas. Como eu disse no outro post, a mensagem é simples: o mundo está mudando novamente. Saia da zona de conforto. Quando digo isso não estou falando mais com você, leitor, do que comigo mesmo. Com três anos desenvolvendo quase que exclusivamente Java, lendo tudo quanto é livro que podia alcançar sobre as características mais bizarras da plataforma, participando ativamente da comunidade, é muito difícil se mexer, mas eu estou tentando olhar em volta. É estranho, mas não é ruim ;)

Update: Via TSS: IT Observer: A Glimpse at the Future of Programming Languages O’Reilly Releases “Beyond Java”

When a dominant language or technology is in its prime, there’s a blissful ignorance stage. This is the stage when, according to Bruce Tate, ignoring alternatives works in your favor. “When a new language arrives with the power and dominance of a Java or C++, you can afford to ignore alternatives for awhile,” says Tate. “But if you don’t accurately identify the end of the cycles, you can get steamrolled.” He points out that suddenly the competition will have the jump on you, with much better productivity leading to better quality and more customers. “When you enter the transition time,” Tate cautions, “you’d better start paying attention.”

Gracias Leo Gomes ;)

One Response to “Além do Java”

  1. buy flomax says:

    buy flomax

    buy flomax