Realidades Paralelas

Wednesday, January 04, 2006

Como programar em Java

Na plataforma Java, digo, não na linguagem. E a minha resposta é: programando em Scala. É uma linguagem orientada a objetos e funcional, que mistura muito bem os dois paradigmas, gera código para rodar na máquina virtual Java e se integra facilmente com as outras partes da plataforma.

Scala tem funções como cidadãos de primeira classe da linguagem, polimorfismo paramétrico, uma espécie de híbrido de tipos algébricos e hierarquias de classes, tudo bem misturado e consistente. Tem atribuição e a parte imperativa também, de forma que é possível escrever código quase idêntico ao que seria em Java -- mas quem vai querer isso? O importante dessa decisão de projeto é a facilidade de usar classes Java em código Scala: é imediato e não requer nenhum processo, nada de marshalling, pré-processamento, nada. Não é Haskell (a maior falta são tipos de ordem superior; embora seja possível definir mônadas específicas, não é possível definir o conceito de mônadas) mas é muito melhor do que Java. A sintaxe C-like perde um pouco de concisão, mas foi uma decisão consciente para atrair programadores, e não chega a atrapalhar muito. Eu só acho estranho, depois de uns 2 anos programando em OCaml e Haskell, escrever um if sem then.

A partir de agora, sempre que eu precisar criar algum programa para a plataforma Java, será em Scala. Java não é uma linguagem ruim, só é extremamente chata. Sem graça. Além de muito prolixa.

(Na plataforma .NET eu usaria F#. Uma vantagem de F# é a sintaxe, mais agradável para meu gosto atual; uma desvantagem é que a integração com as classes da plataforma .NET é bem menos descomplicada que em Scala.)

1 Comments:

  • hum, vou dar uma olhada no Scala, agora que estou estudando OO com Java talvez eu entenda algo.

    mas não diga que Java é chato ¬¬

    By Anonymous Anonymous, at 9:49 PM  

Post a Comment

<< Home