Library · paper

Communicating Sequential Processes

C.A.R. Hoare
1978·Communications of the ACM

Fuente: https://dl.acm.org/doi/10.1145/359576.359585

The paper that originated the concurrency model behind Go, Erlang, and large parts of Rust. Hoare proposed that parallel processes should communicate by passing messages through channels rather than sharing memory — an idea so good that the industry took forty years to adopt it widely. The formalism is precise but the core insight is intuitive: coordinating independent agents is safer when they talk to each other than when they reach into each other's state. Every modern distributed system, every microservice boundary, every event-driven architecture traces back to this paper. For product leaders managing teams that build concurrent systems, CSP explains why some architectural decisions make failures catastrophic and others make them recoverable.

software-engineeringcomplexitycraftclassics