Olá Pessoal,
Depois que eu li todas as features novas do Java 7, achei muito interessante e fiquei bem animado, pois cada vez irá melhor a linguagem.
O que eu estou percebendo é que alguns esquecem do propósito de cada linguagem, ou seja, para qual finalidade a linguagem foi criada, pois cada criador cria uma linguagem devido à alguma necessidade, seja qualquer uma, tanto pessoal quanto profissional. Este esquecimento atrapalha o entendimento de algumas pessoas e faz cria-se uma “corrente” de pessoas que vão contra algumas característica da linguagem Java.
Todo mundo sabe e todo mundo fala que Java hoje não é mais uma linguagem e sim uma plataforma, e eu concordo com isso. O que eu não concordo é as pessoas se deixarem influênciar pela fama das outras linguagens. Por exemplo, a linguagem Ruby é uma linguagem dinâmica totalmente orientada a objetos, que permite serem criadas DSL’s de uma forma bem fácil, o que torna a linguagem mais flexisível para um melhor aproveitamento do programador. Outro exemplo, a linguagem Scala é uma linguagem com paradigma funcional e orientado a objeto, o que torna a linguagem robusta e também a mesma é melhor de se trabalhar em ambientes multicore. Todos os exemplos acima estão corretos, e eu gosto das duas linguagens que eu citei (Ruby e Scala), o que as pessoas (especificamente desenvolvedores) não podem esquecer é que o fato de Java não ser uma linguagem fácil de se criar DSL, de não criar um Map de uma maneira prática e fácil, etc. não torna a linguagem Java uma linguagem ruim. Desenvolvedores Java não começaram a programar em Java porque a sintaxe de Java é legal, ou porque o HelloWorld do Java é atrativo, e sim pela robustez que a linguagem proporciona na plataforma, ou alguns porque Java é famoso, ou até mesmo porque Java dá dinheiro. Uma sugestão é que ao invéz de reclamar por exemplo que a linguagem Java não tem o mesmo conceito de ‘Open Class’ do Ruby, porque a pessoa não vai de repente conhecer as boas API’s de Java, aprender o java.util.concurrent, aprender como as Threads funcionam de verdade, e se mesmo assim essa pessoa já souber disso e mesmo assim querer implementar o conceito de ‘Open Class’, eu sugiro dar uma olhada no JRuby, que tem a linguagem Ruby 100% implementada para a linguagem Java.
Eu sou muito a favor das linguagens que rodem na JVM, e dou mérito a todas. Tendo estudado a um bom tempo Ruby e Scala. Recentemente foi lançada uma linguagem chamada Mirah (http://www.mirah.org/) , nascida do JRuby que faz tornar a linguagem Ruby rodar na JVM de uma maneira mais fácil e acessível, e alguns dizem que Mirah é Ruby com tipos estáticos. Hoje o portifólio de linguagens é bem grande, cada uma com um propósito. Não podemos esquecer do propósitos das linguagens. Para cada caso existe uma linguagem de programação, e se não existir uma linguagem que abrange os requisitos de um caso, alguem (que viu a necessidade) vai criar uma nova linguagem.
A mensagem que deixo aqui é para você desenvolvedor Java que está chateado com a demora do lançamento do Java 7. Enquanto o Java 7 não sai, porquê não estudar as API’s ou especificações que você ainda não conhece do bom e velho Java 6 ? Não restrigindo apenas para a plataforma SE.
Garanto que existe no mínimo duas ou mais que ainda você não conhece, e que precisa estudar mais nunca parou para isso.
Abraços,
Obs: não estou dando “agulhada” em ninguém certo ? , apenas expressando a minha singela opnião.