O que você acha do modelo de ator? [fechadas]


18

O modelo de ator usado por Erlang parece ser uma maneira muito diferente de fazer programação simultânea. O que você achou do modelo de ator? Será uma solução popular para simultaneidade?



Este site parece ser muito tendencioso e injusto em relação a várias perguntas baseadas em opiniões. Isso é claramente baseado em opiniões, mas não foi fechado. Outras perguntas baseadas em opinião são encerradas em minutos. Como esse processo pode ser aprimorado e se tornar mais justo?
jordan

Acho o tópico muito interessante, mas, sim, a questão é muito ampla e baseada em opiniões.
Giorgio

Respostas:


7

Eu presumo que você conhece o conceito. Ainda não sei muito bem.

A resposta curta é que acredito na popularidade desse modelo para a simultaneidade a curto e médio prazo. Eu sempre amei lambda e fechamentos e vejo atores como fechamentos especialmente manipulados para fornecer simultaneidade. Assim, os processadores com vários núcleos nos trazem um novo paradigma para a programação; a simultaneidade é obrigatória para obter alto desempenho. O modelo do ator parece o caminho mais fácil para explorar o hardware moderno.

Cedo ou tarde (espero, mais cedo), quase todas as linguagens convencionais suportarão um modelo melhor de concorrência. O modelo IMHO Actor, tão bem implementado em Erlang, deve ser o melhor candidato.

Um obstáculo à popularidade do modelo de ator é a pouca impedância com OOP, o paradigma dominante agora. Mas o primeiro passo está sendo dado, as principais linguagens estão implementando alguns recursos funcionais que limparão o caminho para o modelo do ator.

Estou lendo muito sobre esse assunto, acho muito importante para todos os programadores avançarem em suas habilidades.

Edição tardia:

Agora eu entendo melhor o paradigma. Então, posso dizer que é melhor que uma linguagem de programação permita que o problema seja tratado pelas bibliotecas ou, eventualmente, tenha um recurso para facilitar a adoção de um modelo. Amarrar uma linguagem com apenas um modelo não vê uma boa ideia.


2
Existe impedância entre o modelo do ator e o OOP? Alan Kay baseou Smalltalk em grande parte no PLANNER. Hewitt tirou muito do Smalltalk-72. Joe Armstrong agora chama Erlang "possivelmente a única linguagem OO real".
Frank Shearar

7

"Popular" não é uma métrica muito importante. "Útil" ou "poderoso" é.

O modelo do ator existe há cerca de 35 anos, pelo menos na academia, e foi adotado por mais e mais idiomas do mundo real com o passar do tempo. (OK, Erlang não adotou o modelo de ator, reinventou o modelo de ator. Ainda.)

Então, dado que ele sobreviveu por várias décadas na academia e está se mudando para o mainstream, eu diria que ficará por um bom tempo.


5

Honestamente, acho que é a melhor maneira de fazer simultaneidade. A memória compartilhada com o modelo de bloqueios me assusta, posso ver muitas maneiras pelas quais isso pode dar errado. Atores com passagem de mensagens parecem ser uma maneira muito mais limpa de fazer as coisas.

Veja também o STM, que pode ser usado no Clojure e Haskell e provavelmente em alguns outros idiomas.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.