A União Europeia UE, está a financiar a linguagem Scala, em cinco anos para simplificar a programação paralela.
A equipe de desenvolvimento da linguagem de programação e de código aberto multiparadigme Scala acaba de receber uma subvenção de 2,3 milhões de euros em cinco anos a partir do Conselho Europeu de Investigação, membro da União Europeia. (Google Traduction)
Como esta escrito no artigo, o interesse deles é em “parallel programming”, principalmente com o advento de processadores multicores.
Para fazer o mesmo em Java é muito trabalhoso (uma solução paleativa, nem por isso menos correta é abusar das threads), por isso que o clousures é uma das coisas quentes do Java 8.
[quote]The principle use case for Java closures is parallel programming
[quote=chun]O que closures tem a ver programacao paralela ficar mais facil em java ?
[/quote]
Dependendo da forma como você implementa, os closures podem trabalhar paralelamente sem problemas. Se você tem um closures com recursão e a recursão em si não compartilha estado entre as chamadas, você pode fazer cada chamada recursiva em threads diferentes (ou nós diferentes de algum cluster).
Nem precisa ser recursivo na verdade…
[quote=Flavio Almeida]Como esta escrito no artigo, o interesse deles é em “parallel programming”, principalmente com o advento de processadores multicores.
Para fazer o mesmo em Java é muito trabalhoso (uma solução paleativa, nem por isso menos correta é abusar das threads), por isso que o clousures é uma das coisas quentes do Java 8.
[quote]The principle use case for Java closures is parallel programming
[/quote]
[/quote]
Em java não é tão trabalhoso não. O problema na verdade nem tem sido a linguagem e sim mas sim o “Pensar e Modelar Sistemas Multithread”. Java, desde a 5, provê o pacote java.util.concurrent que te da um aporte para esse tipo de programação.
[quote=giulianocosta][quote=Flavio Almeida]Como esta escrito no artigo, o interesse deles é em “parallel programming”, principalmente com o advento de processadores multicores.
Para fazer o mesmo em Java é muito trabalhoso (uma solução paleativa, nem por isso menos correta é abusar das threads), por isso que o clousures é uma das coisas quentes do Java 8.
[quote]The principle use case for Java closures is parallel programming
[/quote]
[/quote]
Em java não é tão trabalhoso não. O problema na verdade nem tem sido a linguagem e sim mas sim o “Pensar e Modelar Sistemas Multithread”. Java, desde a 5, provê o pacote java.util.concurrent que te da um aporte para esse tipo de programação.[/quote]
É que tem várias coisas que em Scala são imutáveis por padrão (enquanto no Java você tem que explicitamente usar o final, como por exemplo: parâmetros), então fica mais fácil a JVM fazer a concorrência automaticamente.
[quote=Flavio Almeida]Como esta escrito no artigo, o interesse deles é em “parallel programming”, principalmente com o advento de processadores multicores.
Para fazer o mesmo em Java é muito trabalhoso (uma solução paleativa, nem por isso menos correta é abusar das threads), por isso que o clousures é uma das coisas quentes do Java 8.
[quote]The principle use case for Java closures is parallel programming
[/quote]
[/quote]
O que closures tem a ver programacao paralela ficar mais facil em java ? (2)
O fato do scala facilitar a programação paralela é devido a duas coisas: (1) programação funcional e (2) o uso do actor model para programação paralela. Só isso.
Muitas linguagens implementam o actor model hoje em dia.