All Topics
All Topics
Technology
Technology
Design
Design
Programming
Programming
Science
Science
News
News
Gaming
Gaming
Entertainment
Entertainment
Business
Business
Finance
Finance
Sports
Sports
Health
Health
Food
Food
Travel
Travel
Art
Art
Music
Music
Books
Books
Education
Education
Politics
Politics
Personal
Personal
No algorithm. No AI slop. No ads. Just RSS. Pro-human. Indie writers. Real journalism. Open web. Chronological. Hand toasted.

Analyzing Concurrency Models: How Erlang's Actor Model Still Exhibits Shared State Problems

By

enz

2mo ago· 13 min readenInsight

Summary

The article analyzes concurrency models in programming languages, specifically critiquing message passing approaches. It examines Erlang's actor model as the best case for message passing, comparing it to Go's channels. The author argues that even Erlang's more disciplined mailbox design still exhibits the same fundamental failure modes as shared mutable state, just in different forms. The piece continues a series on what's wrong with current concurrency approaches in programming languages.

Key quotes

· 5 pulled
The actor model has been a significantly influential idea in concurrent programming since Carl Hewitt proposed it in 1973.
Erlang's mailbox design is more disciplined than Go's channels: only the owning process can read from a mailbox, and sends are asynchronous.
Yet the four failure modes of shared mutable state still show up, just in different shapes.
Message Passing Is Shared Mutable State with extra steps.
The honor for 'best case for message passing' probably falls to Erlang.
Snippet from the RSS feed
Erlang's mailbox design is more disciplined than Go's channels: only the owning process can read from a mailbox, and sends are asynchronous. Yet the four failure modes of shared mutable state still show up, just in different shapes.

You might also wanna read