É melhor ligar o radar para a linguagem Scala:

Bem após um tempo parado devido a diversas coisas que um dia irei explicar (e quem sabe falar sobre o resultado), consegui voltar a estudar, coisa que adoro.  Resolvi aprender uma nova linguagem, dentro dos paradigmas da moda: produtividade, DRY (don’t repeat yourself – não se repita, suggar-sintaxe -sintaxe doce, etc). Das que eu encontrei nesse contexto, resolvi escolher a linguagem Scala.  Já faz um certo tempo que ouço falar dela por alguns conhecidos… em alguns sites como o InfoQ existem artigos interessantes e no site do Artima inclusive pode encontrar uns pdf sobre o assunto (inclusive comprar o livro dos criadores da linguagem).

Acredito que todos que estão aqui lendo já tenham ouvido falar da lei de Moore.  Gordon E. Moore, em 1965, então presidente da Intel, predisse que os processadores, de um modo geral e simplista, iriam dobrar sua capacidade de processamento a cada  2 anos. Isso até então tem sido uma verdade e a Intel uma das maiores responsáveis pela realização da lei. A questão é que estamos chegando a um limite das pastilhas (os chips) : está ficando muito caro aumentar a capacidade deles… Com isso, os fabricantes de microprocessadores decidiram mudar um pouco a estratégia : ao invés de aumentar os transitores de um chip, eu vou é aumentar  número de chips, ou seja,vou trabalhar com microprocessadores de múltiplos núcleos.  Isso já é uma realidade em nossos computadores pessoais (vejam os dual cores, etc).  Com esses sanduíches de chips, os processos passam a ser processados, verdadeiramente, em paralelo ( antes tínhamos um compartilhamento por tempo da cpu : os processos eram enfileirados e cada um na sua vez usava um pouco do processador).

Embora essa realidade de equipamento já esteja disponível para qualquer um hoje, as linguagens, até onde eu sei, principalmente as mais usadas, não tem aproveitado em quase nada essa novidade das placas: fazer uma aplicação multithreading é um grande desafio! Com isso, muitas oportunidades tem se perdido por “limitações” (entenda aqui dificuldades ou um custo muito alto de tempo e recurso para fazer algo) não mais do hardware e sim do software.  Porém, algumas linguagens antigas e outras novas, muitas dessas baseadas nessas velhinhas e seus preceitos,  estão enchendo as mesas dos programadores antenados com seus manuais, livros e tutoriais.  Em sua maioria de paradigma funcional,  através de seus recurso tornam a tarefa de criar uma aplicação multhreading fácil e de baixo custo  e com isso vem ganhando um nicho esquecido e promissor que vem pela frente.

Uma das representantes dessa nova leva, é a linguagem Scala. Scala foi criada dentro da universidade por volta de 2003 e, por incrível que isso soe aos seus ouvidas, baseada na plataforma Java… isso mesmo: JAVA !  Embora ela não seja totalmente funcional – alguns puristas dizem que somente linguagens puramente funcionais serão capazes de trabalhar em paralelo  - ela não deixa nada a desejar e além disso, tenta dá uma forcinha para o JAva acrescentando alguns recursos desejados das linguagens altamente produtivas do momento (ex: Python, Ruby, etc)

Ainda temos poucos livros publicados sobre e pouco material disponível na grande rede. Mas não me assustaria se no ano que vem tivéssemos uma grande explosão em seu pois, no meu entender, ela promete.

Leave a Reply